blob: 264aae060063ea537065c3930279e41da9e1a830 [file] [log] [blame]
Bram Moolenaar5dc62522012-02-13 00:05:22 +01001" SiSU Vim syntax file
Bram Moolenaar91e15e12014-09-19 22:38:48 +02002" SiSU Maintainer: Ralph Amissah <ralph.amissah@gmail.com>
3" SiSU Markup: SiSU (sisu-5.6.7)
Bram Moolenaar74675a62017-07-15 13:53:23 +02004" Last Change: 2017 Jun 22
Bram Moolenaar91e15e12014-09-19 22:38:48 +02005" URL: <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD>
6" <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob_plain;f=data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD>
Bram Moolenaarf2330482008-06-24 20:19:36 +00007"(originally looked at Ruby Vim by Mirko Nasato)
Bram Moolenaardd2a3cd2007-05-05 17:10:09 +00008
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02009" quit when a syntax file was already loaded
10if exists("b:current_syntax")
Bram Moolenaar5555acc2006-04-07 21:33:12 +000011 finish
Bram Moolenaar5555acc2006-04-07 21:33:12 +000012endif
Bram Moolenaar5dc62522012-02-13 00:05:22 +010013let s:cpo_save = &cpo
14set cpo&vim
Bram Moolenaarf2330482008-06-24 20:19:36 +000015
Bram Moolenaar5dc62522012-02-13 00:05:22 +010016"% "Errors:
Bram Moolenaar551dbcc2006-04-25 22:13:59 +000017syn match sisu_error contains=sisu_link,sisu_error_wspace "<![^ei]\S\+!>"
Bram Moolenaarf2330482008-06-24 20:19:36 +000018
Bram Moolenaar5dc62522012-02-13 00:05:22 +010019"% "Markers Identifiers:
Bram Moolenaar5555acc2006-04-07 21:33:12 +000020if !exists("sisu_no_identifiers")
Bram Moolenaarf2330482008-06-24 20:19:36 +000021 syn match sisu_mark_endnote "\~^"
Bram Moolenaarad3b3662013-05-17 18:14:19 +020022 syn match sisu_break contains=@NoSpell " \\\\\( \|$\)\|<br>\|<br />"
23 syn match sisu_control contains=@NoSpell "^\(-\\\\-\|=\\\\=\|-\.\.-\|<:p[bn]>\)\s*$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010024 syn match sisu_control contains=@NoSpell "^<:\(bo\|---\)>\s*$"
Bram Moolenaar91e15e12014-09-19 22:38:48 +020025 syn match sisu_marktail contains=@NoSpell "^--[+~-]#\s*$"
Bram Moolenaarf2330482008-06-24 20:19:36 +000026 syn match sisu_marktail "[~-]#"
Bram Moolenaarf2330482008-06-24 20:19:36 +000027 syn match sisu_control "\""
28 syn match sisu_underline "\(^\| \)_[a-zA-Z0-9]\+_\([ .,]\|$\)"
29 syn match sisu_number contains=@NoSpell "[0-9a-f]\{32\}\|[0-9a-f]\{64\}"
30 syn match sisu_link contains=@NoSpell "\(_\?https\?://\|\.\.\/\)\S\+"
Bram Moolenaarf2330482008-06-24 20:19:36 +000031 syn match sisu_link " \*\~\S\+"
Bram Moolenaar91e15e12014-09-19 22:38:48 +020032 syn match sisu_require contains=@NoSpell "^<<\s*[a-zA-Z0-9^./_-]\+\.ss[it]$"
Bram Moolenaar00a927d2010-05-14 23:24:24 +020033 syn match sisu_structure "^:A\~$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010034
35"% "Document Sub Headers:
36 syn match sisu_sub_header_title "^\s\+:\(subtitle\|short\|edition\|language\|lang_char\|note\):\s" "group=sisu_header_content
37 syn match sisu_sub_header_creator "^\s\+:\(author\|editor\|contributor\|illustrator\|photographer\|translator\|digitized_by\|prepared_by\|audio\|video\):\s" " &hon &institution
38 syn match sisu_sub_header_rights "^\s\+:\(copyright\|text\|translation\|illustrations\|photographs\|preparation\|digitization\|audio\|video\|license\|all\):\s" " access_rights license
Bram Moolenaarad3b3662013-05-17 18:14:19 +020039 syn match sisu_sub_header_classify "^\s\+:\(topic_register\|keywords\|subject\|dewey\|loc\):\s"
40 syn match sisu_sub_header_identifier "^\s\+:\(oclc\|isbn\):\s"
41 syn match sisu_sub_header_date "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010042 syn match sisu_sub_header_original "^\s\+:\(publisher\|date\|language\|lang_char\|institution\|nationality\|source\):\s"
Bram Moolenaarad3b3662013-05-17 18:14:19 +020043 syn match sisu_sub_header_make "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|substitute\|omit\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|stamp\|promo\|ad\|manpage\|home_button_text\|home_button_image\|cover_image\|footer\):\s"
44 syn match sisu_sub_header_notes "^\s\+:\(description\|abstract\|comment\|coverage\|relation\|source\|history\|type\|format\|prefix\|prefix_[ab]\|suffix\):\s"
Bram Moolenaar91e15e12014-09-19 22:38:48 +020045 syn match sisu_within_index_ignore "\S\+[:;]\(\s\+\|$\)"
46 syn match sisu_within_index "[:|;]\|+\d\+"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010047
48"% "semantic markers: (ignore)
Bram Moolenaarf2330482008-06-24 20:19:36 +000049 syn match sisu_sem_marker ";{\|};[a-z._]*[a-z]"
50 syn match sisu_sem_marker_block "\([a-z][a-z._]*\|\):{\|}:[a-z._]*[a-z]"
51 syn match sisu_sem_ex_marker ";\[\|\];[a-z._]*[a-z]"
52 syn match sisu_sem_ex_marker_block "\([a-z][a-z._]*\|\):\[\|\]:[a-z._]*[a-z]"
53 syn match sisu_sem_block contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_mark_endnote,sisu_content_endnote "\([a-z]*\):{[^}].\{-}}:\1"
54 syn match sisu_sem_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker ";{[^}].\{-}};[a-z]\+"
55 syn match sisu_sem_ex_block contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_mark_endnote,sisu_content_endnote "\([a-z]*\):\[[^}].\{-}\]:\1"
56 syn match sisu_sem_ex_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker ";\[[^}].\{-}\];[a-z]\+"
Bram Moolenaar5555acc2006-04-07 21:33:12 +000057endif
Bram Moolenaarf2330482008-06-24 20:19:36 +000058
Bram Moolenaar5dc62522012-02-13 00:05:22 +010059"% "URLs Numbers And ASCII Codes:
Bram Moolenaard8fc5c02006-04-29 21:55:22 +000060syn match sisu_number "\<\(0x\x\+\|0b[01]\+\|0\o\+\|0\.\d\+\|0\|[1-9][\.0-9_]*\)\>"
61syn match sisu_number "?\(\\M-\\C-\|\\c\|\\C-\|\\M-\)\=\(\\\o\{3}\|\\x\x\{2}\|\\\=\w\)"
Bram Moolenaarf2330482008-06-24 20:19:36 +000062
Bram Moolenaar5dc62522012-02-13 00:05:22 +010063"% "Tuned Error: (is error if not already matched)
Bram Moolenaard8fc5c02006-04-29 21:55:22 +000064syn match sisu_error contains=sisu_error "[\~/\*!_]{\|}[\~/\*!_]"
65syn match sisu_error contains=sisu_error "<a href\|</a>]"
Bram Moolenaarf2330482008-06-24 20:19:36 +000066
Bram Moolenaar5dc62522012-02-13 00:05:22 +010067"% "Simple Paired Enclosed Markup:
Bram Moolenaarf2330482008-06-24 20:19:36 +000068"url/link
Bram Moolenaar551dbcc2006-04-25 22:13:59 +000069syn region sisu_link contains=sisu_error,sisu_error_wspace matchgroup=sisu_action start="^<<\s*|[a-zA-Z0-9^._-]\+|@|[a-zA-Z0-9^._-]\+|"rs=s+2 end="$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010070
71"% "Document Header:
72" title
Bram Moolenaar00a927d2010-05-14 23:24:24 +020073syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_title matchgroup=sisu_header start="^[@]title:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010074" creator
Bram Moolenaar00a927d2010-05-14 23:24:24 +020075syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_creator matchgroup=sisu_header start="^[@]creator:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010076" dates
77syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_date matchgroup=sisu_header start="^[@]date:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
78" publisher
Bram Moolenaar00a927d2010-05-14 23:24:24 +020079syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_publisher matchgroup=sisu_header start="^[@]publisher:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010080" rights
81syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_rights matchgroup=sisu_header start="^[@]rights:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
82" classify document
83syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_classify matchgroup=sisu_header start="^[@]classify:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
Bram Moolenaarad3b3662013-05-17 18:14:19 +020084" identifier document
85syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_identifier matchgroup=sisu_header start="^[@]identifier:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010086" original language (depreciated)
Bram Moolenaar00a927d2010-05-14 23:24:24 +020087syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_original matchgroup=sisu_header start="^[@]original:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010088" notes
89syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_notes matchgroup=sisu_header start="^[@]notes:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
90" links of interest
Bram Moolenaar00a927d2010-05-14 23:24:24 +020091syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_linked,sisu_sub_header_links matchgroup=sisu_header start="^[@]links:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010092" make, processing instructions
93syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_make matchgroup=sisu_header start="^[@]make:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
94
95"% "Headings:
Bram Moolenaar91e15e12014-09-19 22:38:48 +020096syn region sisu_heading contains=sisu_mark_endnote,sisu_content_endnote,sisu_marktail,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_ocn,sisu_error,sisu_error_wspace matchgroup=sisu_structure start="^\([1-4]\|:\?[A-D]\)\~\(\S\+\|[^-]\)" end="$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +010097
98"% "Block Group Text:
99" table
100syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^table{.\+" end="}table"
101" table
Bram Moolenaar91e15e12014-09-19 22:38:48 +0200102syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+table" end="^```\(\s\|$\)"
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100103syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^{\(t\|table\)\(\~h\)\?\(\sc[0-9]\+;\)\?[0-9; ]*}" end="\n$"
104" block, group, poem, alt
Bram Moolenaar74675a62017-07-15 13:53:23 +0200105syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^\z(block\|group\|poem\|alt\){" end="^}\z1"
Bram Moolenaar91e15e12014-09-19 22:38:48 +0200106syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+\(block\|group\|poem\|alt\)" end="^```\(\s\|$\)"
107" box
108syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^box\(\.[a-z]\+\)\?{" end="^}box"
109syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+\box\(\.[a-z]\+\)\?" end="^```\(\s\|$\)"
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100110" code
Bram Moolenaar91e15e12014-09-19 22:38:48 +0200111syn region sisu_content_alt contains=sisu_error,@NoSpell matchgroup=sisu_contain start="^code\(\.[a-z][0-9a-z_]\+\)\?{" end="^}code"
112syn region sisu_content_alt contains=sisu_error,@NoSpell matchgroup=sisu_contain start="^```\s\+code\(\.[a-z][0-9a-z_]\+\)\?" end="^```\(\s\|$\)"
113" quote
114syn region sisu_normal contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_contain start="^```\s\+quote" end="^```\(\s\|$\)"
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100115
116"% "Endnotes:
117" regular endnote or asterisk or plus sign endnote
118syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker matchgroup=sisu_mark_endnote start="\~{[*+]*" end="}\~" skip="\n"
119" numbered asterisk or plus sign endnote
120syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker matchgroup=sisu_mark_endnote start="\~\[[*+]*" end="\]\~" skip="\n"
121" endnote content marker (for binary content marking)
122syn region sisu_content_endnote contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_link,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\^\~" end="\n$"
123
124"% "Links And Images:
125" image with url link (and possibly footnote of url)
126syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_sem_block,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="}\(https\?:/\/\|:\|\.\.\/\|#\)\S\+" oneline
127" sisu outputs, short notation
128syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_sem_block,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="\[[1-5][sS]*\]}\S\+\.ss[tm]" oneline
129" image
130syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{" end="}image" oneline
131
132"% "Some Line Operations:
133" bold line
134syn region sisu_bold contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^!_ " end=" \\\\\|$"
135" indent and bullet paragraph
136syn region sisu_normal contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_\([1-9*]\|[1-9]\*\) " end="$"
137" indent and bullet (bold start) paragraph
138syn region sisu_bold contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_\([1-9*]\|[1-9]\*\)!_\? " end=" \\\\\|$"
139" hanging indent paragraph [proposed]
140syn region sisu_normal contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_[0-9]\?_[0-9] " end="$"
141" hanging indent (bold start/ definition) paragraph [proposed]
142syn region sisu_bold contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_[0-9]\?_[0-9]!_\? " end=" \\\\\|$"
143" list numbering
Bram Moolenaard8fc5c02006-04-29 21:55:22 +0000144syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^\(#[ 1]\|_# \)" end="$"
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100145
146"% "Font Face Curly Brackets:
Bram Moolenaarf2330482008-06-24 20:19:36 +0000147"syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_sem start="\S\+:{" end="}:[^<>,.!?:; ]\+" oneline
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100148" book index:
Bram Moolenaar91e15e12014-09-19 22:38:48 +0200149syn region sisu_index contains=sisu_within_index_ignore,sisu_within_index matchgroup=sisu_index_block start="^={" end="}"
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100150" emphasis:
151syn region sisu_bold contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\*{" end="}\*"
152" bold:
153syn region sisu_bold contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="!{" end="}!"
154" underscore:
155syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="_{" end="}_"
156" italics:
157syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="/{" end="}/"
158" added:
159syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="+{" end="}+"
160" superscript:
161syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\^{" end="}\^"
162" subscript:
163syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start=",{" end="},"
164" monospace:
165syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="#{" end="}#"
166" strikethrough:
Bram Moolenaarf2330482008-06-24 20:19:36 +0000167syn region sisu_strikeout contains=sisu_error matchgroup=sisu_fontface start="-{" end="}-"
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100168
169"% "Single Words Bold Italicise Etc: (depreciated)
170syn region sisu_bold contains=sisu_error matchgroup=sisu_bold start="\([ (]\|^\)\*[^\|{\n\~\\]"hs=e-1 end="\*"he=e-0 skip="[a-zA-Z0-9']" oneline
Bram Moolenaar5555acc2006-04-07 21:33:12 +0000171syn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="\([ ]\|^\)/[^{ \|\n\\]"hs=e-1 end="/\[ \.\]" skip="[a-zA-Z0-9']" oneline
Bram Moolenaarf2330482008-06-24 20:19:36 +0000172"misc
Bram Moolenaarc6fe9192006-04-09 21:54:49 +0000173syn region sisu_identifier contains=sisu_error matchgroup=sisu_fontface start="\^[^ {\|\n\\]"rs=s+1 end="\^[ ,.;:'})\\\n]" skip="[a-zA-Z0-9']" oneline
Bram Moolenaarf2330482008-06-24 20:19:36 +0000174
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100175"% "Expensive Mode:
Bram Moolenaar5555acc2006-04-07 21:33:12 +0000176if !exists("sisu_no_expensive")
177else " not Expensive
178 syn region sisu_content_alt matchgroup=sisu_control start="^\s*def\s" matchgroup=NONE end="[?!]\|\>" skip="\.\|\(::\)" oneline
179endif " Expensive?
Bram Moolenaarf2330482008-06-24 20:19:36 +0000180
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100181"% "Headers And Headings: (Document Instructions)
Bram Moolenaard8fc5c02006-04-29 21:55:22 +0000182syn match sisu_control contains=sisu_error,sisu_error_wspace "4\~! \S\+"
Bram Moolenaar5555acc2006-04-07 21:33:12 +0000183syn region sisu_markpara contains=sisu_error,sisu_error_wspace start="^=begin" end="^=end.*$"
Bram Moolenaarf2330482008-06-24 20:19:36 +0000184
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100185"% "Errors:
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200186syn match sisu_error_wspace contains=sisu_error_wspace "^\s\+[^:]"
Bram Moolenaar5555acc2006-04-07 21:33:12 +0000187syn match sisu_error_wspace contains=sisu_error_wspace "\s\s\+"
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100188syn match sisu_error_wspace contains=sisu_error_wspace "\s\+$"
Bram Moolenaarc6fe9192006-04-09 21:54:49 +0000189syn match sisu_error contains=sisu_error_wspace "\t\+"
Bram Moolenaarf2330482008-06-24 20:19:36 +0000190syn match sisu_error contains=sisu_error,sisu_error_wspace "\([^ (][_\\]\||[^ (}]\)https\?:\S\+"
191syn match sisu_error contains=sisu_error "_\?https\?:\S\+[}><]"
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200192syn match sisu_error contains=sisu_error "\([!*/_\+,^]\){\([^(\}\1)]\)\{-}\n$"
193syn match sisu_error contains=sisu_error "^[\~]{[^{]\{-}\n$"
Bram Moolenaar5555acc2006-04-07 21:33:12 +0000194syn match sisu_error contains=sisu_error "\s\+.{{"
195syn match sisu_error contains=sisu_error "^\~\s*$"
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200196syn match sisu_error contains=sisu_error "^0\~.*"
197syn match sisu_error contains=sisu_error "^[1-9]\~\s*$"
198syn match sisu_error contains=sisu_error "^[1-9]\~\S\+\s*$"
Bram Moolenaar5555acc2006-04-07 21:33:12 +0000199syn match sisu_error contains=sisu_error "[^{]\~\^[^ \)]"
200syn match sisu_error contains=sisu_error "\~\^\s\+\.\s*"
Bram Moolenaarb21e5842006-04-16 18:30:08 +0000201syn match sisu_error contains=sisu_error "{\~^\S\+"
Bram Moolenaar5555acc2006-04-07 21:33:12 +0000202syn match sisu_error contains=sisu_error "[_/\*!^]{[ .,:;?><]*}[_/\*!^]"
203syn match sisu_error contains=sisu_error "[^ (\"'(\[][_/\*!]{\|}[_/\*!][a-zA-Z0-9)\]\"']"
204syn match sisu_error contains=sisu_error "<dir>"
Bram Moolenaard8fc5c02006-04-29 21:55:22 +0000205"errors for filetype sisu, though not error in 'metaverse':
Bram Moolenaar5555acc2006-04-07 21:33:12 +0000206syn match sisu_error contains=sisu_error,sisu_match,sisu_strikeout,sisu_contain,sisu_content_alt,sisu_mark,sisu_break,sisu_number "<[a-zA-Z\/]\+>"
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200207syn match sisu_error "/\?<\([biu]\)>[^(</\1>)]\{-}\n$"
Bram Moolenaarf2330482008-06-24 20:19:36 +0000208
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100209"% "Error Exceptions:
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200210syn match sisu_control "\n$" "contains=ALL
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100211"syn match sisu_control " //"
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200212syn match sisu_error "%{"
213syn match sisu_error "<br>_\?https\?:\S\+\|_\?https\?:\S\+<br>"
214syn match sisu_error "[><]_\?https\?:\S\+\|_\?https\?:\S\+[><]"
215syn match sisu_comment "^%\{1,2\}.\+"
Bram Moolenaarf2330482008-06-24 20:19:36 +0000216
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100217"% "Definitions Default Highlighting:
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200218hi def link sisu_normal Normal
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100219hi def link sisu_bold Statement
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200220hi def link sisu_header PreProc
221hi def link sisu_header_content Normal
222hi def link sisu_sub_header_title Statement
223hi def link sisu_sub_header_creator Statement
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100224hi def link sisu_sub_header_date Statement
225hi def link sisu_sub_header_publisher Statement
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200226hi def link sisu_sub_header_rights Statement
227hi def link sisu_sub_header_classify Statement
Bram Moolenaarad3b3662013-05-17 18:14:19 +0200228hi def link sisu_sub_header_identifier Statement
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200229hi def link sisu_sub_header_original Statement
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100230hi def link sisu_sub_header_links Statement
231hi def link sisu_sub_header_notes Statement
232hi def link sisu_sub_header_make Statement
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200233hi def link sisu_heading Title
234hi def link sisu_structure Operator
235hi def link sisu_contain Include
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100236hi def link sisu_mark_endnote Delimiter
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200237hi def link sisu_require NonText
238hi def link sisu_link NonText
239hi def link sisu_linked String
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100240hi def link sisu_fontface Delimiter
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200241hi def link sisu_strikeout DiffDelete
242hi def link sisu_content_alt Special
243hi def link sisu_sem_content SpecialKey
244hi def link sisu_sem_block Special
245hi def link sisu_sem_marker Visual
246"hi def link sisu_sem_marker Structure
247hi def link sisu_sem_marker_block MatchParen
248hi def link sisu_sem_ex_marker FoldColumn
249hi def link sisu_sem_ex_marker_block Folded
250hi def link sisu_sem_ex_content Comment
251"hi def link sisu_sem_ex_content SpecialKey
252hi def link sisu_sem_ex_block Comment
253hi def link sisu_index SpecialKey
254hi def link sisu_index_block Visual
255hi def link sisu_content_endnote Special
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100256hi def link sisu_control Delimiter
Bram Moolenaar91e15e12014-09-19 22:38:48 +0200257hi def link sisu_within_index Delimiter
258hi def link sisu_within_index_ignore SpecialKey
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200259hi def link sisu_ocn Include
260hi def link sisu_number Number
261hi def link sisu_identifier Function
262hi def link sisu_underline Underlined
263hi def link sisu_markpara Include
264hi def link sisu_marktail Include
265hi def link sisu_mark Identifier
266hi def link sisu_break Structure
267hi def link sisu_html Type
268hi def link sisu_action Identifier
269hi def link sisu_comment Comment
270hi def link sisu_error_sem_marker Error
271hi def link sisu_error_wspace Error
272hi def link sisu_error Error
Bram Moolenaar5555acc2006-04-07 21:33:12 +0000273let b:current_syntax = "sisu"
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100274let &cpo = s:cpo_save
275unlet s:cpo_save