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