neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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