comparison runtime/syntax/sisu.vim @ 822:45fad0f590d0

updated for version 7.0c12
author vimboss
date Fri, 07 Apr 2006 21:33:12 +0000
parents
children 8dd456c1e283
comparison
equal deleted inserted replaced
821:a2b128f7d705 822:45fad0f590d0
1 "%% SiSU Vim syntax file
2 " Markup: SiSU
3 " SiSU Maintainer: Ralph Amissah <ralph@amissah.com>
4 " (originally looked at Ruby Vim by Mirko Nasato)
5 if version < 600
6 syntax clear
7 elseif exists("b:current_syntax")
8 " :colorscheme green
9 finish
10 else
11 endif
12 "% 12 Errors?
13 syn match sisu_error contains=sisu_contain,sisu_control,sisu_markpara,sisu_mark,sisu_content_alt,sisu_error_wspace "<![^ei]\S\+!>"
14 "% 11 Expression Substitution: and Backslash Notation
15 "% 10 Markers: Endnote Identifiers, Pagebreaks etc.:
16 if !exists("sisu_no_identifiers")
17 syn match sisu_mark_endnote "\~^"
18 syn match sisu_contain "</\?sub>"
19 syn match sisu_break "<br>\|<br />"
20 syn match sisu_control "<p>\|</p>\|<p />\|<:p[bn]>"
21 syn match sisu_html "<center>\|</center>"
22 syn match sisu_markpara "^_\([12]\*\?\|\*\)\s\+"
23 syn match sisu_markpara "#[ 1]\|_# "
24 syn match sisu_marktail "[~-]#"
25 syn match sisu_html "<td>\|<td \|<tr>\|</td>\|</tr>\|<table>\|<table \|</table>"
26 syn match sisu_control "\""
27 syn match sisu_underline "\(^\| \)_[a-zA-Z0-9]\+_\([ .,]\|$\)"he=e-1
28 "metaverse specific
29 syn match sisu_ocn "<\~\d\+;\w\d\+;\w\d\+>"
30 syn match sisu_digest "<[0-9a-f]\{32\}:[0-9a-f]\{32\}>\|<[0-9a-f]\{32\}>"
31 syn match sisu_digest "<[0-9a-f]\{64\}:[0-9a-f]\{64\}>\|<[0-9a-f]\{64\}>"
32 syn match sisu_marktail "<\~#>"
33 syn match sisu_markpara "<:i[12]>"
34 syn match sisu_link " \*\~\S\+"
35 syn match sisu_action "^<<.\+"
36 syn match sisu_action "^<:insert\d\+>"
37 syn match sisu_contain "<:e>"
38 endif
39 "% 9 URLs Numbers: and ASCII Codes
40 syn match sisu_number "\<\(0x\x\+\|0b[01]\+\|0\o\+\|0\.\d\+\|0\|[1-9][\.0-9_]*\)\>"
41 syn match sisu_link "\(http://\|\.\./\)\S\+"
42 syn match sisu_number "?\(\\M-\\C-\|\\c\|\\C-\|\\M-\)\=\(\\\o\{3}\|\\x\x\{2}\|\\\=\w\)"
43 "% 8 Tuned Error - is error if not already matched
44 syn match sisu_error "[\~/\*!_]{\|}[\~/\*!_]" contains=sisu_error
45 syn match sisu_error "<a href\|</a>]" contains=sisu_error
46 "% 7 Simple Enclosed Markup:
47 " Simple Markup:
48 "% header
49 syn region sisu_header contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="0\~" end="$"
50 "% headings
51 syn region sisu_heading contains=sisu_mark_endnote,sisu_content_endnote,sisu_marktail,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_ocn,sisu_digest,sisu_error,sisu_error_wspace,sisu_error_spell matchgroup=sisu_heading start="[1-8]\~[^-]" end="$"
52 "% grouped text
53 syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_contain start="table{.\+" end="}table"
54 syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_contain start="{t\~h}" end="$$"
55 syn 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,sisu_error_spell matchgroup=sisu_contain start="^\(alt\|group\|poem\){" end="^}\(alt\|group\|poem\)"
56 syn region sisu_content_alt contains=sisu_error matchgroup=sisu_contain start="^code{" end="^}code"
57 "% endnotes
58 syn region sisu_content_endnote contains=sisu_digest,sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_error_spell,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\~{" end="}\~" skip="\n"
59 syn region sisu_content_endnote contains=sisu_strikeout,sisu_number,sisu_control,sisu_link,sisu_identifier,sisu_error,sisu_error_wspace,sisu_error_spell,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\^\~" end="\n\n"
60 "% images
61 syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_error,sisu_error_spell matchgroup=sisu_link start="{" end="}\(\(http://\|\.\./\)\S\+\|image\)" oneline
62 "syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_link start="{" end="}\(\(http://\|\.\./\)\S\+\|image\)" oneline
63 "sisu_identifier fix
64 ""syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_link start="{" end="}\(http\S\+\|image\)" oneline
65 "% font face curly brackets
66 syn region sisu_control contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_error,sisu_error_spell matchgroup=sisu_control start="\(\(^\| \)!_ \|<:b>\)" end="$"
67 syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_fontface start="\*{" end="}\*"
68 syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_fontface start="!{" end="}!"
69 syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_fontface start="_{" end="}_"
70 syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_fontface start="/{" end="}/"
71 syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_fontface start="+{" end="}+"
72 syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_fontface start="\^{" end="}\^"
73 syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_fontface start=",{" end="},"
74 syn region sisu_strikeout contains=sisu_error matchgroup=sisu_fontface start="-{" end="}-"
75 syn region sisu_control contains=sisu_error matchgroup=sisu_content_alt start="<b>" end="</b>" oneline
76 syn region sisu_control contains=sisu_error matchgroup=sisu_content_alt start="<em>" end="</em>" oneline
77 syn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="<u>" end="</u>" oneline
78 syn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="<i>" end="</i>" oneline
79 syn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="<ins>" end="</ins>" skip="\\\\\|\\'" oneline
80 syn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="<del>" end="</del>" oneline
81 syn region sisu_html contains=sisu_error contains=sisu_strikeout matchgroup=sisu_contain start="<a href=\".\{-}\">" end="</a>" oneline
82 "% single words bold italicise etc. "workon
83 syn region sisu_control contains=sisu_error matchgroup=sisu_control start="\([ (]\|^\)\*[^\|{\n\~\\]"hs=e-1 end="\*"he=e-0 skip="[a-zA-Z0-9']" oneline
84 syn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="\([ ]\|^\)/[^{ \|\n\\]"hs=e-1 end="/\[ \.\]" skip="[a-zA-Z0-9']" oneline
85 "syn region sisu_underline matchgroup=sisu_underline start="\([ (]\|^\)_\([^ !*{\\][\w]\|[^12][^*]\)"hs=e-2 end="\(_\([ )\.]\|$\)\| \)"he=e-1 skip="[a-zA-Z0-9']" oneline
86 "% html
87 syn region sisu_number contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,sisu_mark matchgroup=sisu_contain start="<b>" end="</b>" skip="\n"
88 syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,sisu_mark matchgroup=sisu_contain start="<i>" end="</i>" skip="\n"
89 syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,sisu_mark matchgroup=sisu_contain start="<u>" end="</u>" skip="\n"
90 "% misc
91 syn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="\^[^{\|\n\\]" end="\^[ ,.;:'})\\\n]" skip="[a-zA-Z0-9']" oneline
92 "% metaverse
93 syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell matchgroup=sisu_contain start="<:Table.\{-}>" end="<:Table[-_]end>"
94 syn region sisu_content_alt contains=sisu_error matchgroup=sisu_contain start="<:code>" end="<:code[-_]end>"
95 syn 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,sisu_error_spell matchgroup=sisu_contain start="<:alt>" end="<:alt[-_]end>"
96 syn 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,sisu_error_spell matchgroup=sisu_contain start="<:poem>" end="<:poem[-_]end>"
97 "% 6 Expensive Mode
98 " Expensive Mode:
99 if !exists("sisu_no_expensive")
100 else " not Expensive
101 syn region sisu_content_alt matchgroup=sisu_control start="^\s*def\s" matchgroup=NONE end="[?!]\|\>" skip="\.\|\(::\)" oneline
102 endif " Expensive?
103 "% 5 Headers: and Headings (Document Instructions)
104 "syn match sisu_header contains=sisu_error,sisu_error_wspace,sisu_mark "0\~.*"
105 syn match sisu_comment contains=sisu_error "^% .*\|^%% .*"
106 syn match sisu_control contains=sisu_error,sisu_error_wspace "4\~! \S\+"
107 syn region sisu_markpara contains=sisu_error,sisu_error_wspace start="^=begin" end="^=end.*$"
108 "% 4 Errors?
109 syn match sisu_error_wspace contains=sisu_error_wspace "^\s\+"
110 syn match sisu_error_wspace contains=sisu_error_wspace "\s\s\+"
111 syn match sisu_error_wspace contains=sisu_error_wspace " \s*$"
112 syn match sisu_error contains=sisu_error,sisu_error_wspace "[^ (}]http:\S\+"
113 syn match sisu_error contains=sisu_error "http:\S\+[}><]"
114 syn match sisu_error contains=sisu_error "\([!*/_\+,^]\){\([^(\}\1)]\)\{-}\n\n"
115 syn match sisu_error contains=sisu_error "^[\-\~]{[^{]\{-}\n\n"
116 syn match sisu_error contains=sisu_error "\s\+.{{"
117 syn match sisu_error contains=sisu_error "^\~\s*$"
118 syn match sisu_error contains=sisu_error "^[0-9]\~\s*$"
119 syn match sisu_error contains=sisu_error "^[0-9]\~\S\+\s*$"
120 syn match sisu_error contains=sisu_error "[^{]\~\^[^ \)]"
121 syn match sisu_error contains=sisu_error "\~\^\s\+\.\s*"
122 syn match sisu_error contains=sisu_error "[_/\*!^]{[ .,:;?><]*}[_/\*!^]"
123 syn match sisu_error contains=sisu_error "[^ (\"'(\[][_/\*!]{\|}[_/\*!][a-zA-Z0-9)\]\"']"
124 syn match sisu_error contains=sisu_error "<dir>"
125 syn match sisu_error contains=sisu_error,sisu_match,sisu_strikeout,sisu_contain,sisu_content_alt,sisu_mark,sisu_break,sisu_number "<[a-zA-Z\/]\+>"
126 syn match sisu_error "/\?<\([biu]\)>[^(</\1>)]\{-}\n\n"
127 "% 3 Error Exceptions?
128 syn match sisu_control "\n\n" "contains=ALL
129 syn match sisu_control " //"
130 syn match sisu_error "%{"
131 syn match sisu_error "<br>http:\S\+\|http:\S\+<br>"
132 syn match sisu_error "[><]http:\S\+\|http:\S\+[><]"
133 "% 2 Definitions - Define the default highlighting.
134 if version >= 508 || !exists("did_sisu_syntax_inits")
135 if version < 508
136 let did_sisu_syntax_inits = 1
137 command -nargs=+ HiLink hi link <args>
138 else
139 command -nargs=+ HiLink hi def link <args>
140 endif
141 "% 1 Defined
142 HiLink sisu_header PreProc
143 HiLink sisu_heading Title
144 HiLink sisu_contain Include
145 HiLink sisu_mark_endnote Include
146 HiLink sisu_link NonText
147 HiLink sisu_linked String
148 HiLink sisu_fontface Include
149 HiLink sisu_strikeout DiffDelete
150 HiLink sisu_content_alt Special
151 HiLink sisu_content_endnote Special
152 HiLink sisu_control Define
153 HiLink sisu_ocn Include
154 HiLink sisu_digest Identifier
155 HiLink sisu_number Number
156 HiLink sisu_identifier Function
157 HiLink sisu_underline Underlined
158 HiLink sisu_markpara Include
159 HiLink sisu_marktail Include
160 HiLink sisu_mark Identifier
161 HiLink sisu_break Structure
162 HiLink sisu_html Type
163 HiLink sisu_action Identifier
164 HiLink sisu_comment Comment
165 HiLink sisu_error_spell SpellErrors "line does nothing
166 HiLink sisu_error_wspace Error
167 HiLink sisu_error Error
168 "HiLink sisu_ Statement
169 "HiLink sisu_ Operator
170 delcommand HiLink
171 endif
172 let b:current_syntax = "sisu"