Mercurial > vim
annotate runtime/syntax/tex.vim @ 2479:f8f81a88a047 vim73
Runtime file updates.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 03 Aug 2010 23:00:38 +0200 |
parents | d55e70cabe2c |
children | ed997d0ceb26 |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: TeX | |
477 | 3 " Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM> |
2479 | 4 " Last Change: Aug 03, 2010 |
5 " Version: 54 | |
477 | 6 " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax |
7 | 7 " |
8 " Notes: {{{1 | |
9 " | |
10 " 1. If you have a \begin{verbatim} that appears to overrun its boundaries, | |
11 " use %stopzone. | |
12 " | |
13 " 2. Run-on equations ($..$ and $$..$$, particularly) can also be stopped | |
14 " by suitable use of %stopzone. | |
15 " | |
16 " 3. If you have a slow computer, you may wish to modify | |
17 " | |
18 " syn sync maxlines=200 | |
19 " syn sync minlines=50 | |
20 " | |
21 " to values that are more to your liking. | |
22 " | |
23 " 4. There is no match-syncing for $...$ and $$...$$; hence large | |
24 " equation blocks constructed that way may exhibit syncing problems. | |
25 " (there's no difference between begin/end patterns) | |
26 " | |
27 " 5. If you have the variable "g:tex_no_error" defined then none of the | |
28 " lexical error-checking will be done. | |
29 " | |
30 " ie. let g:tex_no_error=1 | |
31 | |
32 " Version Clears: {{{1 | |
33 " For version 5.x: Clear all syntax items | |
34 " For version 6.x: Quit when a syntax file was already loaded | |
35 if version < 600 | |
36 syntax clear | |
37 elseif exists("b:current_syntax") | |
38 finish | |
39 endif | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
40 scriptencoding utf-8 |
7 | 41 |
42 " Define the default highlighting. {{{1 | |
43 " For version 5.7 and earlier: only when not done already | |
44 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
45 if version >= 508 || !exists("did_tex_syntax_inits") | |
46 let did_tex_syntax_inits = 1 | |
47 if version < 508 | |
48 command -nargs=+ HiLink hi link <args> | |
49 else | |
50 command -nargs=+ HiLink hi def link <args> | |
51 endif | |
52 endif | |
53 if exists("g:tex_tex") && !exists("g:tex_no_error") | |
54 let g:tex_no_error= 1 | |
55 endif | |
56 | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
57 " let user determine which classes of concealment will be supported |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
58 " a=accents/ligatures m=math symbols g=Greek s=superscripts/subscripts |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
59 if !exists("g:tex_conceal") |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
60 let s:tex_conceal= 'amgs' |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
61 else |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
62 let s:tex_conceal= g:tex_conceal |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
63 endif |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
64 |
190 | 65 " Determine whether or not to use "*.sty" mode {{{1 |
7 | 66 " The user may override the normal determination by setting |
67 " g:tex_stylish to 1 (for "*.sty" mode) | |
68 " or to 0 else (normal "*.tex" mode) | |
69 " or on a buffer-by-buffer basis with b:tex_stylish | |
70 let b:extfname=expand("%:e") | |
71 if exists("g:tex_stylish") | |
72 let b:tex_stylish= g:tex_stylish | |
73 elseif !exists("b:tex_stylish") | |
74 if b:extfname == "sty" || b:extfname == "cls" || b:extfname == "clo" || b:extfname == "dtx" || b:extfname == "ltx" | |
75 let b:tex_stylish= 1 | |
76 else | |
77 let b:tex_stylish= 0 | |
78 endif | |
79 endif | |
80 | |
190 | 81 " handle folding {{{1 |
82 if !exists("g:tex_fold_enabled") | |
83 let g:tex_fold_enabled= 0 | |
84 elseif g:tex_fold_enabled && !has("folding") | |
527 | 85 let g:tex_fold_enabled= 0 |
190 | 86 echomsg "Ignoring g:tex_fold_enabled=".g:tex_fold_enabled."; need to re-compile vim for +fold support" |
87 endif | |
88 if g:tex_fold_enabled && &fdm == "manual" | |
2152 | 89 setl fdm=syntax |
190 | 90 endif |
91 | |
7 | 92 " (La)TeX keywords: only use the letters a-zA-Z {{{1 |
93 " but _ is the only one that causes problems. | |
94 if version < 600 | |
95 set isk-=_ | |
96 if b:tex_stylish | |
97 set isk+=@ | |
98 endif | |
99 else | |
100 setlocal isk-=_ | |
101 if b:tex_stylish | |
102 setlocal isk+=@ | |
103 endif | |
104 endif | |
105 | |
106 " Clusters: {{{1 | |
107 " -------- | |
108 syn cluster texCmdGroup contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSectionMarker,texSectionName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle | |
109 if !exists("g:tex_no_error") | |
110 syn cluster texCmdGroup add=texMathError | |
111 endif | |
112 syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement | |
477 | 113 syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texSectionMarker,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract |
482 | 114 syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell |
2034 | 115 syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher |
12 | 116 syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter |
7 | 117 if !exists("tex_no_math") |
118 syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ | |
119 syn cluster texMatchGroup add=@texMathZones | |
120 syn cluster texMathDelimGroup contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2 | |
121 syn cluster texMathMatchGroup contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone | |
2417 | 122 syn cluster texMathZoneGroup contains=texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle |
7 | 123 if !exists("g:tex_no_error") |
124 syn cluster texMathMatchGroup add=texMathError | |
125 syn cluster texMathZoneGroup add=texMathError | |
126 endif | |
482 | 127 syn cluster texMathZoneGroup add=@NoSpell |
128 " following used in the \part \chapter \section \subsection \subsubsection | |
129 " \paragraph \subparagraph \author \title highlighting | |
130 syn cluster texDocGroup contains=texPartZone,@texPartGroup | |
131 syn cluster texPartGroup contains=texChapterZone,texSectionZone,texParaZone | |
132 syn cluster texChapterGroup contains=texSectionZone,texParaZone | |
133 syn cluster texSectionGroup contains=texSubSectionZone,texParaZone | |
134 syn cluster texSubSectionGroup contains=texSubSubSectionZone,texParaZone | |
135 syn cluster texSubSubSectionGroup contains=texParaZone | |
136 syn cluster texParaGroup contains=texSubParaZone | |
2282
a888ed7ba375
Make updating text for conceal mode simpler. A few compiler warning fixes.
Bram Moolenaar <bram@vim.org>
parents:
2152
diff
changeset
|
137 if has("conceal") && &enc == 'utf-8' |
2424
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
138 syn cluster texMathZoneGroup add=texGreek,texSuperscript,texSubscript,texMathSymbol |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
139 syn cluster texMathMatchGroup add=texGreek,texSuperscript,texSubscript,texMathSymbol |
2282
a888ed7ba375
Make updating text for conceal mode simpler. A few compiler warning fixes.
Bram Moolenaar <bram@vim.org>
parents:
2152
diff
changeset
|
140 endif |
7 | 141 endif |
142 | |
143 " Try to flag {} and () mismatches: {{{1 | |
144 if !exists("g:tex_no_error") | |
145 syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup,texError | |
146 syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup,texError | |
147 else | |
148 syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup | |
149 syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup | |
150 endif | |
36 | 151 syn region texParen start="(" end=")" contains=@texMatchGroup,@Spell |
7 | 152 if !exists("g:tex_no_error") |
153 syn match texError "[}\])]" | |
154 endif | |
155 if !exists("tex_no_math") | |
156 if !exists("g:tex_no_error") | |
157 syn match texMathError "}" contained | |
158 endif | |
159 syn region texMathMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup | |
160 endif | |
161 | |
162 " TeX/LaTeX keywords: {{{1 | |
163 " Instead of trying to be All Knowing, I just match \..alphameric.. | |
164 " Note that *.tex files may not have "@" in their \commands | |
165 if exists("g:tex_tex") || b:tex_stylish | |
166 syn match texStatement "\\[a-zA-Z@]\+" | |
167 else | |
168 syn match texStatement "\\\a\+" | |
169 if !exists("g:tex_no_error") | |
170 syn match texError "\\\a*@[a-zA-Z@]*" | |
171 endif | |
172 endif | |
173 | |
174 " TeX/LaTeX delimiters: {{{1 | |
175 syn match texDelimiter "&" | |
176 syn match texDelimiter "\\\\" | |
177 | |
178 " Tex/Latex Options: {{{1 | |
179 syn match texOption "[^\\]\zs#\d\+\|^#\d\+" | |
180 | |
181 " texAccent (tnx to Karim Belabas) avoids annoying highlighting for accents: {{{1 | |
182 if b:tex_stylish | |
183 syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1 | |
184 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 | |
185 else | |
186 syn match texAccent "\\[bcdvuH]\A"me=e-1 | |
187 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)\A"me=e-1 | |
188 endif | |
189 syn match texAccent "\\[bcdvuH]$" | |
190 syn match texAccent +\\[=^.\~"`']+ | |
191 syn match texAccent +\\['=t'.c^ud"vb~Hr]{\a}+ | |
192 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$" | |
193 | |
194 " \begin{}/\end{} section markers: {{{1 | |
195 syn match texSectionMarker "\\begin\>\|\\end\>" nextgroup=texSectionName | |
2034 | 196 syn region texSectionName matchgroup=Delimiter start="{" end="}" contained nextgroup=texSectionModifier contains=texComment |
197 syn region texSectionModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment | |
7 | 198 |
199 " \documentclass, \documentstyle, \usepackage: {{{1 | |
200 syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texSectionName,texDocTypeArgs | |
2034 | 201 syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texSectionName contains=texComment |
7 | 202 |
760 | 203 " Preamble syntax-based folding support: {{{1 |
204 if g:tex_fold_enabled && has("folding") | |
2034 | 205 syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=texStyle,@texMatchGroup |
760 | 206 endif |
207 | |
7 | 208 " TeX input: {{{1 |
209 syn match texInput "\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7 contains=texStatement | |
2034 | 210 syn match texInputFile "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt |
7 | 211 syn match texInputFile "\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt |
212 syn match texInputCurlies "[{}]" contained | |
2034 | 213 syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained contains=texComment |
7 | 214 |
215 " Type Styles (LaTeX 2.09): {{{1 | |
216 syn match texTypeStyle "\\rm\>" | |
217 syn match texTypeStyle "\\em\>" | |
218 syn match texTypeStyle "\\bf\>" | |
219 syn match texTypeStyle "\\it\>" | |
220 syn match texTypeStyle "\\sl\>" | |
221 syn match texTypeStyle "\\sf\>" | |
222 syn match texTypeStyle "\\sc\>" | |
223 syn match texTypeStyle "\\tt\>" | |
224 | |
225 " Type Styles: attributes, commands, families, etc (LaTeX2E): {{{1 | |
226 syn match texTypeStyle "\\textbf\>" | |
227 syn match texTypeStyle "\\textit\>" | |
228 syn match texTypeStyle "\\textmd\>" | |
229 syn match texTypeStyle "\\textrm\>" | |
230 syn match texTypeStyle "\\textsc\>" | |
231 syn match texTypeStyle "\\textsf\>" | |
232 syn match texTypeStyle "\\textsl\>" | |
233 syn match texTypeStyle "\\texttt\>" | |
234 syn match texTypeStyle "\\textup\>" | |
235 syn match texTypeStyle "\\emph\>" | |
236 | |
237 syn match texTypeStyle "\\mathbb\>" | |
238 syn match texTypeStyle "\\mathbf\>" | |
239 syn match texTypeStyle "\\mathcal\>" | |
240 syn match texTypeStyle "\\mathfrak\>" | |
241 syn match texTypeStyle "\\mathit\>" | |
242 syn match texTypeStyle "\\mathnormal\>" | |
243 syn match texTypeStyle "\\mathrm\>" | |
244 syn match texTypeStyle "\\mathsf\>" | |
245 syn match texTypeStyle "\\mathtt\>" | |
246 | |
247 syn match texTypeStyle "\\rmfamily\>" | |
248 syn match texTypeStyle "\\sffamily\>" | |
249 syn match texTypeStyle "\\ttfamily\>" | |
250 | |
251 syn match texTypeStyle "\\itshape\>" | |
252 syn match texTypeStyle "\\scshape\>" | |
253 syn match texTypeStyle "\\slshape\>" | |
254 syn match texTypeStyle "\\upshape\>" | |
255 | |
256 syn match texTypeStyle "\\bfseries\>" | |
257 syn match texTypeStyle "\\mdseries\>" | |
258 | |
259 " Some type sizes: {{{1 | |
260 syn match texTypeSize "\\tiny\>" | |
261 syn match texTypeSize "\\scriptsize\>" | |
262 syn match texTypeSize "\\footnotesize\>" | |
263 syn match texTypeSize "\\small\>" | |
264 syn match texTypeSize "\\normalsize\>" | |
265 syn match texTypeSize "\\large\>" | |
266 syn match texTypeSize "\\Large\>" | |
267 syn match texTypeSize "\\LARGE\>" | |
268 syn match texTypeSize "\\huge\>" | |
269 syn match texTypeSize "\\Huge\>" | |
270 | |
271 " Spacecodes (TeX'isms): {{{1 | |
272 " \mathcode`\^^@="2201 \delcode`\(="028300 \sfcode`\)=0 \uccode`X=`X \lccode`x=`x | |
273 syn match texSpaceCode "\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup=texSpaceCodeChar | |
274 syn match texSpaceCodeChar "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained | |
275 | |
276 " Sections, subsections, etc: {{{1 | |
190 | 277 if g:tex_fold_enabled && has("folding") |
1620 | 278 syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup,@Spell |
279 syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texPartGroup,@Spell | |
280 syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texChapterGroup,@Spell | |
281 syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSectionGroup,@Spell | |
282 syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSectionGroup,@Spell | |
283 syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSubSectionGroup,@Spell | |
284 syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texParaGroup,@Spell | |
285 syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@Spell | |
286 syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup,@Spell | |
287 syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup,@Spell | |
36 | 288 else |
1620 | 289 syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell |
290 syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup,@Spell | |
291 syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup,@Spell | |
292 syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup,@Spell | |
293 syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup,@Spell | |
294 syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup,@Spell | |
295 syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup,@Spell | |
296 syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@Spell | |
297 syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell | |
298 syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell | |
36 | 299 endif |
7 | 300 |
301 " Bad Math (mismatched): {{{1 | |
302 if !exists("tex_no_math") | |
303 syn match texBadMath "\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|subequations\|smallmatrix\|xxalignat\)\s*}" | |
304 syn match texBadMath "\\end\s*{\s*\(align\|alignat\|displaymath\|displaymath\|eqnarray\|equation\|flalign\|gather\|math\|multline\|xalignat\)\*\=\s*}" | |
305 syn match texBadMath "\\[\])]" | |
306 endif | |
307 | |
308 " Math Zones: {{{1 | |
309 if !exists("tex_no_math") | |
477 | 310 " TexNewMathZone: function creates a mathzone with the given suffix and mathzone name. {{{2 |
7 | 311 " Starred forms are created if starform is true. Starred |
312 " forms have syntax group and synchronization groups with a | |
313 " "S" appended. Handles: cluster, syntax, sync, and HiLink. | |
314 fun! TexNewMathZone(sfx,mathzone,starform) | |
315 let grpname = "texMathZone".a:sfx | |
316 let syncname = "texSyncMathZone".a:sfx | |
1620 | 317 if g:tex_fold_enabled |
318 let foldcmd= " fold" | |
319 else | |
320 let foldcmd= "" | |
321 endif | |
7 | 322 exe "syn cluster texMathZones add=".grpname |
1620 | 323 exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd |
7 | 324 exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' |
325 exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' | |
2034 | 326 exe 'hi def link '.grpname.' texMath' |
7 | 327 if a:starform |
328 let grpname = "texMathZone".a:sfx.'S' | |
329 let syncname = "texSyncMathZone".a:sfx.'S' | |
330 exe "syn cluster texMathZones add=".grpname | |
1620 | 331 exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd |
7 | 332 exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' |
333 exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' | |
2034 | 334 exe 'hi def link '.grpname.' texMath' |
7 | 335 endif |
336 endfun | |
337 | |
338 " Standard Math Zones: {{{2 | |
339 call TexNewMathZone("A","align",1) | |
340 call TexNewMathZone("B","alignat",1) | |
341 call TexNewMathZone("C","displaymath",1) | |
342 call TexNewMathZone("D","eqnarray",1) | |
343 call TexNewMathZone("E","equation",1) | |
344 call TexNewMathZone("F","flalign",1) | |
345 call TexNewMathZone("G","gather",1) | |
346 call TexNewMathZone("H","math",1) | |
347 call TexNewMathZone("I","multline",1) | |
348 call TexNewMathZone("J","subequations",0) | |
349 call TexNewMathZone("K","xalignat",1) | |
350 call TexNewMathZone("L","xxalignat",0) | |
351 | |
352 " Inline Math Zones: {{{2 | |
2424
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
353 if has("conceal") && &enc == 'utf-8' |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
354 syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend concealends contains=@texMathZoneGroup |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
355 syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend concealends contains=@texMathZoneGroup |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
356 syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" concealends contains=@texMathZoneGroup |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
357 syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" concealends keepend contains=@texMathZoneGroup |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
358 else |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
359 syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
360 syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend contains=@texMathZoneGroup |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
361 syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
362 syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" keepend contains=@texMathZoneGroup |
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
363 endif |
2282
a888ed7ba375
Make updating text for conceal mode simpler. A few compiler warning fixes.
Bram Moolenaar <bram@vim.org>
parents:
2152
diff
changeset
|
364 syn region texMathZoneZ matchgroup=texStatement start="\\ensuremath\s*{" matchgroup=texStatement end="}" end="%stopzone\>" contains=@texMathZoneGroup |
7 | 365 |
366 syn match texMathOper "[_^=]" contained | |
367 | |
368 " \left..something.. and \right..something.. support: {{{2 | |
369 syn match texMathDelimBad contained "\S" | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
370 if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'm' |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
371 syn match texMathDelim contained "\\left\\{\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar={ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
372 syn match texMathDelim contained "\\right\\}\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar=} |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
373 else |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
374 syn match texMathDelim contained "\\\(left\|right\)\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
375 endif |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
376 syn match texMathDelim contained "\\\([bB]igg\=[lr]\)\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad |
7 | 377 syn match texMathDelim contained "\\\(left\|right\)arrow\>\|\<\([aA]rrow\|brace\)\=vert\>" |
378 syn match texMathDelim contained "\\lefteqn\>" | |
379 syn match texMathDelimSet2 contained "\\" nextgroup=texMathDelimKey,texMathDelimBad | |
380 syn match texMathDelimSet1 contained "[<>()[\]|/.]\|\\[{}|]" | |
381 syn keyword texMathDelimKey contained backslash lceil lVert rgroup uparrow | |
382 syn keyword texMathDelimKey contained downarrow lfloor rangle rmoustache Uparrow | |
383 syn keyword texMathDelimKey contained Downarrow lgroup rbrace rvert updownarrow | |
384 syn keyword texMathDelimKey contained langle lmoustache rceil rVert Updownarrow | |
385 syn keyword texMathDelimKey contained lbrace lvert rfloor | |
386 endif | |
387 | |
388 " Special TeX characters ( \$ \& \% \# \{ \} \_ \S \P ) : {{{1 | |
389 syn match texSpecialChar "\\[$&%#{}_]" | |
390 if b:tex_stylish | |
391 syn match texSpecialChar "\\[SP@][^a-zA-Z@]"me=e-1 | |
392 else | |
393 syn match texSpecialChar "\\[SP@]\A"me=e-1 | |
394 endif | |
395 syn match texSpecialChar "\\\\" | |
396 if !exists("tex_no_math") | |
397 syn match texOnlyMath "[_^]" | |
398 endif | |
399 syn match texSpecialChar "\^\^[0-9a-f]\{2}\|\^\^\S" | |
400 | |
401 " Comments: {{{1 | |
402 " Normal TeX LaTeX : %.... | |
403 " Documented TeX Format: ^^A... -and- leading %s (only) | |
1620 | 404 if !exists("g:tex_comment_nospell") || !g:tex_comment_nospell |
405 syn cluster texCommentGroup contains=texTodo,@Spell | |
406 else | |
407 syn cluster texCommentGroup contains=texTodo,@NoSpell | |
408 endif | |
7 | 409 syn case ignore |
827 | 410 syn keyword texTodo contained combak fixme todo xxx |
7 | 411 syn case match |
412 if b:extfname == "dtx" | |
413 syn match texComment "\^\^A.*$" contains=@texCommentGroup | |
414 syn match texComment "^%\+" contains=@texCommentGroup | |
415 else | |
699 | 416 if g:tex_fold_enabled |
417 " allows syntax-folding of 2 or more contiguous comment lines | |
418 " single-line comments are not folded | |
419 syn match texComment "%.*$" contains=@texCommentGroup | |
420 syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' fold | |
421 else | |
422 syn match texComment "%.*$" contains=@texCommentGroup | |
423 endif | |
7 | 424 endif |
425 | |
426 " Separate lines used for verb` and verb# so that the end conditions {{{1 | |
427 " will appropriately terminate. Ideally vim would let me save a | |
428 " character from the start pattern and re-use it in the end-pattern. | |
2034 | 429 syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell |
836 | 430 " listings package: |
431 syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>" contains=@Spell | |
432 " moreverb package: | |
433 syn region texZone start="\\begin{verbatimtab}" end="\\end{verbatimtab}\|%stopzone\>" contains=@Spell | |
434 syn region texZone start="\\begin{verbatimwrite}" end="\\end{verbatimwrite}\|%stopzone\>" contains=@Spell | |
435 syn region texZone start="\\begin{boxedverbatim}" end="\\end{boxedverbatim}\|%stopzone\>" contains=@Spell | |
7 | 436 if version < 600 |
437 syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>" | |
438 syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>" | |
439 else | |
440 if b:tex_stylish | |
441 syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" | |
442 else | |
443 syn region texZone start="\\verb\*\=\z([^\ta-zA-Z]\)" end="\z1\|%stopzone\>" | |
444 endif | |
445 endif | |
446 | |
447 " Tex Reference Zones: {{{1 | |
12 | 448 syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup |
449 syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup | |
450 syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup | |
451 syn region texRefZone matchgroup=texStatement start="\\label{" end="}\|%stopzone\>" contains=@texRefGroup | |
452 syn region texRefZone matchgroup=texStatement start="\\\(page\|eq\)ref{" end="}\|%stopzone\>" contains=@texRefGroup | |
453 syn region texRefZone matchgroup=texStatement start="\\v\=ref{" end="}\|%stopzone\>" contains=@texRefGroup | |
587 | 454 syn match texRefZone '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite |
455 syn region texRefOption contained matchgroup=Delimiter start='\[' end=']' contains=@texRefGroup nextgroup=texRefOption,texCite | |
456 syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup | |
7 | 457 |
458 " Handle newcommand, newenvironment : {{{1 | |
459 syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl | |
460 syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texCmdArgs,texCmdBody skipwhite skipnl | |
461 syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]" nextgroup=texCmdBody skipwhite skipnl | |
462 syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=Delimiter end="}" contains=@texCmdGroup | |
463 syn match texNewEnv "\\newenvironment\>" nextgroup=texEnvName skipwhite skipnl | |
464 syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvBgn skipwhite skipnl | |
465 syn region texEnvBgn contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup | |
466 syn region texEnvEnd contained matchgroup=Delimiter start="{"rs=s+1 end="}" skipwhite skipnl contains=@texEnvGroup | |
467 | |
468 " Definitions/Commands: {{{1 | |
469 syn match texDefCmd "\\def\>" nextgroup=texDefName skipwhite skipnl | |
470 if b:tex_stylish | |
471 syn match texDefName contained "\\[a-zA-Z@]\+" nextgroup=texDefParms,texCmdBody skipwhite skipnl | |
472 syn match texDefName contained "\\[^a-zA-Z@]" nextgroup=texDefParms,texCmdBody skipwhite skipnl | |
473 else | |
474 syn match texDefName contained "\\\a\+" nextgroup=texDefParms,texCmdBody skipwhite skipnl | |
475 syn match texDefName contained "\\\A" nextgroup=texDefParms,texCmdBody skipwhite skipnl | |
476 endif | |
477 syn match texDefParms contained "#[^{]*" contains=texDefParm nextgroup=texCmdBody skipwhite skipnl | |
478 syn match texDefParm contained "#\d\+" | |
479 | |
480 " TeX Lengths: {{{1 | |
1121 | 481 syn match texLength "\<\d\+\([.,]\d\+\)\=\s*\(true\)\=\s*\(bp\|cc\|cm\|dd\|em\|ex\|in\|mm\|pc\|pt\|sp\)\>" |
7 | 482 |
483 " TeX String Delimiters: {{{1 | |
484 syn match texString "\(``\|''\|,,\)" | |
485 | |
2034 | 486 " makeatletter -- makeatother sections |
487 if !exists("g:tex_no_error") | |
488 syn region texStyle matchgroup=texStatement start='\\makeatletter' end='\\makeatother' contains=@texStyleGroup contained | |
489 syn match texStyleStatement "\\[a-zA-Z@]\+" contained | |
490 syn region texStyleMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texStyleGroup,texError contained | |
491 syn region texStyleMatcher matchgroup=Delimiter start="\[" end="]" contains=@texStyleGroup,texError contained | |
492 endif | |
493 | |
2417 | 494 " Conceal mode support (supports set cole=1) {{{1 |
2282
a888ed7ba375
Make updating text for conceal mode simpler. A few compiler warning fixes.
Bram Moolenaar <bram@vim.org>
parents:
2152
diff
changeset
|
495 if has("conceal") && &enc == 'utf-8' |
2417 | 496 |
497 " Math Symbols {{{2 | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
498 if s:tex_conceal =~ 'm' |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
499 syn match texMathSymbol '\\approx\>' contained conceal cchar=≈ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
500 syn match texMathSymbol '\\ast\>' contained conceal cchar=∗ |
2479 | 501 syn match texMathSymbol '\\because\>' contained conceal cchar=∵ |
502 syn match texMathSymbol '\\bigcap\>' contained conceal cchar=∩ | |
503 syn match texMathSymbol '\\bigcup\>' contained conceal cchar=∪ | |
504 syn match texMathSymbol '\\bigodot\>' contained conceal cchar=⊙ | |
505 syn match texMathSymbol '\\bigoplus\>' contained conceal cchar=⊕ | |
506 syn match texMathSymbol '\\bigotimes\>' contained conceal cchar=⊗ | |
507 syn match texMathSymbol '\\bigsqcup\>' contained conceal cchar=⊔ | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
508 syn match texMathSymbol '\\bigtriangledown\>' contained conceal cchar=∇ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
509 syn match texMathSymbol '\\bigvee\>' contained conceal cchar=⋁ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
510 syn match texMathSymbol '\\bigwedge\>' contained conceal cchar=⋀ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
511 syn match texMathSymbol '\\blacksquare\>' contained conceal cchar=∎ |
2479 | 512 syn match texMathSymbol '\\bot\>' contained conceal cchar=⊥ |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
513 syn match texMathSymbol '\\cap\>' contained conceal cchar=∩ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
514 syn match texMathSymbol '\\cdot\>' contained conceal cchar=· |
2479 | 515 syn match texMathSymbol '\\cdots\>' contained conceal cchar=⋯ |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
516 syn match texMathSymbol '\\circ\>' contained conceal cchar=∘ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
517 syn match texMathSymbol '\\circledcirc\>' contained conceal cchar=⊚ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
518 syn match texMathSymbol '\\cong\>' contained conceal cchar=≅ |
2479 | 519 syn match texMathSymbol '\\coprod\>' contained conceal cchar=∐ |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
520 syn match texMathSymbol '\\cup\>' contained conceal cchar=∪ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
521 syn match texMathSymbol '\\diamond\>' contained conceal cchar=⋄ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
522 syn match texMathSymbol '\\div\>' contained conceal cchar=÷ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
523 syn match texMathSymbol '\\doteq\>' contained conceal cchar=≐ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
524 syn match texMathSymbol '\\dotsb\>' contained conceal cchar=⋯ |
2479 | 525 syn match texMathSymbol '\\dotsc\>' contained conceal cchar=… |
526 syn match texMathSymbol '\\dots\>' contained conceal cchar=… | |
527 syn match texMathSymbol '\\dotsi\>' contained conceal cchar=⋯ | |
528 syn match texMathSymbol '\\dotso\>' contained conceal cchar=… | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
529 syn match texMathSymbol '\\emptyset\>' contained conceal cchar=∅ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
530 syn match texMathSymbol '\\equiv\>' contained conceal cchar=≡ |
2479 | 531 syn match texMathSymbol '\\exists\>' contained conceal cchar=∃ |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
532 syn match texMathSymbol '\\forall\>' contained conceal cchar=∀ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
533 syn match texMathSymbol '\\geq\>' contained conceal cchar=≥ |
2479 | 534 if &ambw == "double" |
535 syn match texMathSymbol '\\gg\>' contained conceal cchar=≫ | |
536 else | |
537 syn match texMathSymbol '\\gg\>' contained conceal cchar=⟫ | |
538 endif | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
539 syn match texMathSymbol '\\gtreqless\>' contained conceal cchar=⋛ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
540 syn match texMathSymbol '\\gtrless\>' contained conceal cchar=≷ |
2479 | 541 syn match texMathSymbol '\\iiint\>' contained conceal cchar=∭ |
542 syn match texMathSymbol '\\iint\>' contained conceal cchar=∬ | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
543 syn match texMathSymbol '\\Im\>' contained conceal cchar=ℑ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
544 syn match texMathSymbol '\\in\>' contained conceal cchar=∈ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
545 syn match texMathSymbol '\\infty\>' contained conceal cchar=∞ |
2479 | 546 syn match texMathSymbol '\\int\>' contained conceal cchar=∫ |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
547 syn match texMathSymbol '\\lceil\>' contained conceal cchar=⌈ |
2479 | 548 syn match texMathSymbol '\\ldots\>' contained conceal cchar=… |
549 syn match texMathSymbol '\\leftarrow\>' contained conceal cchar=⟵ | |
550 syn match texMathSymbol '\\Leftarrow\>' contained conceal cchar=⟸ | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
551 syn match texMathSymbol '\\left(' contained conceal cchar=( |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
552 syn match texMathSymbol '\\left\[' contained conceal cchar=[ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
553 syn match texMathSymbol '\\left\\{' contained conceal cchar={ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
554 syn match texMathSymbol '\\leq\>' contained conceal cchar=≤ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
555 syn match texMathSymbol '\\leq\>' contained conceal cchar=≤ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
556 syn match texMathSymbol '\\lesseqgtr\>' contained conceal cchar=⋚ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
557 syn match texMathSymbol '\\lfloor\>' contained conceal cchar=⌊ |
2479 | 558 if &ambw == "double" |
559 syn match texMathSymbol '\\ll\>' contained conceal cchar=≪ | |
560 else | |
561 syn match texMathSymbol '\\ll\>' contained conceal cchar=⟪ | |
562 endif | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
563 syn match texMathSymbol '\\mapsto\>' contained conceal cchar=↦ |
2479 | 564 syn match texMathSymbol '\\mid\>' contained conceal cchar=∣ |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
565 syn match texMathSymbol '\\mp\>' contained conceal cchar=∓ |
2479 | 566 syn match texMathSymbol '\\nabla\>' contained conceal cchar=∇ |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
567 syn match texMathSymbol '\\neq\>' contained conceal cchar=≠ |
2479 | 568 syn match texMathSymbol '\\nexists\>' contained conceal cchar=∄ |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
569 syn match texMathSymbol '\\ngeq\>' contained conceal cchar=≱ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
570 syn match texMathSymbol '\\ngtr\>' contained conceal cchar=≯ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
571 syn match texMathSymbol '\\nleq\>' contained conceal cchar=≰ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
572 syn match texMathSymbol '\\nless\>' contained conceal cchar=≮ |
2479 | 573 syn match texMathSymbol '\\nmid\>' contained conceal cchar=∤ |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
574 syn match texMathSymbol '\\notin\>' contained conceal cchar=∉ |
2479 | 575 syn match texMathSymbol '\\nsim\>' contained conceal cchar=≁ |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
576 syn match texMathSymbol '\\odot\>' contained conceal cchar=⊙ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
577 syn match texMathSymbol '\\oint\>' contained conceal cchar=∮ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
578 syn match texMathSymbol '\\oplus\>' contained conceal cchar=⊕ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
579 syn match texMathSymbol '\\oslash\>' contained conceal cchar=⊘ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
580 syn match texMathSymbol '\\otimes\>' contained conceal cchar=⊗ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
581 syn match texMathSymbol '\\partial\>' contained conceal cchar=∂ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
582 syn match texMathSymbol '\\perp\>' contained conceal cchar=⊥ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
583 syn match texMathSymbol '\\pm\>' contained conceal cchar=± |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
584 syn match texMathSymbol '\\prec\>' contained conceal cchar=≺ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
585 syn match texMathSymbol '\\prod\>' contained conceal cchar=∏ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
586 syn match texMathSymbol '\\propto\>' contained conceal cchar=∝ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
587 syn match texMathSymbol '\\rceil\>' contained conceal cchar=⌉ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
588 syn match texMathSymbol '\\Re\>' contained conceal cchar=ℜ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
589 syn match texMathSymbol '\\rfloor\>' contained conceal cchar=⌋ |
2479 | 590 syn match texMathSymbol '\\rightarrow\>' contained conceal cchar=⟶ |
591 syn match texMathSymbol '\\Rightarrow\>' contained conceal cchar=⟹ | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
592 syn match texMathSymbol '\\right)' contained conceal cchar=) |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
593 syn match texMathSymbol '\\right]' contained conceal cchar=] |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
594 syn match texMathSymbol '\\right\\}' contained conceal cchar=} |
2479 | 595 syn match texMathSymbol '\\setminus\>' contained conceal cchar=∖ |
596 syn match texMathSymbol '\\sim\>' contained conceal cchar=∼ | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
597 syn match texMathSymbol '\\sqcap\>' contained conceal cchar=⊓ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
598 syn match texMathSymbol '\\sqcup\>' contained conceal cchar=⊔ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
599 syn match texMathSymbol '\\subset\>' contained conceal cchar=⊂ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
600 syn match texMathSymbol '\\subseteq\>' contained conceal cchar=⊆ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
601 syn match texMathSymbol '\\subsetneq\>' contained conceal cchar=⊊ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
602 syn match texMathSymbol '\\succ\>' contained conceal cchar=≻ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
603 syn match texMathSymbol '\\sum\>' contained conceal cchar=∑ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
604 syn match texMathSymbol '\\supseteq\>' contained conceal cchar=⊇ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
605 syn match texMathSymbol '\\supsetneq\>' contained conceal cchar=⊋ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
606 syn match texMathSymbol '\\surd\>' contained conceal cchar=√ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
607 syn match texMathSymbol '\\therefore\>' contained conceal cchar=∴ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
608 syn match texMathSymbol '\\times\>' contained conceal cchar=× |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
609 syn match texMathSymbol '\\to\>' contained conceal cchar=→ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
610 syn match texMathSymbol '\\trianglelefteq\>' contained conceal cchar=⊴ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
611 syn match texMathSymbol '\\trianglerighteq\>' contained conceal cchar=⊵ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
612 syn match texMathSymbol '\\vartriangle\>' contained conceal cchar=∆ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
613 syn match texMathSymbol '\\vdots\>' contained conceal cchar=⋮ |
2479 | 614 syn match texMathSymbol '\\vee\>' contained conceal cchar=∨ |
615 syn match texMathSymbol '\\wedge\>' contained conceal cchar=∧ | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
616 endif |
2417 | 617 |
618 " Greek {{{2 | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
619 if s:tex_conceal =~ 'g' |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
620 fun! s:Greek(group,pat,cchar) |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
621 exe 'syn match '.a:group." '".a:pat."' contained conceal cchar=".a:cchar |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
622 endfun |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
623 call s:Greek('texGreek','\\alpha\>' ,'α') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
624 call s:Greek('texGreek','\\beta\>' ,'β') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
625 call s:Greek('texGreek','\\gamma\>' ,'γ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
626 call s:Greek('texGreek','\\delta\>' ,'δ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
627 call s:Greek('texGreek','\\epsilon\>' ,'ϵ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
628 call s:Greek('texGreek','\\varepsilon\>' ,'ε') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
629 call s:Greek('texGreek','\\zeta\>' ,'ζ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
630 call s:Greek('texGreek','\\eta\>' ,'η') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
631 call s:Greek('texGreek','\\theta\>' ,'θ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
632 call s:Greek('texGreek','\\vartheta\>' ,'ϑ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
633 call s:Greek('texGreek','\\kappa\>' ,'κ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
634 call s:Greek('texGreek','\\lambda\>' ,'λ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
635 call s:Greek('texGreek','\\mu\>' ,'μ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
636 call s:Greek('texGreek','\\nu\>' ,'ν') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
637 call s:Greek('texGreek','\\xi\>' ,'ξ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
638 call s:Greek('texGreek','\\pi\>' ,'π') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
639 call s:Greek('texGreek','\\varpi\>' ,'ϖ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
640 call s:Greek('texGreek','\\rho\>' ,'ρ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
641 call s:Greek('texGreek','\\varrho\>' ,'ϱ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
642 call s:Greek('texGreek','\\sigma\>' ,'σ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
643 call s:Greek('texGreek','\\varsigma\>' ,'ς') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
644 call s:Greek('texGreek','\\tau\>' ,'τ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
645 call s:Greek('texGreek','\\upsilon\>' ,'υ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
646 call s:Greek('texGreek','\\phi\>' ,'φ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
647 call s:Greek('texGreek','\\varphi\>' ,'ϕ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
648 call s:Greek('texGreek','\\chi\>' ,'χ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
649 call s:Greek('texGreek','\\psi\>' ,'ψ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
650 call s:Greek('texGreek','\\omega\>' ,'ω') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
651 call s:Greek('texGreek','\\Gamma\>' ,'Γ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
652 call s:Greek('texGreek','\\Delta\>' ,'Δ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
653 call s:Greek('texGreek','\\Theta\>' ,'Θ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
654 call s:Greek('texGreek','\\Lambda\>' ,'Λ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
655 call s:Greek('texGreek','\\Xi\>' ,'Χ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
656 call s:Greek('texGreek','\\Pi\>' ,'Π') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
657 call s:Greek('texGreek','\\Sigma\>' ,'Σ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
658 call s:Greek('texGreek','\\Upsilon\>' ,'Υ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
659 call s:Greek('texGreek','\\Phi\>' ,'Φ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
660 call s:Greek('texGreek','\\Psi\>' ,'Ψ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
661 call s:Greek('texGreek','\\Omega\>' ,'Ω') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
662 delfun s:Greek |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
663 endif |
2417 | 664 |
665 " Superscripts/Subscripts {{{2 | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
666 if s:tex_conceal =~ 's' |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
667 syn region texSuperscript matchgroup=Delimiter start='\^{' end='}' contained concealends contains=texSuperscripts,texStatement |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
668 syn region texSubscript matchgroup=Delimiter start='_{' end='}' contained concealends contains=texSubscripts,texStatement |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
669 fun! s:SuperSub(group,leader,pat,cchar) |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
670 exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
671 exe 'syn match '.a:group."s '".a:pat."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s' |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
672 endfun |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
673 call s:SuperSub('texSuperscript','\^','0','⁰') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
674 call s:SuperSub('texSuperscript','\^','1','¹') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
675 call s:SuperSub('texSuperscript','\^','2','²') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
676 call s:SuperSub('texSuperscript','\^','3','³') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
677 call s:SuperSub('texSuperscript','\^','4','⁴') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
678 call s:SuperSub('texSuperscript','\^','5','⁵') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
679 call s:SuperSub('texSuperscript','\^','6','⁶') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
680 call s:SuperSub('texSuperscript','\^','7','⁷') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
681 call s:SuperSub('texSuperscript','\^','8','⁸') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
682 call s:SuperSub('texSuperscript','\^','9','⁹') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
683 call s:SuperSub('texSuperscript','\^','a','ᵃ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
684 call s:SuperSub('texSuperscript','\^','b','ᵇ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
685 call s:SuperSub('texSuperscript','\^','c','ᶜ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
686 call s:SuperSub('texSuperscript','\^','d','ᵈ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
687 call s:SuperSub('texSuperscript','\^','e','ᵉ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
688 call s:SuperSub('texSuperscript','\^','f','ᶠ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
689 call s:SuperSub('texSuperscript','\^','g','ᵍ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
690 call s:SuperSub('texSuperscript','\^','h','ʰ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
691 call s:SuperSub('texSuperscript','\^','i','ⁱ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
692 call s:SuperSub('texSuperscript','\^','j','ʲ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
693 call s:SuperSub('texSuperscript','\^','k','ᵏ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
694 call s:SuperSub('texSuperscript','\^','l','ˡ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
695 call s:SuperSub('texSuperscript','\^','m','ᵐ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
696 call s:SuperSub('texSuperscript','\^','n','ⁿ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
697 call s:SuperSub('texSuperscript','\^','o','ᵒ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
698 call s:SuperSub('texSuperscript','\^','p','ᵖ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
699 call s:SuperSub('texSuperscript','\^','r','ʳ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
700 call s:SuperSub('texSuperscript','\^','s','ˢ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
701 call s:SuperSub('texSuperscript','\^','t','ᵗ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
702 call s:SuperSub('texSuperscript','\^','u','ᵘ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
703 call s:SuperSub('texSuperscript','\^','v','ᵛ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
704 call s:SuperSub('texSuperscript','\^','w','ʷ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
705 call s:SuperSub('texSuperscript','\^','x','ˣ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
706 call s:SuperSub('texSuperscript','\^','y','ʸ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
707 call s:SuperSub('texSuperscript','\^','z','ᶻ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
708 call s:SuperSub('texSuperscript','\^','A','ᴬ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
709 call s:SuperSub('texSuperscript','\^','B','ᴮ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
710 call s:SuperSub('texSuperscript','\^','D','ᴰ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
711 call s:SuperSub('texSuperscript','\^','E','ᴱ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
712 call s:SuperSub('texSuperscript','\^','G','ᴳ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
713 call s:SuperSub('texSuperscript','\^','H','ᴴ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
714 call s:SuperSub('texSuperscript','\^','I','ᴵ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
715 call s:SuperSub('texSuperscript','\^','J','ᴶ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
716 call s:SuperSub('texSuperscript','\^','K','ᴷ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
717 call s:SuperSub('texSuperscript','\^','L','ᴸ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
718 call s:SuperSub('texSuperscript','\^','M','ᴹ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
719 call s:SuperSub('texSuperscript','\^','N','ᴺ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
720 call s:SuperSub('texSuperscript','\^','O','ᴼ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
721 call s:SuperSub('texSuperscript','\^','P','ᴾ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
722 call s:SuperSub('texSuperscript','\^','R','ᴿ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
723 call s:SuperSub('texSuperscript','\^','T','ᵀ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
724 call s:SuperSub('texSuperscript','\^','U','ᵁ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
725 call s:SuperSub('texSuperscript','\^','W','ᵂ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
726 call s:SuperSub('texSuperscript','\^','+','⁺') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
727 call s:SuperSub('texSuperscript','\^','-','⁻') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
728 call s:SuperSub('texSuperscript','\^','<','˂') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
729 call s:SuperSub('texSuperscript','\^','>','˃') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
730 call s:SuperSub('texSuperscript','\^','/','ˊ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
731 call s:SuperSub('texSuperscript','\^','(','⁽') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
732 call s:SuperSub('texSuperscript','\^',')','⁾') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
733 call s:SuperSub('texSuperscript','\^','\.','˙') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
734 call s:SuperSub('texSuperscript','\^','=','˭') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
735 call s:SuperSub('texSubscript','_','0','₀') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
736 call s:SuperSub('texSubscript','_','1','₁') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
737 call s:SuperSub('texSubscript','_','2','₂') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
738 call s:SuperSub('texSubscript','_','3','₃') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
739 call s:SuperSub('texSubscript','_','4','₄') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
740 call s:SuperSub('texSubscript','_','5','₅') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
741 call s:SuperSub('texSubscript','_','6','₆') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
742 call s:SuperSub('texSubscript','_','7','₇') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
743 call s:SuperSub('texSubscript','_','8','₈') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
744 call s:SuperSub('texSubscript','_','9','₉') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
745 call s:SuperSub('texSubscript','_','a','ₐ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
746 call s:SuperSub('texSubscript','_','e','ₑ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
747 call s:SuperSub('texSubscript','_','i','ᵢ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
748 call s:SuperSub('texSubscript','_','o','ₒ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
749 call s:SuperSub('texSubscript','_','u','ᵤ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
750 call s:SuperSub('texSubscript','_','+','₊') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
751 call s:SuperSub('texSubscript','_','-','₋') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
752 call s:SuperSub('texSubscript','_','/','ˏ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
753 call s:SuperSub('texSubscript','_','(','₍') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
754 call s:SuperSub('texSubscript','_',')','₎') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
755 call s:SuperSub('texSubscript','_','\.','‸') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
756 call s:SuperSub('texSubscript','_','r','ᵣ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
757 call s:SuperSub('texSubscript','_','v','ᵥ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
758 call s:SuperSub('texSubscript','_','x','ₓ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
759 call s:SuperSub('texSubscript','_','\\beta\>' ,'ᵦ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
760 call s:SuperSub('texSubscript','_','\\delta\>','ᵨ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
761 call s:SuperSub('texSubscript','_','\\phi\>' ,'ᵩ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
762 call s:SuperSub('texSubscript','_','\\gamma\>','ᵧ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
763 call s:SuperSub('texSubscript','_','\\chi\>' ,'ᵪ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
764 delfun s:SuperSub |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
765 endif |
2417 | 766 |
767 " Accented characters: {{{2 | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
768 if s:tex_conceal =~ 'a' |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
769 if b:tex_stylish |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
770 syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1 |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
771 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
772 else |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
773 fun! s:Accents(chr,...) |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
774 let i= 1 |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
775 for accent in ["`","\\'","^",'"','\~',"r","v"] |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
776 if i > a:0 |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
777 break |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
778 endif |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
779 if strlen(a:{i}) == 0 |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
780 let i= i + 1 |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
781 continue |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
782 endif |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
783 exe "syn match texAccent '\\\\".accent."{".a:chr."}' conceal cchar=".a:{i} |
2424
ee4e1e140117
More accented characters in tex.vim syntax. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2417
diff
changeset
|
784 let i= i + 1 |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
785 endfor |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
786 endfun |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
787 call s:Accents('a','à','á','â','ä','ã','å','ă') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
788 call s:Accents('A','À','Á','Â','Ä','Ã','Å','Ă') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
789 call s:Accents('C',"" ,'Ć','Ĉ',"" ,"" ,"" ,'Ć') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
790 call s:Accents('e','è','é','ê','ë','ẽ',"" ,'ĕ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
791 call s:Accents('E','È','É','Ê','Ë','Ẽ',"" ,'Ė') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
792 call s:Accents('i','ì','í','î','ï','ĩ',"" ,"ĭ") |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
793 call s:Accents('I','Ì','Í','Î','Ï','Ĩ',"" ,'Ĭ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
794 call s:Accents('o','ò','ó','ô','ö','õ',"" ,'ŏ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
795 call s:Accents('O','Ò','Ó','Ô','Ö','Õ',"" ,'Ŏ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
796 call s:Accents('r',"" ,'ŕ',"" ,"" ,"" ,"" ,'ř') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
797 call s:Accents('R',"" ,'Ŕ',"" ,"" ,"" ,"" ,'Ř') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
798 call s:Accents('s',"" ,'ś','ŝ',"" ,"" ,"" ,'š') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
799 call s:Accents('S',"" ,'Ś','Ŝ',"" ,"" ,"" ,'Š') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
800 call s:Accents('u','ù','ú','û','ü','ũ',"" ,'ŭ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
801 call s:Accents('U','Ù','Ú','Û','Ü','Ũ',"" ,'Ŭ') |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
802 call s:Accents('y','ỳ','ý','ŷ','ÿ','ỹ',"" ,"" ) |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
803 call s:Accents('Y','Ỳ','Ý','Ŷ','Ÿ','Ỹ',"" ,"" ) |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
804 delfun s:Accents |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
805 syn match texAccent '\\aa\>' conceal cchar=å |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
806 syn match texAccent '\\AA\>' conceal cchar=Å |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
807 syn match texAccent '\\k{a}' conceal cchar=ą |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
808 syn match texAccent '\\k{A}' conceal cchar=Ą |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
809 syn match texAccent '\\c{C}' conceal cchar=Ç |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
810 syn match texAccent '\\c{c}' conceal cchar=ç |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
811 syn match texAccent '\\\~{n}' conceal cchar=ñ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
812 syn match texAccent '\\\~{N}' conceal cchar=Ñ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
813 syn match texAccent '\\o\>' conceal cchar=ø |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
814 syn match texAccent '\\O\>' conceal cchar=Ø |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
815 syn match texAccent '\\H{o}' conceal cchar=ő |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
816 syn match texAccent '\\H{O}' conceal cchar=Ő |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
817 syn match texAccent '\\c{r}' conceal cchar=ŗ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
818 syn match texLigature '\\AE\>' conceal cchar=Æ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
819 syn match texLigature '\\ae\>' conceal cchar=æ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
820 syn match texLigature '\\oe\>' conceal cchar=œ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
821 syn match texLigature '\\OE\>' conceal cchar=Œ |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
822 syn match texLigature '\\ss\>' conceal cchar=ß |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2424
diff
changeset
|
823 endif |
2417 | 824 endif |
2282
a888ed7ba375
Make updating text for conceal mode simpler. A few compiler warning fixes.
Bram Moolenaar <bram@vim.org>
parents:
2152
diff
changeset
|
825 endif |
a888ed7ba375
Make updating text for conceal mode simpler. A few compiler warning fixes.
Bram Moolenaar <bram@vim.org>
parents:
2152
diff
changeset
|
826 |
a888ed7ba375
Make updating text for conceal mode simpler. A few compiler warning fixes.
Bram Moolenaar <bram@vim.org>
parents:
2152
diff
changeset
|
827 " --------------------------------------------------------------------- |
7 | 828 " LaTeX synchronization: {{{1 |
829 syn sync maxlines=200 | |
830 syn sync minlines=50 | |
831 | |
832 syn sync match texSyncStop groupthere NONE "%stopzone\>" | |
833 | |
834 " Synchronization: {{{1 | |
835 " The $..$ and $$..$$ make for impossible sync patterns | |
836 " (one can't tell if a "$$" starts or stops a math zone by itself) | |
837 " The following grouptheres coupled with minlines above | |
838 " help improve the odds of good syncing. | |
839 if !exists("tex_no_math") | |
840 syn sync match texSyncMathZoneA groupthere NONE "\\end{abstract}" | |
841 syn sync match texSyncMathZoneA groupthere NONE "\\end{center}" | |
842 syn sync match texSyncMathZoneA groupthere NONE "\\end{description}" | |
843 syn sync match texSyncMathZoneA groupthere NONE "\\end{enumerate}" | |
844 syn sync match texSyncMathZoneA groupthere NONE "\\end{itemize}" | |
845 syn sync match texSyncMathZoneA groupthere NONE "\\end{table}" | |
846 syn sync match texSyncMathZoneA groupthere NONE "\\end{tabular}" | |
847 syn sync match texSyncMathZoneA groupthere NONE "\\\(sub\)*section\>" | |
848 endif | |
849 | |
2282
a888ed7ba375
Make updating text for conceal mode simpler. A few compiler warning fixes.
Bram Moolenaar <bram@vim.org>
parents:
2152
diff
changeset
|
850 " --------------------------------------------------------------------- |
7 | 851 " Highlighting: {{{1 |
852 if did_tex_syntax_inits == 1 | |
853 let did_tex_syntax_inits= 2 | |
854 " TeX highlighting groups which should share similar highlighting | |
855 if !exists("g:tex_no_error") | |
856 if !exists("tex_no_math") | |
857 HiLink texBadMath texError | |
858 HiLink texMathDelimBad texError | |
859 HiLink texMathError texError | |
860 if !b:tex_stylish | |
861 HiLink texOnlyMath texError | |
862 endif | |
863 endif | |
864 HiLink texError Error | |
865 endif | |
866 | |
587 | 867 HiLink texCite texRefZone |
7 | 868 HiLink texDefCmd texDef |
869 HiLink texDefName texDef | |
870 HiLink texDocType texCmdName | |
871 HiLink texDocTypeArgs texCmdArgs | |
872 HiLink texInputFileOpt texCmdArgs | |
873 HiLink texInputCurlies texDelimiter | |
874 HiLink texLigature texSpecialChar | |
875 if !exists("tex_no_math") | |
876 HiLink texMathDelimSet1 texMathDelim | |
877 HiLink texMathDelimSet2 texMathDelim | |
878 HiLink texMathDelimKey texMathDelim | |
879 HiLink texMathMatcher texMath | |
2034 | 880 HiLink texMathZoneV texMath |
7 | 881 HiLink texMathZoneW texMath |
882 HiLink texMathZoneX texMath | |
883 HiLink texMathZoneY texMath | |
1620 | 884 HiLink texMathZoneV texMath |
7 | 885 HiLink texMathZoneZ texMath |
886 endif | |
887 HiLink texSectionMarker texCmdName | |
888 HiLink texSectionName texSection | |
889 HiLink texSpaceCode texStatement | |
2034 | 890 HiLink texStyleStatement texStatement |
7 | 891 HiLink texTypeSize texType |
892 HiLink texTypeStyle texType | |
893 | |
894 " Basic TeX highlighting groups | |
895 HiLink texCmdArgs Number | |
896 HiLink texCmdName Statement | |
897 HiLink texComment Comment | |
898 HiLink texDef Statement | |
899 HiLink texDefParm Special | |
900 HiLink texDelimiter Delimiter | |
901 HiLink texInput Special | |
902 HiLink texInputFile Special | |
903 HiLink texLength Number | |
904 HiLink texMath Special | |
905 HiLink texMathDelim Statement | |
906 HiLink texMathOper Operator | |
907 HiLink texNewCmd Statement | |
908 HiLink texNewEnv Statement | |
909 HiLink texOption Number | |
910 HiLink texRefZone Special | |
911 HiLink texSection PreCondit | |
912 HiLink texSpaceCodeChar Special | |
913 HiLink texSpecialChar SpecialChar | |
914 HiLink texStatement Statement | |
915 HiLink texString String | |
916 HiLink texTodo Todo | |
917 HiLink texType Type | |
918 HiLink texZone PreCondit | |
919 | |
920 delcommand HiLink | |
921 endif | |
922 | |
923 " Current Syntax: {{{1 | |
924 unlet b:extfname | |
925 let b:current_syntax = "tex" | |
2479 | 926 " vim: ts=8 fdm=marker ambw=double |