scdoc.vim (2743B)
1 " Syntax file for scdoc files 2 " Maintainer: Gregory Anders <contact@gpanders.com> 3 " Last Updated: 2022-05-09 4 " Upstream: https://github.com/gpanders/vim-scdoc 5 6 if exists('b:current_syntax') 7 finish 8 endif 9 let b:current_syntax = 'scdoc' 10 11 syntax match scdocFirstLineError "\%^.*$" 12 syntax match scdocFirstLineValid "\%^\S\+(\d[0-9A-Za-z]*)\%(\s\+\"[^"]*\"\%(\s\+\"[^"]*\"\)\=\)\=$" 13 14 syntax region scdocCommentError start="^;\S" end="$" keepend 15 syntax region scdocComment start="^; " end="$" keepend 16 17 syntax region scdocHeaderError start="^#\{3,}" end="$" keepend 18 syntax region scdocHeader start="^#\{1,2}" end="$" keepend 19 20 syntax match scdocIndentError "^[ ]\+" 21 22 syntax match scdocLineBreak "++$" 23 24 syntax region scdocOrderedListItem matchgroup=scdocOrderedListMarker start="^\z(\s*\)\." skip="^\z1 .*$" end="^" contains=scdocBold,scdocUnderline 25 syntax region scdocListItem matchgroup=scdocListMarker start="^\z(\s*\)-" skip="^\z1 .*$" end="^" contains=scdocBold,scdocUnderline 26 27 " Tables cannot start with a column 28 syntax match scdocTableError "^:" 29 30 syntax region scdocTable matchgroup=scdocTableEntry start="^[\[|\]][\[\-\]<=>]" end="^$" contains=scdocTableEntry,scdocTableError,scdocTableContinuation,scdocBold,scdocUnderline,scdocPre 31 syntax match scdocTableError "^.*$" contained 32 syntax match scdocTableContinuation "^ \+\S\+" contained 33 syntax match scdocTableEntry "^[|:][\[\-\]<=> ]" contained 34 syntax match scdocTableError "^[|:][\[\-\]<=> ]\S.*$" contained 35 36 syntax region scdocBold concealends matchgroup=scdocBoldDelimiter start="\\\@<!\*" end="\\\@<!\*" 37 syntax region scdocUnderline concealends matchgroup=scdocUnderlineDelimiter start="\<\\\@<!_" end="\\\@<!_\>" 38 syntax region scdocPre matchgroup=scdocPreDelimiter start="^\t*```" end="^\t*```" 39 40 syntax sync minlines=50 41 42 hi default link scdocFirstLineValid Comment 43 hi default link scdocComment Comment 44 hi default link scdocHeader Title 45 hi default link scdocOrderedListMarker Statement 46 hi default link scdocListMarker scdocOrderedListMarker 47 hi default link scdocLineBreak Special 48 hi default link scdocTableSpecifier Statement 49 hi default link scdocTableEntry Statement 50 51 hi default link scdocFirstLineError Error 52 hi default link scdocCommentError Error 53 hi default link scdocHeaderError Error 54 hi default link scdocIndentError Error 55 hi default link scdocTableError Error 56 hi default link scdocTableError Error 57 58 hi default link scdocPreDelimiter Delimiter 59 60 hi default scdocBold term=bold cterm=bold gui=bold 61 hi default scdocUnderline term=underline cterm=underline gui=underline 62 hi default link scdocBoldDelimiter scdocBold 63 hi default link scdocUnderlineDelimiter scdocUnderline