ABAP Syntax Highlight

approved

by Laurin Sorgend

Adds ABAP syntax highlighting to fenced abap code blocks in Reading view and while editing. - This plugin has not been manually reviewed by Obsidian staff.

38 downloadsUpdated 17d agoMIT

ABAP Syntax Highlight

Adds ABAP syntax highlighting to ```abap fenced code blocks in Obsidian, both in Reading view and while editing (Live Preview / Source mode).

Features

  • Highlights ABAP keywords, strings ('...', `...`, |...| string templates), comments (* line comments and inline " comments), pragmas (##...), numbers, and operators.
  • Works in Reading view and in the editor, using Obsidian's theme CSS variables so colors match your active theme in both light and dark mode.
  • No network access, no telemetry, no external dependencies bundled into the plugin.

Example

```abap
REPORT zz_test_report.

DATA: lv_name TYPE string.

IF lv_name IS INITIAL.
  lv_name = |Hello { sy-uname }|. " inline comment
ENDIF.
```

Installation

From the Community Plugins directory

Once available in Obsidian's Community Plugins directory: open Settings → Community plugins → Browse, search for "ABAP Syntax Highlight", and select Install, then Enable.

Manually

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Copy them into <YourVault>/.obsidian/plugins/abap-syntax-highlight/.
  3. Reload Obsidian and enable the plugin under Settings → Community plugins.

Development

npm install
npm run dev    # watch mode
npm run build  # type-check + production build
npm run lint   # eslint

Source lives in src/:

  • abap-tokenizer.ts — the shared ABAP token rules used by both rendering paths.
  • abap-reading-view.ts — renders highlighted ```abap blocks in Reading view via registerMarkdownCodeBlockProcessor.
  • abap-live-preview.ts — a CodeMirror 6 extension that highlights ```abap blocks in the editor.
  • main.ts — plugin entry point, wires the two above.

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.