1" Syntax file for scdoc files 2" Maintainer: Gregory Anders <[email protected]> 3" Last Updated: 2021-08-04 4 5if exists('b:current_syntax') 6 finish 7endif 8let b:current_syntax = 'scdoc' 9 10syntax match scdocFirstLineError "\%^.*$" 11syntax match scdocFirstLineValid "\%^\S\+(\d[0-9A-Za-z]*)\%(\s\+\"[^"]*\"\%(\s\+\"[^"]*\"\)\=\)\=$" 12 13syntax region scdocCommentError start="^;\S" end="$" keepend 14syntax region scdocComment start="^; " end="$" keepend 15 16syntax region scdocHeaderError start="^#\{3,}" end="$" keepend 17syntax region scdocHeader start="^#\{1,2}" end="$" keepend 18 19syntax match scdocIndentError "^[ ]\+" 20 21syntax match scdocLineBreak "++$" 22 23syntax match scdocOrderedListMarker "^\s*\.\%(\s\+\S\)\@=" 24syntax match scdocListMarker "^\s*-\%(\s\+\S\)\@=" 25 26syntax match scdocTableStartMarker "^[\[|\]][\[\-\]]" 27syntax match scdocTableMarker "^[|:][\[\-\] ]" 28 29syntax region scdocBold concealends matchgroup=scdocBoldDelimiter start="\\\@<!\*" end="\\\@<!\*" 30syntax region scdocUnderline concealends matchgroup=scdocUnderlineDelimiter start="\<\\\@<!_" end="\\\@<!_\>" 31syntax region scdocPre matchgroup=scdocPreDelimiter start="^\t*```" end="^\t*```" 32 33hi link scdocFirstLineValid Comment 34hi link scdocComment Comment 35hi link scdocHeader Title 36hi link scdocOrderedListMarker Statement 37hi link scdocListMarker scdocOrderedListMarker 38hi link scdocLineBreak Special 39hi link scdocTableMarker Statement 40hi link scdocTableStartMarker scdocTableMarker 41 42hi link scdocFirstLineError Error 43hi link scdocCommentError Error 44hi link scdocHeaderError Error 45hi link scdocIndentError Error 46 47hi link scdocPreDelimiter Delimiter 48 49hi scdocBold term=bold cterm=bold gui=bold 50hi scdocUnderline term=underline cterm=underline gui=underline 51hi link scdocBoldDelimiter scdocBold 52hi link scdocUnderlineDelimiter scdocUnderline 53