xref: /vim-8.2.3635/runtime/syntax/sisu.vim (revision 74675a66)
1f233048aSBram Moolenaar" SiSU Vim syntax file
291e15e13SBram Moolenaar" SiSU Maintainer: Ralph Amissah <[email protected]>
391e15e13SBram Moolenaar" SiSU Markup:     SiSU (sisu-5.6.7)
4*74675a66SBram Moolenaar" Last Change:     2017 Jun 22
591e15e13SBram Moolenaar" 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>
691e15e13SBram Moolenaar"      <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>
75555acc0SBram Moolenaar"(originally looked at Ruby Vim by Mirko Nasato)
8dd2a3cdaSBram Moolenaar
989bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1089bcfda6SBram Moolenaarif exists("b:current_syntax")
115555acc0SBram Moolenaar  finish
125555acc0SBram Moolenaarendif
135dc6252dSBram Moolenaarlet s:cpo_save = &cpo
145dc6252dSBram Moolenaarset cpo&vim
15f233048aSBram Moolenaar
165dc6252dSBram Moolenaar"% "Errors:
17551dbcc9SBram Moolenaarsyn match sisu_error contains=sisu_link,sisu_error_wspace "<![^ei]\S\+!>"
18f233048aSBram Moolenaar
195dc6252dSBram Moolenaar"% "Markers Identifiers:
205555acc0SBram Moolenaarif !exists("sisu_no_identifiers")
215555acc0SBram Moolenaar  syn match   sisu_mark_endnote                                           "\~^"
22ad3b366cSBram Moolenaar  syn match   sisu_break               contains=@NoSpell                  " \\\\\( \|$\)\|<br>\|<br />"
23ad3b366cSBram Moolenaar  syn match   sisu_control             contains=@NoSpell                  "^\(-\\\\-\|=\\\\=\|-\.\.-\|<:p[bn]>\)\s*$"
245dc6252dSBram Moolenaar  syn match   sisu_control             contains=@NoSpell                  "^<:\(bo\|---\)>\s*$"
2591e15e13SBram Moolenaar  syn match   sisu_marktail            contains=@NoSpell                  "^--[+~-]#\s*$"
265555acc0SBram Moolenaar  syn match   sisu_marktail                                               "[~-]#"
275555acc0SBram Moolenaar  syn match   sisu_control                                                "\""
28c6fe9195SBram Moolenaar  syn match   sisu_underline                                              "\(^\| \)_[a-zA-Z0-9]\+_\([ .,]\|$\)"
29d8fc5c0bSBram Moolenaar  syn match   sisu_number              contains=@NoSpell                  "[0-9a-f]\{32\}\|[0-9a-f]\{64\}"
30f233048aSBram Moolenaar  syn match   sisu_link                contains=@NoSpell                  "\(_\?https\?://\|\.\.\/\)\S\+"
315555acc0SBram Moolenaar  syn match   sisu_link                                                   " \*\~\S\+"
3291e15e13SBram Moolenaar  syn match   sisu_require             contains=@NoSpell                  "^<<\s*[a-zA-Z0-9^./_-]\+\.ss[it]$"
3300a927d6SBram Moolenaar  syn match   sisu_structure                                              "^:A\~$"
345dc6252dSBram Moolenaar
355dc6252dSBram Moolenaar"% "Document Sub Headers:
365dc6252dSBram Moolenaar  syn match   sisu_sub_header_title                                       "^\s\+:\(subtitle\|short\|edition\|language\|lang_char\|note\):\s" "group=sisu_header_content
375dc6252dSBram Moolenaar  syn match   sisu_sub_header_creator                                     "^\s\+:\(author\|editor\|contributor\|illustrator\|photographer\|translator\|digitized_by\|prepared_by\|audio\|video\):\s"                               " &hon &institution
385dc6252dSBram Moolenaar  syn match   sisu_sub_header_rights                                      "^\s\+:\(copyright\|text\|translation\|illustrations\|photographs\|preparation\|digitization\|audio\|video\|license\|all\):\s"                   " access_rights license
39ad3b366cSBram Moolenaar  syn match   sisu_sub_header_classify                                    "^\s\+:\(topic_register\|keywords\|subject\|dewey\|loc\):\s"
40ad3b366cSBram Moolenaar  syn match   sisu_sub_header_identifier                                  "^\s\+:\(oclc\|isbn\):\s"
415dc6252dSBram Moolenaar  syn match   sisu_sub_header_date                                        "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s"
425dc6252dSBram Moolenaar  syn match   sisu_sub_header_original                                    "^\s\+:\(publisher\|date\|language\|lang_char\|institution\|nationality\|source\):\s"
43ad3b366cSBram Moolenaar  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"
44ad3b366cSBram Moolenaar  syn match   sisu_sub_header_notes                                       "^\s\+:\(description\|abstract\|comment\|coverage\|relation\|source\|history\|type\|format\|prefix\|prefix_[ab]\|suffix\):\s"
4591e15e13SBram Moolenaar  syn match   sisu_within_index_ignore                                    "\S\+[:;]\(\s\+\|$\)"
4691e15e13SBram Moolenaar  syn match   sisu_within_index                                           "[:|;]\|+\d\+"
475dc6252dSBram Moolenaar
485dc6252dSBram Moolenaar"% "semantic markers: (ignore)
49f233048aSBram Moolenaar  syn match   sisu_sem_marker                                             ";{\|};[a-z._]*[a-z]"
50f233048aSBram Moolenaar  syn match   sisu_sem_marker_block                                       "\([a-z][a-z._]*\|\):{\|}:[a-z._]*[a-z]"
51f233048aSBram Moolenaar  syn match   sisu_sem_ex_marker                                          ";\[\|\];[a-z._]*[a-z]"
52f233048aSBram Moolenaar  syn match   sisu_sem_ex_marker_block                                    "\([a-z][a-z._]*\|\):\[\|\]:[a-z._]*[a-z]"
53f233048aSBram Moolenaar  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"
54f233048aSBram Moolenaar  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]\+"
55f233048aSBram Moolenaar  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"
56f233048aSBram Moolenaar  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]\+"
575555acc0SBram Moolenaarendif
58f233048aSBram Moolenaar
595dc6252dSBram Moolenaar"% "URLs Numbers And ASCII Codes:
605555acc0SBram Moolenaarsyn match   sisu_number                              "\<\(0x\x\+\|0b[01]\+\|0\o\+\|0\.\d\+\|0\|[1-9][\.0-9_]*\)\>"
615555acc0SBram Moolenaarsyn match   sisu_number                              "?\(\\M-\\C-\|\\c\|\\C-\|\\M-\)\=\(\\\o\{3}\|\\x\x\{2}\|\\\=\w\)"
62f233048aSBram Moolenaar
635dc6252dSBram Moolenaar"% "Tuned Error: (is error if not already matched)
64d8fc5c0bSBram Moolenaarsyn match sisu_error             contains=sisu_error "[\~/\*!_]{\|}[\~/\*!_]"
65d8fc5c0bSBram Moolenaarsyn match sisu_error             contains=sisu_error "<a href\|</a>]"
66f233048aSBram Moolenaar
675dc6252dSBram Moolenaar"% "Simple Paired Enclosed Markup:
68f233048aSBram Moolenaar"url/link
69551dbcc9SBram Moolenaarsyn 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="$"
705dc6252dSBram Moolenaar
715dc6252dSBram Moolenaar"% "Document Header:
725dc6252dSBram Moolenaar" title
7300a927d6SBram Moolenaarsyn 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$"
745dc6252dSBram Moolenaar" creator
7500a927d6SBram Moolenaarsyn 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$"
765dc6252dSBram Moolenaar" dates
775dc6252dSBram Moolenaarsyn 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$"
785dc6252dSBram Moolenaar" publisher
7900a927d6SBram Moolenaarsyn 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$"
805dc6252dSBram Moolenaar" rights
815dc6252dSBram Moolenaarsyn 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$"
825dc6252dSBram Moolenaar" classify document
835dc6252dSBram Moolenaarsyn 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$"
84ad3b366cSBram Moolenaar" identifier document
85ad3b366cSBram Moolenaarsyn 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$"
865dc6252dSBram Moolenaar" original language (depreciated)
8700a927d6SBram Moolenaarsyn 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$"
885dc6252dSBram Moolenaar" notes
895dc6252dSBram Moolenaarsyn 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$"
905dc6252dSBram Moolenaar" links of interest
9100a927d6SBram Moolenaarsyn 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$"
925dc6252dSBram Moolenaar" make, processing instructions
935dc6252dSBram Moolenaarsyn 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$"
945dc6252dSBram Moolenaar
955dc6252dSBram Moolenaar"% "Headings:
9691e15e13SBram Moolenaarsyn 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="$"
975dc6252dSBram Moolenaar
985dc6252dSBram Moolenaar"% "Block Group Text:
995dc6252dSBram Moolenaar" table
1005dc6252dSBram Moolenaarsyn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^table{.\+" end="}table"
1015dc6252dSBram Moolenaar" table
10291e15e13SBram Moolenaarsyn 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\|$\)"
1035dc6252dSBram Moolenaarsyn 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$"
1045dc6252dSBram Moolenaar" block, group, poem, alt
105*74675a66SBram Moolenaarsyn 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"
10691e15e13SBram Moolenaarsyn 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\|$\)"
10791e15e13SBram Moolenaar" box
10891e15e13SBram Moolenaarsyn 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"
10991e15e13SBram Moolenaarsyn 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\|$\)"
1105dc6252dSBram Moolenaar" code
11191e15e13SBram Moolenaarsyn region sisu_content_alt contains=sisu_error,@NoSpell matchgroup=sisu_contain start="^code\(\.[a-z][0-9a-z_]\+\)\?{" end="^}code"
11291e15e13SBram Moolenaarsyn region sisu_content_alt contains=sisu_error,@NoSpell matchgroup=sisu_contain start="^```\s\+code\(\.[a-z][0-9a-z_]\+\)\?" end="^```\(\s\|$\)"
11391e15e13SBram Moolenaar" quote
11491e15e13SBram Moolenaarsyn 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\|$\)"
1155dc6252dSBram Moolenaar
1165dc6252dSBram Moolenaar"% "Endnotes:
1175dc6252dSBram Moolenaar" regular endnote or asterisk or plus sign endnote
1185dc6252dSBram Moolenaarsyn 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"
1195dc6252dSBram Moolenaar" numbered asterisk or plus sign endnote
1205dc6252dSBram Moolenaarsyn 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"
1215dc6252dSBram Moolenaar" endnote content marker (for binary content marking)
1225dc6252dSBram Moolenaarsyn 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$"
1235dc6252dSBram Moolenaar
1245dc6252dSBram Moolenaar"% "Links And Images:
1255dc6252dSBram Moolenaar" image with url link (and possibly footnote of url)
1265dc6252dSBram Moolenaarsyn 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
1275dc6252dSBram Moolenaar" sisu outputs, short notation
1285dc6252dSBram Moolenaarsyn 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
1295dc6252dSBram Moolenaar" image
1305dc6252dSBram Moolenaarsyn 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
1315dc6252dSBram Moolenaar
1325dc6252dSBram Moolenaar"% "Some Line Operations:
1335dc6252dSBram Moolenaar" bold line
1345dc6252dSBram Moolenaarsyn region sisu_bold contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^!_ " end=" \\\\\|$"
1355dc6252dSBram Moolenaar" indent and bullet paragraph
1365dc6252dSBram Moolenaarsyn 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="$"
1375dc6252dSBram Moolenaar" indent and bullet (bold start) paragraph
1385dc6252dSBram Moolenaarsyn 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=" \\\\\|$"
1395dc6252dSBram Moolenaar" hanging indent paragraph [proposed]
1405dc6252dSBram Moolenaarsyn 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="$"
1415dc6252dSBram Moolenaar" hanging indent (bold start/ definition) paragraph [proposed]
1425dc6252dSBram Moolenaarsyn 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=" \\\\\|$"
1435dc6252dSBram Moolenaar" list numbering
144d8fc5c0bSBram Moolenaarsyn 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="$"
1455dc6252dSBram Moolenaar
1465dc6252dSBram Moolenaar"% "Font Face Curly Brackets:
147f233048aSBram Moolenaar"syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_sem start="\S\+:{" end="}:[^<>,.!?:; ]\+" oneline
1485dc6252dSBram Moolenaar" book index:
14991e15e13SBram Moolenaarsyn region sisu_index contains=sisu_within_index_ignore,sisu_within_index matchgroup=sisu_index_block start="^={" end="}"
1505dc6252dSBram Moolenaar" emphasis:
1515dc6252dSBram Moolenaarsyn region sisu_bold contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\*{" end="}\*"
1525dc6252dSBram Moolenaar" bold:
1535dc6252dSBram Moolenaarsyn region sisu_bold contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="!{" end="}!"
1545dc6252dSBram Moolenaar" underscore:
1555dc6252dSBram Moolenaarsyn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="_{" end="}_"
1565dc6252dSBram Moolenaar" italics:
1575dc6252dSBram Moolenaarsyn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="/{" end="}/"
1585dc6252dSBram Moolenaar" added:
1595dc6252dSBram Moolenaarsyn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="+{" end="}+"
1605dc6252dSBram Moolenaar" superscript:
1615dc6252dSBram Moolenaarsyn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\^{" end="}\^"
1625dc6252dSBram Moolenaar" subscript:
1635dc6252dSBram Moolenaarsyn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start=",{" end="},"
1645dc6252dSBram Moolenaar" monospace:
1655dc6252dSBram Moolenaarsyn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="#{" end="}#"
1665dc6252dSBram Moolenaar" strikethrough:
1675555acc0SBram Moolenaarsyn region sisu_strikeout contains=sisu_error matchgroup=sisu_fontface start="-{" end="}-"
1685dc6252dSBram Moolenaar
1695dc6252dSBram Moolenaar"% "Single Words Bold Italicise Etc: (depreciated)
1705dc6252dSBram Moolenaarsyn region sisu_bold contains=sisu_error matchgroup=sisu_bold start="\([ (]\|^\)\*[^\|{\n\~\\]"hs=e-1 end="\*"he=e-0 skip="[a-zA-Z0-9']" oneline
1715555acc0SBram Moolenaarsyn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="\([ ]\|^\)/[^{ \|\n\\]"hs=e-1 end="/\[ \.\]" skip="[a-zA-Z0-9']" oneline
172f233048aSBram Moolenaar"misc
173c6fe9195SBram Moolenaarsyn region sisu_identifier contains=sisu_error matchgroup=sisu_fontface start="\^[^ {\|\n\\]"rs=s+1 end="\^[ ,.;:'})\\\n]" skip="[a-zA-Z0-9']" oneline
174f233048aSBram Moolenaar
1755dc6252dSBram Moolenaar"% "Expensive Mode:
1765555acc0SBram Moolenaarif !exists("sisu_no_expensive")
1775555acc0SBram Moolenaarelse " not Expensive
1785555acc0SBram Moolenaar  syn region  sisu_content_alt  matchgroup=sisu_control start="^\s*def\s" matchgroup=NONE end="[?!]\|\>" skip="\.\|\(::\)" oneline
1795555acc0SBram Moolenaarendif " Expensive?
180f233048aSBram Moolenaar
1815dc6252dSBram Moolenaar"% "Headers And Headings: (Document Instructions)
1825555acc0SBram Moolenaarsyn match sisu_control contains=sisu_error,sisu_error_wspace "4\~! \S\+"
1835555acc0SBram Moolenaarsyn region  sisu_markpara contains=sisu_error,sisu_error_wspace start="^=begin" end="^=end.*$"
184f233048aSBram Moolenaar
1855dc6252dSBram Moolenaar"% "Errors:
18600a927d6SBram Moolenaarsyn match sisu_error_wspace contains=sisu_error_wspace "^\s\+[^:]"
1875555acc0SBram Moolenaarsyn match sisu_error_wspace contains=sisu_error_wspace "\s\s\+"
1885dc6252dSBram Moolenaarsyn match sisu_error_wspace contains=sisu_error_wspace "\s\+$"
189c6fe9195SBram Moolenaarsyn match sisu_error contains=sisu_error_wspace "\t\+"
190f233048aSBram Moolenaarsyn match sisu_error contains=sisu_error,sisu_error_wspace "\([^ (][_\\]\||[^ (}]\)https\?:\S\+"
191f233048aSBram Moolenaarsyn match sisu_error contains=sisu_error "_\?https\?:\S\+[}><]"
19200a927d6SBram Moolenaarsyn match sisu_error contains=sisu_error "\([!*/_\+,^]\){\([^(\}\1)]\)\{-}\n$"
19300a927d6SBram Moolenaarsyn match sisu_error contains=sisu_error "^[\~]{[^{]\{-}\n$"
1945555acc0SBram Moolenaarsyn match sisu_error contains=sisu_error "\s\+.{{"
1955555acc0SBram Moolenaarsyn match sisu_error contains=sisu_error "^\~\s*$"
19600a927d6SBram Moolenaarsyn match sisu_error contains=sisu_error "^0\~.*"
19700a927d6SBram Moolenaarsyn match sisu_error contains=sisu_error "^[1-9]\~\s*$"
19800a927d6SBram Moolenaarsyn match sisu_error contains=sisu_error "^[1-9]\~\S\+\s*$"
1995555acc0SBram Moolenaarsyn match sisu_error contains=sisu_error "[^{]\~\^[^ \)]"
2005555acc0SBram Moolenaarsyn match sisu_error contains=sisu_error "\~\^\s\+\.\s*"
201b21e5843SBram Moolenaarsyn match sisu_error contains=sisu_error "{\~^\S\+"
2025555acc0SBram Moolenaarsyn match sisu_error contains=sisu_error "[_/\*!^]{[ .,:;?><]*}[_/\*!^]"
2035555acc0SBram Moolenaarsyn match sisu_error contains=sisu_error "[^ (\"'(\[][_/\*!]{\|}[_/\*!][a-zA-Z0-9)\]\"']"
2045555acc0SBram Moolenaarsyn match sisu_error contains=sisu_error "<dir>"
205d8fc5c0bSBram Moolenaar"errors for filetype sisu, though not error in 'metaverse':
2065555acc0SBram Moolenaarsyn match sisu_error contains=sisu_error,sisu_match,sisu_strikeout,sisu_contain,sisu_content_alt,sisu_mark,sisu_break,sisu_number "<[a-zA-Z\/]\+>"
20700a927d6SBram Moolenaarsyn match sisu_error  "/\?<\([biu]\)>[^(</\1>)]\{-}\n$"
208f233048aSBram Moolenaar
2095dc6252dSBram Moolenaar"% "Error Exceptions:
21000a927d6SBram Moolenaarsyn match sisu_control "\n$" "contains=ALL
2115dc6252dSBram Moolenaar"syn match sisu_control " //"
2125555acc0SBram Moolenaarsyn match sisu_error   "%{"
213f233048aSBram Moolenaarsyn match sisu_error   "<br>_\?https\?:\S\+\|_\?https\?:\S\+<br>"
214f233048aSBram Moolenaarsyn match sisu_error   "[><]_\?https\?:\S\+\|_\?https\?:\S\+[><]"
21500a927d6SBram Moolenaarsyn match sisu_comment "^%\{1,2\}.\+"
216f233048aSBram Moolenaar
2175dc6252dSBram Moolenaar"% "Definitions Default Highlighting:
218f233048aSBram Moolenaarhi def link sisu_normal                Normal
2195dc6252dSBram Moolenaarhi def link sisu_bold                  Statement
220f233048aSBram Moolenaarhi def link sisu_header                PreProc
22100a927d6SBram Moolenaarhi def link sisu_header_content        Normal
22200a927d6SBram Moolenaarhi def link sisu_sub_header_title      Statement
22300a927d6SBram Moolenaarhi def link sisu_sub_header_creator    Statement
2245dc6252dSBram Moolenaarhi def link sisu_sub_header_date       Statement
2255dc6252dSBram Moolenaarhi def link sisu_sub_header_publisher  Statement
22600a927d6SBram Moolenaarhi def link sisu_sub_header_rights     Statement
22700a927d6SBram Moolenaarhi def link sisu_sub_header_classify   Statement
228ad3b366cSBram Moolenaarhi def link sisu_sub_header_identifier Statement
22900a927d6SBram Moolenaarhi def link sisu_sub_header_original   Statement
2305dc6252dSBram Moolenaarhi def link sisu_sub_header_links      Statement
2315dc6252dSBram Moolenaarhi def link sisu_sub_header_notes      Statement
2325dc6252dSBram Moolenaarhi def link sisu_sub_header_make       Statement
233f233048aSBram Moolenaarhi def link sisu_heading               Title
234f233048aSBram Moolenaarhi def link sisu_structure             Operator
235f233048aSBram Moolenaarhi def link sisu_contain               Include
2365dc6252dSBram Moolenaarhi def link sisu_mark_endnote          Delimiter
237f233048aSBram Moolenaarhi def link sisu_require               NonText
238f233048aSBram Moolenaarhi def link sisu_link                  NonText
239f233048aSBram Moolenaarhi def link sisu_linked                String
2405dc6252dSBram Moolenaarhi def link sisu_fontface              Delimiter
241f233048aSBram Moolenaarhi def link sisu_strikeout             DiffDelete
242f233048aSBram Moolenaarhi def link sisu_content_alt           Special
243f233048aSBram Moolenaarhi def link sisu_sem_content           SpecialKey
244f233048aSBram Moolenaarhi def link sisu_sem_block             Special
245f233048aSBram Moolenaarhi def link sisu_sem_marker            Visual
246f233048aSBram Moolenaar"hi def link sisu_sem_marker            Structure
247f233048aSBram Moolenaarhi def link sisu_sem_marker_block      MatchParen
248f233048aSBram Moolenaarhi def link sisu_sem_ex_marker         FoldColumn
249f233048aSBram Moolenaarhi def link sisu_sem_ex_marker_block   Folded
250f233048aSBram Moolenaarhi def link sisu_sem_ex_content        Comment
251f233048aSBram Moolenaar"hi def link sisu_sem_ex_content        SpecialKey
252f233048aSBram Moolenaarhi def link sisu_sem_ex_block          Comment
2535c73622aSBram Moolenaarhi def link sisu_index                 SpecialKey
2545c73622aSBram Moolenaarhi def link sisu_index_block           Visual
255f233048aSBram Moolenaarhi def link sisu_content_endnote       Special
2565dc6252dSBram Moolenaarhi def link sisu_control               Delimiter
25791e15e13SBram Moolenaarhi def link sisu_within_index          Delimiter
25891e15e13SBram Moolenaarhi def link sisu_within_index_ignore   SpecialKey
259f233048aSBram Moolenaarhi def link sisu_ocn                   Include
260f233048aSBram Moolenaarhi def link sisu_number                Number
261f233048aSBram Moolenaarhi def link sisu_identifier            Function
262f233048aSBram Moolenaarhi def link sisu_underline             Underlined
263f233048aSBram Moolenaarhi def link sisu_markpara              Include
264f233048aSBram Moolenaarhi def link sisu_marktail              Include
265f233048aSBram Moolenaarhi def link sisu_mark                  Identifier
266f233048aSBram Moolenaarhi def link sisu_break                 Structure
267f233048aSBram Moolenaarhi def link sisu_html                  Type
268f233048aSBram Moolenaarhi def link sisu_action                Identifier
269f233048aSBram Moolenaarhi def link sisu_comment               Comment
270f233048aSBram Moolenaarhi def link sisu_error_sem_marker      Error
271f233048aSBram Moolenaarhi def link sisu_error_wspace          Error
272f233048aSBram Moolenaarhi def link sisu_error                 Error
2735555acc0SBram Moolenaarlet b:current_syntax = "sisu"
2745dc6252dSBram Moolenaarlet &cpo = s:cpo_save
2755dc6252dSBram Moolenaarunlet s:cpo_save
276