org.vim (2907B)
1 " Vim syntax file 2 " Language: Org 3 " Previous Maintainer: Luca Saccarola <github.e41mv@aleeas.com> 4 " Maintainer: This runtime file is looking for a new maintainer. 5 " Last Change: 2025 Aug 05 6 " 7 " Reference Specification: Org mode manual 8 " GNU Info: `$ info Org` 9 " Web: <https://orgmode.org/manual/index.html> 10 11 " Quit when a (custom) syntax file was already loaded 12 if exists("b:current_syntax") 13 finish 14 endif 15 let b:current_syntax = 'org' 16 17 syn case ignore 18 19 " Bold 20 syn region orgBold matchgroup=orgBoldDelimiter start="\(^\|[- '"({\]]\)\@<=\*\ze[^ ]" end="^\@!\*\([^\k\*]\|$\)\@=" keepend 21 hi def link orgBold markdownBold 22 hi def link orgBoldDelimiter orgBold 23 24 " Italic 25 syn region orgItalic matchgroup=orgItalicDelimiter start="\(^\|[- '"({\]]\)\@<=\/\ze[^ ]" end="^\@!\/\([^\k\/]\|$\)\@=" keepend 26 hi def link orgItalic markdownItalic 27 hi def link orgItalicDelimiter orgItalic 28 29 " Strikethrogh 30 syn region orgStrikethrough matchgroup=orgStrikethroughDelimiter start="\(^\|[ '"({\]]\)\@<=+\ze[^ ]" end="^\@!+\([^\k+]\|$\)\@=" keepend 31 hi def link orgStrikethrough markdownStrike 32 hi def link orgStrikethroughDelimiter orgStrikethrough 33 34 " Underline 35 syn region orgUnderline matchgroup=orgUnderlineDelimiter start="\(^\|[- '"({\]]\)\@<=_\ze[^ ]" end="^\@!_\([^\k_]\|$\)\@=" keepend 36 37 " Headlines 38 syn match orgHeadline "^\*\+\s\+.*$" keepend 39 hi def link orgHeadline Title 40 41 " Line Comment 42 syn match orgLineComment /^\s*#\s\+.*$/ keepend 43 hi def link orgLineComment Comment 44 45 " Block Comment 46 syn region orgBlockComment matchgroup=orgBlockCommentDelimiter start="\c^\s*#+BEGIN_COMMENT" end="\c^\s*#+END_COMMENT" keepend 47 hi def link orgBlockComment Comment 48 hi def link orgBlockCommentDelimiter Comment 49 50 " Lists 51 syn match orgUnorderedListMarker "^\s*[-+]\s\+" keepend 52 hi def link orgUnorderedListMarker markdownOrderedListMarker 53 syn match orgOrderedListMarker "^\s*\(\d\|\a\)\+[.)]\s\+" keepend 54 hi def link orgOrderedListMarker markdownOrderedListMarker 55 " 56 " Verbatim 57 syn region orgVerbatimInline matchgroup=orgVerbatimInlineDelimiter start="\(^\|[- '"({\]]\)\@<==\ze[^ ]" end="^\@!=\([^\k=]\|$\)\@=" keepend 58 hi def link orgVerbatimInline markdownCodeBlock 59 hi def link orgVerbatimInlineDelimiter orgVerbatimInline 60 syn region orgVerbatimBlock matchgroup=orgVerbatimBlockDelimiter start="\c^\s*#+BEGIN_.*" end="\c^\s*#+END_.*" keepend 61 hi def link orgVerbatimBlock orgCode 62 hi def link orgVerbatimBlockDelimiter orgVerbatimBlock 63 64 " Code 65 syn region orgCodeInline matchgroup=orgCodeInlineDelimiter start="\(^\|[- '"({\]]\)\@<=\~\ze[^ ]" end="^\@!\~\([^\k\~]\|$\)\@=" keepend 66 highlight def link orgCodeInline markdownCodeBlock 67 highlight def link orgCodeInlineDelimiter orgCodeInline 68 syn region orgCodeBlock matchgroup=orgCodeBlockDelimiter start="\c^\s*#+BEGIN_SRC.*" end="\c^\s*#+END_SRC" keepend 69 highlight def link orgCodeBlock markdownCodeBlock 70 highlight def link orgCodeBlockDelimiter orgCodeBlock 71 72 " vim: ts=8 sts=2 sw=2 et