ABAP Syntax Highlight
approvedby 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
- Download
main.js,manifest.json, andstyles.cssfrom the latest release. - Copy them into
<YourVault>/.obsidian/plugins/abap-syntax-highlight/. - 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```abapblocks in Reading view viaregisterMarkdownCodeBlockProcessor.abap-live-preview.ts— a CodeMirror 6 extension that highlights```abapblocks in the editor.main.ts— plugin entry point, wires the two above.
License
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.