diff options
Diffstat (limited to 'runtime/syntax/scdoc.vim')
-rw-r--r-- | runtime/syntax/scdoc.vim | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/runtime/syntax/scdoc.vim b/runtime/syntax/scdoc.vim new file mode 100644 index 0000000000..25c9c5433b --- /dev/null +++ b/runtime/syntax/scdoc.vim @@ -0,0 +1,52 @@ +" Syntax file for scdoc files +" Maintainer: Gregory Anders <greg@gpanders.com> +" Last Updated: 2021-08-04 + +if exists('b:current_syntax') + finish +endif +let b:current_syntax = 'scdoc' + +syntax match scdocFirstLineError "\%^.*$" +syntax match scdocFirstLineValid "\%^\S\+(\d[0-9A-Za-z]*)\%(\s\+\"[^"]*\"\%(\s\+\"[^"]*\"\)\=\)\=$" + +syntax region scdocCommentError start="^;\S" end="$" keepend +syntax region scdocComment start="^; " end="$" keepend + +syntax region scdocHeaderError start="^#\{3,}" end="$" keepend +syntax region scdocHeader start="^#\{1,2}" end="$" keepend + +syntax match scdocIndentError "^[ ]\+" + +syntax match scdocLineBreak "++$" + +syntax match scdocOrderedListMarker "^\s*\.\%(\s\+\S\)\@=" +syntax match scdocListMarker "^\s*-\%(\s\+\S\)\@=" + +syntax match scdocTableStartMarker "^[\[|\]][\[\-\]]" +syntax match scdocTableMarker "^[|:][\[\-\] ]" + +syntax region scdocBold concealends matchgroup=scdocBoldDelimiter start="\\\@<!\*" end="\\\@<!\*" +syntax region scdocUnderline concealends matchgroup=scdocUnderlineDelimiter start="\<\\\@<!_" end="\\\@<!_\>" +syntax region scdocPre matchgroup=scdocPreDelimiter start="^\t*```" end="^\t*```" + +hi link scdocFirstLineValid Comment +hi link scdocComment Comment +hi link scdocHeader Title +hi link scdocOrderedListMarker Statement +hi link scdocListMarker scdocOrderedListMarker +hi link scdocLineBreak Special +hi link scdocTableMarker Statement +hi link scdocTableStartMarker scdocTableMarker + +hi link scdocFirstLineError Error +hi link scdocCommentError Error +hi link scdocHeaderError Error +hi link scdocIndentError Error + +hi link scdocPreDelimiter Delimiter + +hi scdocBold term=bold cterm=bold gui=bold +hi scdocUnderline term=underline cterm=underline gui=underline +hi link scdocBoldDelimiter scdocBold +hi link scdocUnderlineDelimiter scdocUnderline |