scdoc.vim 1.8 KB

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