summaryrefslogtreecommitdiffstats
path: root/runtime/syntax
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-08-02 22:12:46 +0200
committerBram Moolenaar <Bram@vim.org>2010-08-02 22:12:46 +0200
commit4b22cdb0609090d59f8cec26b2493abe02ea48b7 (patch)
tree36d502940d1c39a570539afa841861b58a64da46 /runtime/syntax
parent413177336f3d7f35afa5d1a96bc7f98b3123b0b6 (diff)
Syntax file updates. (Charles Campbell)
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/sh.vim44
-rw-r--r--runtime/syntax/tex.vim510
-rw-r--r--runtime/syntax/vim.vim30
-rw-r--r--runtime/syntax/yacc.vim12
4 files changed, 361 insertions, 235 deletions
diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index ef057c93e4..681ca3a45f 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -2,11 +2,11 @@
" Language: shell (sh) Korn shell (ksh) bash (sh)
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
-" Last Change: Apr 12, 2010
-" Version: 112
+" Last Change: Jul 29, 2010
+" Version: 113
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
" For options and settings, please use: :help ft-sh-syntax
-" This file includes many ideas from ric Brunet (eric.brunet@ens.fr)
+" This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr)
" For version 5.x: Clear all syntax items {{{1
" For version 6.x: Quit when a syntax file was already loaded
@@ -100,12 +100,12 @@ syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDer
" Echo: {{{1
" ====
" This one is needed INSIDE a CommandSub, so that `echo bla` be correct
-syn region shEcho matchgroup=shStatement start="\<echo\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|()]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment
-syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|()]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment
+syn region shEcho matchgroup=shStatement start="\<echo\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment
+syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment
syn match shEchoQuote contained '\%(\\\\\)*\\["`'()]'
" This must be after the strings, so that ... \" will be correct
-syn region shEmbeddedEcho contained matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|`)]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=shNumber,shExSingleQuote,shSingleQuote,shDeref,shDerefSimple,shSpecialVar,shOperator,shDoubleQuote,shCharClass,shCtrlSeq
+syn region shEmbeddedEcho contained matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|`)]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=shNumber,shExSingleQuote,shSingleQuote,shDeref,shDerefSimple,shSpecialVar,shOperator,shDoubleQuote,shCharClass,shCtrlSeq
" Alias: {{{1
" =====
@@ -211,12 +211,12 @@ else
endif
syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
if exists("b:is_bash")
- syn region shCaseExSingleQuote matchgroup=shOperator start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial skipwhite skipnl nextgroup=shCaseBar contained
+ syn region shCaseExSingleQuote matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial skipwhite skipnl nextgroup=shCaseBar contained
else
syn region shCaseExSingleQuote matchgroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained
endif
-syn region shCaseSingleQuote matchgroup=shOperator start=+'+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained
-syn region shCaseDoubleQuote matchgroup=shOperator start=+"+ skip=+\\\\\|\\.+ end=+"+ contains=@shDblQuoteList,shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained
+syn region shCaseSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained
+syn region shCaseDoubleQuote matchgroup=shQuote start=+"+ skip=+\\\\\|\\.+ end=+"+ contains=@shDblQuoteList,shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained
syn region shCaseCommandSub start=+`+ skip=+\\\\\|\\.+ end=+`+ contains=@shCommandSubList skipwhite skipnl nextgroup=shCaseBar contained
syn region shCaseRange matchgroup=Delimiter start=+\[+ skip=+\\\\+ end=+]+ contained
@@ -268,12 +268,12 @@ if exists("b:is_bash")
syn match shSpecial "\\\o\o\o\|\\x\x\x\|\\c[^"]\|\\[abefnrtv]" contained
endif
if exists("b:is_bash")
- syn region shExSingleQuote matchgroup=shOperator start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial
+ syn region shExSingleQuote matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial
else
syn region shExSingleQuote matchGroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial
endif
-syn region shSingleQuote matchgroup=shOperator start=+'+ end=+'+ contains=@Spell
-syn region shDoubleQuote matchgroup=shOperator start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
+syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
+syn region shDoubleQuote matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
syn match shStringSpecial "[^[:print:] \t]" contained
syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]"
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial
@@ -341,13 +341,13 @@ syn match shSetOption "\s\zs[-+][a-zA-Z0-9]\+\>" contained
syn match shVariable "\<\([bwglsav]:\)\=[a-zA-Z0-9.!@_%+,]*\ze=" nextgroup=shSetIdentifier
syn match shSetIdentifier "=" contained nextgroup=shPattern,shDeref,shDerefSimple,shDoubleQuote,shSingleQuote,shExSingleQuote
if exists("b:is_bash")
- syn region shSetList oneline matchgroup=shSet start="\<\(declare\|typeset\|local\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+#\|=" contains=@shIdList
- syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="\ze[;|)]\|$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<\(declare\|typeset\|local\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+#\|=" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="\ze[;|)]\|$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
elseif exists("b:is_kornshell")
- syn region shSetList oneline matchgroup=shSet start="\<\(typeset\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
- syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<\(typeset\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
else
- syn region shSetList oneline matchgroup=shSet start="\<\(set\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<\(set\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
endif
" Functions: {{{1
@@ -419,8 +419,8 @@ if exists("b:is_bash") || exists("b:is_kornshell")
syn region shDerefPattern contained start="{" end="}" contains=shDeref,shDerefSimple,shDerefString,shCommandSub nextgroup=shDerefPattern
syn match shDerefEscape contained '\%(\\\\\)*\\.'
endif
-syn region shDerefString contained matchgroup=shOperator start=+\%(\\\)\@<!'+ end=+'+ contains=shStringSpecial
-syn region shDerefString contained matchgroup=shOperator start=+\%(\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial
+syn region shDerefString contained matchgroup=shDerefDelim start=+\%(\\\)\@<!'+ end=+'+ contains=shStringSpecial
+syn region shDerefString contained matchgroup=shDerefDelim start=+\%(\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial
syn match shDerefString contained "\\["']" nextgroup=shDerefPattern
if exists("b:is_bash")
@@ -448,7 +448,7 @@ syn keyword shCondError elif else then
" Useful ksh Keywords: {{{1
" ====================
if exists("b:is_kornshell") || exists("b:is_bash")
- syn keyword shStatement autoload bg false fc fg functions getopts hash history integer jobs let nohup print printf r stop suspend times true type unalias whence
+ syn keyword shStatement autoload bg false fc fg functions getopts hash history integer jobs let nohup printf r stop suspend times true type unalias whence
if exists("g:is_posix")
syn keyword shStatement command
else
@@ -492,6 +492,7 @@ hi def link shCaseBar shConditional
hi def link shCaseCommandSub shCommandSub
hi def link shCaseDoubleQuote shDoubleQuote
hi def link shCaseIn shConditional
+hi def link shQuote shOperator
hi def link shCaseSingleQuote shSingleQuote
hi def link shCaseStart shConditional
hi def link shCmdSubRegion shShellVariables
@@ -500,12 +501,14 @@ hi def link shDerefOp shOperator
hi def link shDerefPOL shDerefOp
hi def link shDerefPPS shDerefOp
hi def link shDeref shShellVariables
+hi def link shDerefDelim shOperator
hi def link shDerefSimple shDeref
hi def link shDerefSpecial shDeref
hi def link shDerefString shDoubleQuote
hi def link shDerefVar shDeref
hi def link shDoubleQuote shString
hi def link shEcho shString
+hi def link shEchoDelim shOperator
hi def link shEchoQuote shString
hi def link shEmbeddedEcho shString
hi def link shEscape shCommandSub
@@ -522,6 +525,7 @@ hi def link shPosnParm shShellVariables
hi def link shQuickComment shComment
hi def link shRange shOperator
hi def link shRedir shOperator
+hi def link shSetListDelim shOperator
hi def link shSetOption shOption
hi def link shSingleQuote shString
hi def link shSource shOperator
diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim
index 218f9cbfde..e1753d8205 100644
--- a/runtime/syntax/tex.vim
+++ b/runtime/syntax/tex.vim
@@ -2,7 +2,7 @@
" Language: TeX
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
" Last Change: Jul 28, 2010
-" Version: 51
+" Version: 52
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Notes: {{{1
@@ -37,6 +37,7 @@ if version < 600
elseif exists("b:current_syntax")
finish
endif
+scriptencoding utf-8
" Define the default highlighting. {{{1
" For version 5.7 and earlier: only when not done already
@@ -53,6 +54,14 @@ if exists("g:tex_tex") && !exists("g:tex_no_error")
let g:tex_no_error= 1
endif
+" let user determine which classes of concealment will be supported
+" a=accents/ligatures m=math symbols g=Greek s=superscripts/subscripts
+if !exists("g:tex_conceal")
+ let s:tex_conceal= 'amgs'
+else
+ let s:tex_conceal= g:tex_conceal
+endif
+
" Determine whether or not to use "*.sty" mode {{{1
" The user may override the normal determination by setting
" g:tex_stylish to 1 (for "*.sty" mode)
@@ -358,7 +367,13 @@ if !exists("tex_no_math")
" \left..something.. and \right..something.. support: {{{2
syn match texMathDelimBad contained "\S"
- syn match texMathDelim contained "\\\(left\|right\|[bB]igg\=[lr]\)\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad
+ if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'm'
+ syn match texMathDelim contained "\\left\\{\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar={
+ syn match texMathDelim contained "\\right\\}\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar=}
+ else
+ syn match texMathDelim contained "\\\(left\|right\)\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad
+ endif
+ syn match texMathDelim contained "\\\([bB]igg\=[lr]\)\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad
syn match texMathDelim contained "\\\(left\|right\)arrow\>\|\<\([aA]rrow\|brace\)\=vert\>"
syn match texMathDelim contained "\\lefteqn\>"
syn match texMathDelimSet2 contained "\\" nextgroup=texMathDelimKey,texMathDelimBad
@@ -480,220 +495,297 @@ endif
if has("conceal") && &enc == 'utf-8'
" Math Symbols {{{2
- syn match texMathSymbol '\\left(' contained conceal cchar=(
- syn match texMathSymbol '\\right)' contained conceal cchar=)
- syn match texMathSymbol '\\left{' contained conceal cchar={
- syn match texMathSymbol '\\right}' contained conceal cchar=}
- syn match texMathSymbol '\\cdot\>' contained conceal cchar=·
- syn match texMathSymbol '\\leq\>' contained conceal cchar=≤
- syn match texMathSymbol '\\geq\>' contained conceal cchar=≥
- syn match texMathSymbol '\\cdot\>' contained conceal cchar=·
- syn match texMathSymbol '\\times\>' contained conceal cchar=×
- syn match texMathSymbol '\\div\>' contained conceal cchar=÷
- syn match texMathSymbol '\\pm\>' contained conceal cchar=±
- syn match texMathSymbol '\\neq\>' contained conceal cchar=≠
- syn match texMathSymbol '\\cong\>' contained conceal cchar=≅
+ if s:tex_conceal =~ 'm'
+ syn match texMathSymbol '\\approx\>' contained conceal cchar=≈
+ syn match texMathSymbol '\\ast\>' contained conceal cchar=∗
+ syn match texMathSymbol '\\bigtriangledown\>' contained conceal cchar=∇
+ syn match texMathSymbol '\\bigvee\>' contained conceal cchar=⋁
+ syn match texMathSymbol '\\bigwedge\>' contained conceal cchar=⋀
+ syn match texMathSymbol '\\blacksquare\>' contained conceal cchar=∎
+ syn match texMathSymbol '\\cap\>' contained conceal cchar=∩
+ syn match texMathSymbol '\\cdot\>' contained conceal cchar=·
+ syn match texMathSymbol '\\circ\>' contained conceal cchar=∘
+ syn match texMathSymbol '\\circledcirc\>' contained conceal cchar=⊚
+ syn match texMathSymbol '\\cong\>' contained conceal cchar=≅
+ syn match texMathSymbol '\\cup\>' contained conceal cchar=∪
+ syn match texMathSymbol '\\diamond\>' contained conceal cchar=⋄
+ syn match texMathSymbol '\\div\>' contained conceal cchar=÷
+ syn match texMathSymbol '\\doteq\>' contained conceal cchar=≐
+ syn match texMathSymbol '\\dotsb\>' contained conceal cchar=⋯
+ syn match texMathSymbol '\\emptyset\>' contained conceal cchar=∅
+ syn match texMathSymbol '\\equiv\>' contained conceal cchar=≡
+ syn match texMathSymbol '\\forall\>' contained conceal cchar=∀
+ syn match texMathSymbol '\\geq\>' contained conceal cchar=≥
+ syn match texMathSymbol '\\geq\>' contained conceal cchar=≥
+ syn match texMathSymbol '\\gg\>' contained conceal cchar=⟫
+ syn match texMathSymbol '\\gtreqless\>' contained conceal cchar=⋛
+ syn match texMathSymbol '\\gtrless\>' contained conceal cchar=≷
+ syn match texMathSymbol '\\Im\>' contained conceal cchar=ℑ
+ syn match texMathSymbol '\\in\>' contained conceal cchar=∈
+ syn match texMathSymbol '\\infty\>' contained conceal cchar=∞
+ syn match texMathSymbol '\\lceil\>' contained conceal cchar=⌈
+ syn match texMathSymbol '\\leftarrow\>' contained conceal cchar=⟶
+ syn match texMathSymbol '\\Leftarrow\>' contained conceal cchar=⟹
+ syn match texMathSymbol '\\left(' contained conceal cchar=(
+ syn match texMathSymbol '\\left\[' contained conceal cchar=[
+ syn match texMathSymbol '\\left\\{' contained conceal cchar={
+ syn match texMathSymbol '\\leq\>' contained conceal cchar=≤
+ syn match texMathSymbol '\\leq\>' contained conceal cchar=≤
+ syn match texMathSymbol '\\lesseqgtr\>' contained conceal cchar=⋚
+ syn match texMathSymbol '\\lfloor\>' contained conceal cchar=⌊
+ syn match texMathSymbol '\\ll\>' contained conceal cchar=⟪
+ syn match texMathSymbol '\\mapsto\>' contained conceal cchar=↦
+ syn match texMathSymbol '\\mp\>' contained conceal cchar=∓
+ syn match texMathSymbol '\\neq\>' contained conceal cchar=≠
+ syn match texMathSymbol '\\ngeq\>' contained conceal cchar=≱
+ syn match texMathSymbol '\\ngtr\>' contained conceal cchar=≯
+ syn match texMathSymbol '\\nleq\>' contained conceal cchar=≰
+ syn match texMathSymbol '\\nless\>' contained conceal cchar=≮
+ syn match texMathSymbol '\\notin\>' contained conceal cchar=∉
+ syn match texMathSymbol '\\odot\>' contained conceal cchar=⊙
+ syn match texMathSymbol '\\oint\>' contained conceal cchar=∮
+ syn match texMathSymbol '\\oplus\>' contained conceal cchar=⊕
+ syn match texMathSymbol '\\oslash\>' contained conceal cchar=⊘
+ syn match texMathSymbol '\\otimes\>' contained conceal cchar=⊗
+ syn match texMathSymbol '\\partial\>' contained conceal cchar=∂
+ syn match texMathSymbol '\\perp\>' contained conceal cchar=⊥
+ syn match texMathSymbol '\\pm\>' contained conceal cchar=±
+ syn match texMathSymbol '\\prec\>' contained conceal cchar=≺
+ syn match texMathSymbol '\\prod\>' contained conceal cchar=∏
+ syn match texMathSymbol '\\propto\>' contained conceal cchar=∝
+ syn match texMathSymbol '\\rceil\>' contained conceal cchar=⌉
+ syn match texMathSymbol '\\Re\>' contained conceal cchar=ℜ
+ syn match texMathSymbol '\\rfloor\>' contained conceal cchar=⌋
+ syn match texMathSymbol '\\rightarrow\>' contained conceal cchar=⟵
+ syn match texMathSymbol '\\Rightarrow\>' contained conceal cchar=⟸
+ syn match texMathSymbol '\\right)' contained conceal cchar=)
+ syn match texMathSymbol '\\right]' contained conceal cchar=]
+ syn match texMathSymbol '\\right\\}' contained conceal cchar=}
+ syn match texMathSymbol '\\sqcap\>' contained conceal cchar=⊓
+ syn match texMathSymbol '\\sqcup\>' contained conceal cchar=⊔
+ syn match texMathSymbol '\\subset\>' contained conceal cchar=⊂
+ syn match texMathSymbol '\\subseteq\>' contained conceal cchar=⊆
+ syn match texMathSymbol '\\subsetneq\>' contained conceal cchar=⊊
+ syn match texMathSymbol '\\succ\>' contained conceal cchar=≻
+ syn match texMathSymbol '\\sum\>' contained conceal cchar=∑
+ syn match texMathSymbol '\\supseteq\>' contained conceal cchar=⊇
+ syn match texMathSymbol '\\supsetneq\>' contained conceal cchar=⊋
+ syn match texMathSymbol '\\surd\>' contained conceal cchar=√
+ syn match texMathSymbol '\\therefore\>' contained conceal cchar=∴
+ syn match texMathSymbol '\\times\>' contained conceal cchar=×
+ syn match texMathSymbol '\\to\>' contained conceal cchar=→
+ syn match texMathSymbol '\\trianglelefteq\>' contained conceal cchar=⊴
+ syn match texMathSymbol '\\trianglerighteq\>' contained conceal cchar=⊵
+ syn match texMathSymbol '\\vartriangle\>' contained conceal cchar=∆
+ syn match texMathSymbol '\\vdots\>' contained conceal cchar=⋮
+ endif
" Greek {{{2
- fun! s:Greek(group,pat,cchar)
- exe 'syn match '.a:group." '".a:pat."' contained conceal cchar=".a:cchar
- endfun
- call s:Greek('texGreek','\\alpha\>' ,'α')
- call s:Greek('texGreek','\\beta\>' ,'β')
- call s:Greek('texGreek','\\gamma\>' ,'γ')
- call s:Greek('texGreek','\\delta\>' ,'δ')
- call s:Greek('texGreek','\\epsilon\>' ,'ϵ')
- call s:Greek('texGreek','\\varepsilon\>' ,'ε')
- call s:Greek('texGreek','\\zeta\>' ,'ζ')
- call s:Greek('texGreek','\\eta\>' ,'η')
- call s:Greek('texGreek','\\theta\>' ,'θ')
- call s:Greek('texGreek','\\vartheta\>' ,'ϑ')
- call s:Greek('texGreek','\\kappa\>' ,'κ')
- call s:Greek('texGreek','\\lambda\>' ,'λ')
- call s:Greek('texGreek','\\mu\>' ,'μ')
- call s:Greek('texGreek','\\nu\>' ,'ν')
- call s:Greek('texGreek','\\xi\>' ,'ξ')
- call s:Greek('texGreek','\\pi\>' ,'π')
- call s:Greek('texGreek','\\varpi\>' ,'ϖ')
- call s:Greek('texGreek','\\rho\>' ,'ρ')
- call s:Greek('texGreek','\\varrho\>' ,'ϱ')
- call s:Greek('texGreek','\\sigma\>' ,'σ')
- call s:Greek('texGreek','\\varsigma\>' ,'ς')
- call s:Greek('texGreek','\\tau\>' ,'τ')
- call s:Greek('texGreek','\\upsilon\>' ,'υ')
- call s:Greek('texGreek','\\phi\>' ,'φ')
- call s:Greek('texGreek','\\varphi\>' ,'ϕ')
- call s:Greek('texGreek','\\chi\>' ,'χ')
- call s:Greek('texGreek','\\psi\>' ,'ψ')
- call s:Greek('texGreek','\\omega\>' ,'ω')
- call s:Greek('texGreek','\\Gamma\>' ,'Γ')
- call s:Greek('texGreek','\\Delta\>' ,'Δ')
- call s:Greek('texGreek','\\Theta\>' ,'Θ')
- call s:Greek('texGreek','\\Lambda\>' ,'Λ')
- call s:Greek('texGreek','\\Xi\>' ,'Χ')
- call s:Greek('texGreek','\\Pi\>' ,'Π')
- call s:Greek('texGreek','\\Sigma\>' ,'Σ')
- call s:Greek('texGreek','\\Upsilon\>' ,'Υ')
- call s:Greek('texGreek','\\Phi\>' ,'Φ')
- call s:Greek('texGreek','\\Psi\>' ,'Ψ')
- call s:Greek('texGreek','\\Omega\>' ,'Ω')
- delfun s:Greek
+ if s:tex_conceal =~ 'g'
+ fun! s:Greek(group,pat,cchar)
+ exe 'syn match '.a:group." '".a:pat."' contained conceal cchar=".a:cchar
+ endfun
+ call s:Greek('texGreek','\\alpha\>' ,'α')
+ call s:Greek('texGreek','\\beta\>' ,'β')
+ call s:Greek('texGreek','\\gamma\>' ,'γ')
+ call s:Greek('texGreek','\\delta\>' ,'δ')
+ call s:Greek('texGreek','\\epsilon\>' ,'ϵ')
+ call s:Greek('texGreek','\\varepsilon\>' ,'ε')
+ call s:Greek('texGreek','\\zeta\>' ,'ζ')
+ call s:Greek('texGreek','\\eta\>' ,'η')
+ call s:Greek('texGreek','\\theta\>' ,'θ')
+ call s:Greek('texGreek','\\vartheta\>' ,'ϑ')
+ call s:Greek('texGreek','\\kappa\>' ,'κ')
+ call s:Greek('texGreek','\\lambda\>' ,'λ')
+ call s:Greek('texGreek','\\mu\>' ,'μ')
+ call s:Greek('texGreek','\\nu\>' ,'ν')
+ call s:Greek('texGreek','\\xi\>' ,'ξ')
+ call s:Greek('texGreek','\\pi\>' ,'π')
+ call s:Greek('texGreek','\\varpi\>' ,'ϖ')
+ call s:Greek('texGreek','\\rho\>' ,'ρ')
+ call s:Greek('texGreek','\\varrho\>' ,'ϱ')
+ call s:Greek('texGreek','\\sigma\>' ,'σ')
+ call s:Greek('texGreek','\\varsigma\>' ,'ς')
+ call s:Greek('texGreek','\\tau\>' ,'τ')
+ call s:Greek('texGreek','\\upsilon\>' ,'υ')
+ call s:Greek('texGreek','\\phi\>' ,'φ')
+ call s:Greek('texGreek','\\varphi\>' ,'ϕ')
+ call s:Greek('texGreek','\\chi\>' ,'χ')
+ call s:Greek('texGreek','\\psi\>' ,'ψ')
+ call s:Greek('texGreek','\\omega\>' ,'ω')
+ call s:Greek('texGreek','\\Gamma\>' ,'Γ')
+ call s:Greek('texGreek','\\Delta\>' ,'Δ')
+ call s:Greek('texGreek','\\Theta\>' ,'Θ')
+ call s:Greek('texGreek','\\Lambda\>' ,'Λ')
+ call s:Greek('texGreek','\\Xi\>' ,'Χ')
+ call s:Greek('texGreek','\\Pi\>' ,'Π')
+ call s:Greek('texGreek','\\Sigma\>' ,'Σ')
+ call s:Greek('texGreek','\\Upsilon\>' ,'Υ')
+ call s:Greek('texGreek','\\Phi\>' ,'Φ')
+ call s:Greek('texGreek','\\Psi\>' ,'Ψ')
+ call s:Greek('texGreek','\\Omega\>' ,'Ω')
+ delfun s:Greek
+ endif
" Superscripts/Subscripts {{{2
- syn region texSuperscript matchgroup=Delimiter start='\^{' end='}' contained concealends contains=texSuperscripts
- syn region texSubscript matchgroup=Delimiter start='_{' end='}' contained concealends contains=texSubscripts
- fun! s:SuperSub(group,leader,pat,cchar)
- exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar
- exe 'syn match '.a:group."s '".a:pat."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s'
- endfun
- call s:SuperSub('texSuperscript','\^','0','⁰')
- call s:SuperSub('texSuperscript','\^','1','¹')
- call s:SuperSub('texSuperscript','\^','2','²')
- call s:SuperSub('texSuperscript','\^','3','³')
- call s:SuperSub('texSuperscript','\^','4','⁴')
- call s:SuperSub('texSuperscript','\^','5','⁵')
- call s:SuperSub('texSuperscript','\^','6','⁶')
- call s:SuperSub('texSuperscript','\^','7','⁷')
- call s:SuperSub('texSuperscript','\^','8','⁸')
- call s:SuperSub('texSuperscript','\^','9','⁹')
- call s:SuperSub('texSuperscript','\^','a','ᵃ')
- call s:SuperSub('texSuperscript','\^','b','ᵇ')
- call s:SuperSub('texSuperscript','\^','c','ᶜ')
- call s:SuperSub('texSuperscript','\^','d','ᵈ')
- call s:SuperSub('texSuperscript','\^','e','ᵉ')
- call s:SuperSub('texSuperscript','\^','f','ᶠ')
- call s:SuperSub('texSuperscript','\^','g','ᵍ')
- call s:SuperSub('texSuperscript','\^','h','ʰ')
- call s:SuperSub('texSuperscript','\^','i','ⁱ')
- call s:SuperSub('texSuperscript','\^','j','ʲ')
- call s:SuperSub('texSuperscript','\^','k','ᵏ')
- call s:SuperSub('texSuperscript','\^','l','ˡ')
- call s:SuperSub('texSuperscript','\^','m','ᵐ')
- call s:SuperSub('texSuperscript','\^','n','ⁿ')
- call s:SuperSub('texSuperscript','\^','o','ᵒ')
- call s:SuperSub('texSuperscript','\^','p','ᵖ')
- call s:SuperSub('texSuperscript','\^','r','ʳ')
- call s:SuperSub('texSuperscript','\^','s','ˢ')
- call s:SuperSub('texSuperscript','\^','t','ᵗ')
- call s:SuperSub('texSuperscript','\^','u','ᵘ')
- call s:SuperSub('texSuperscript','\^','v','ᵛ')
- call s:SuperSub('texSuperscript','\^','w','ʷ')
- call s:SuperSub('texSuperscript','\^','x','ˣ')
- call s:SuperSub('texSuperscript','\^','y','ʸ')
- call s:SuperSub('texSuperscript','\^','z','ᶻ')
- call s:SuperSub('texSuperscript','\^','A','ᴬ')
- call s:SuperSub('texSuperscript','\^','B','ᴮ')
- call s:SuperSub('texSuperscript','\^','D','ᴰ')
- call s:SuperSub('texSuperscript','\^','E','ᴱ')
- call s:SuperSub('texSuperscript','\^','G','ᴳ')
- call s:SuperSub('texSuperscript','\^','H','ᴴ')
- call s:SuperSub('texSuperscript','\^','I','ᴵ')
- call s:SuperSub('texSuperscript','\^','J','ᴶ')
- call s:SuperSub('texSuperscript','\^','K','ᴷ')
- call s:SuperSub('texSuperscript','\^','L','ᴸ')
- call s:SuperSub('texSuperscript','\^','M','ᴹ')
- call s:SuperSub('texSuperscript','\^','N','ᴺ')
- call s:SuperSub('texSuperscript','\^','O','ᴼ')
- call s:SuperSub('texSuperscript','\^','P','ᴾ')
- call s:SuperSub('texSuperscript','\^','R','ᴿ')
- call s:SuperSub('texSuperscript','\^','T','ᵀ')
- call s:SuperSub('texSuperscript','\^','U','ᵁ')
- call s:SuperSub('texSuperscript','\^','W','ᵂ')
- call s:SuperSub('texSuperscript','\^','+','⁺')
- call s:SuperSub('texSuperscript','\^','-','⁻')
- call s:SuperSub('texSuperscript','\^','<','˂')
- call s:SuperSub('texSuperscript','\^','>','˃')
- call s:SuperSub('texSuperscript','\^','/','ˊ')
- call s:SuperSub('texSuperscript','\^','(','⁽')
- call s:SuperSub('texSuperscript','\^',')','⁾')
- call s:SuperSub('texSuperscript','\^','\.','˙')
- call s:SuperSub('texSuperscript','\^','=','˭')
- call s:SuperSub('texSubscript','_','0','₀')
- call s:SuperSub('texSubscript','_','1','₁')
- call s:SuperSub('texSubscript','_','2','₂')
- call s:SuperSub('texSubscript','_','3','₃')
- call s:SuperSub('texSubscript','_','4','₄')
- call s:SuperSub('texSubscript','_','5','₅')
- call s:SuperSub('texSubscript','_','6','₆')
- call s:SuperSub('texSubscript','_','7','₇')
- call s:SuperSub('texSubscript','_','8','₈')
- call s:SuperSub('texSubscript','_','9','₉')
- call s:SuperSub('texSubscript','_','a','ₐ')
- call s:SuperSub('texSubscript','_','e','ₑ')
- call s:SuperSub('texSubscript','_','i','ᵢ')
- call s:SuperSub('texSubscript','_','o','ₒ')
- call s:SuperSub('texSubscript','_','u','ᵤ')
- call s:SuperSub('texSubscript','_','+','₊')
- call s:SuperSub('texSubscript','_','-','₋')
- call s:SuperSub('texSubscript','_','/','ˏ')
- call s:SuperSub('texSubscript','_','(','₍')
- call s:SuperSub('texSubscript','_',')','₎')
- call s:SuperSub('texSubscript','_','\.','‸')
- call s:SuperSub('texSubscript','_','r','ᵣ')
- call s:SuperSub('texSubscript','_','v','ᵥ')
- call s:SuperSub('texSubscript','_','x','ₓ')
- call s:SuperSub('texSubscript','_','\\beta\>' ,'ᵦ')
- call s:SuperSub('texSubscript','_','\\delta\>','ᵨ')
- call s:SuperSub('texSubscript','_','\\phi\>' ,'ᵩ')
- call s:SuperSub('texSubscript','_','\\gamma\>','ᵧ')
- call s:SuperSub('texSubscript','_','\\chi\>' ,'ᵪ')
- delfun s:SuperSub
+ if s:tex_conceal =~ 's'
+ syn region texSuperscript matchgroup=Delimiter start='\^{' end='}' contained concealends contains=texSuperscripts,texStatement
+ syn region texSubscript matchgroup=Delimiter start='_{' end='}' contained concealends contains=texSubscripts,texStatement
+ fun! s:SuperSub(group,leader,pat,cchar)
+ exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar
+ exe 'syn match '.a:group."s '".a:pat."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s'
+ endfun
+ call s:SuperSub('texSuperscript','\^','0','⁰')
+ call s:SuperSub('texSuperscript','\^','1','¹')
+ call s:SuperSub('texSuperscript','\^','2','²')
+ call s:SuperSub('texSuperscript','\^','3','³')
+ call s:SuperSub('texSuperscript','\^','4','⁴')
+ call s:SuperSub('texSuperscript','\^','5','⁵')
+ call s:SuperSub('texSuperscript','\^','6','⁶')
+ call s:SuperSub('texSuperscript','\^','7','⁷')
+ call s:SuperSub('texSuperscript','\^','8','⁸')
+ call s:SuperSub('texSuperscript','\^','9','⁹')
+ call s:SuperSub('texSuperscript','\^','a','ᵃ')
+ call s:SuperSub('texSuperscript','\^','b','ᵇ')
+ call s:SuperSub('texSuperscript','\^','c','ᶜ')
+ call s:SuperSub('texSuperscript','\^','d','ᵈ')
+ call s:SuperSub('texSuperscript','\^','e','ᵉ')
+ call s:SuperSub('texSuperscript','\^','f','ᶠ')
+ call s:SuperSub('texSuperscript','\^','g','ᵍ')
+ call s:SuperSub('texSuperscript','\^','h','ʰ')
+ call s:SuperSub('texSuperscript','\^','i','ⁱ')
+ call s:SuperSub('texSuperscript','\^','j','ʲ')
+ call s:SuperSub('texSuperscript','\^','k','ᵏ')
+ call s:SuperSub('texSuperscript','\^','l','ˡ')
+ call s:SuperSub('texSuperscript','\^','m','ᵐ')
+ call s:SuperSub('texSuperscript','\^','n','ⁿ')
+ call s:SuperSub('texSuperscript','\^','o','ᵒ')
+ call s:SuperSub('texSuperscript','\^','p','ᵖ')
+ call s:SuperSub('texSuperscript','\^','r','ʳ')
+ call s:SuperSub('texSuperscript','\^','s','ˢ')
+ call s:SuperSub('texSuperscript','\^','t','ᵗ')
+ call s:SuperSub('texSuperscript','\^','u','ᵘ')
+ call s:SuperSub('texSuperscript','\^','v','ᵛ')
+ call s:SuperSub('texSuperscript','\^','w','ʷ')
+ call s:SuperSub('texSuperscript','\^','x','ˣ')
+ call s:SuperSub('texSuperscript','\^','y','ʸ')
+ call s:SuperSub('texSuperscript','\^','z','ᶻ')
+ call s:SuperSub('texSuperscript','\^','A','ᴬ')
+ call s:SuperSub('texSuperscript','\^','B','ᴮ')
+ call s:SuperSub('texSuperscript','\^','D','ᴰ')
+ call s:SuperSub('texSuperscript','\^','E','ᴱ')
+ call s:SuperSub('texSuperscript','\^','G','ᴳ')
+ call s:SuperSub('texSuperscript','\^','H','ᴴ')
+ call s:SuperSub('texSuperscript','\^','I','ᴵ')
+ call s:SuperSub('texSuperscript','\^','J','ᴶ')
+ call s:SuperSub('texSuperscript','\^','K','ᴷ')
+ call s:SuperSub('texSuperscript','\^','L','ᴸ')
+ call s:SuperSub('texSuperscript','\^','M','ᴹ')
+ call s:SuperSub('texSuperscript','\^','N','ᴺ')
+ call s:SuperSub('texSuperscript','\^','O','ᴼ')
+ call s:SuperSub('texSuperscript','\^','P','ᴾ')
+ call s:SuperSub('texSuperscript','\^','R','ᴿ')
+ call s:SuperSub('texSuperscript','\^','T','ᵀ')
+ call s:SuperSub('texSuperscript','\^','U','ᵁ')
+ call s:SuperSub('texSuperscript','\^','W','ᵂ')
+ call s:SuperSub('texSuperscript','\^','+','⁺')
+ call s:SuperSub('texSuperscript','\^','-','⁻')
+ call s:SuperSub('texSuperscript','\^','<','˂')
+ call s:SuperSub('texSuperscript','\^','>','˃')
+ call s:SuperSub('texSuperscript','\^','/','ˊ')
+ call s:SuperSub('texSuperscript','\^','(','⁽')
+ call s:SuperSub('texSuperscript','\^',')','⁾')
+ call s:SuperSub('texSuperscript','\^','\.','˙')
+ call s:SuperSub('texSuperscript','\^','=','˭')
+ call s:SuperSub('texSubscript','_','0','₀')
+ call s:SuperSub('texSubscript','_','1','₁')
+ call s:SuperSub('texSubscript','_','2','₂')
+ call s:SuperSub('texSubscript','_','3','₃')
+ call s:SuperSub('texSubscript','_','4','₄')
+ call s:SuperSub('texSubscript','_','5','₅')
+ call s:SuperSub('texSubscript','_','6','₆')
+ call s:SuperSub('texSubscript','_','7','₇')
+ call s:SuperSub('texSubscript','_','8','₈')
+ call s:SuperSub('texSubscript','_','9','₉')
+ call s:SuperSub('texSubscript','_','a','ₐ')
+ call s:SuperSub('texSubscript','_','e','ₑ')
+ call s:SuperSub('texSubscript','_','i','ᵢ')
+ call s:SuperSub('texSubscript','_','o','ₒ')
+ call s:SuperSub('texSubscript','_','u','ᵤ')
+ call s:SuperSub('texSubscript','_','+','₊')
+ call s:SuperSub('texSubscript','_','-','₋')
+ call s:SuperSub('texSubscript','_','/','ˏ')
+ call s:SuperSub('texSubscript','_','(','₍')
+ call s:SuperSub('texSubscript','_',')','₎')
+ call s:SuperSub('texSubscript','_','\.','‸')
+ call s:SuperSub('texSubscript','_','r','ᵣ')
+ call s:SuperSub('texSubscript','_','v','ᵥ')
+ call s:SuperSub('texSubscript','_','x','ₓ')
+ call s:SuperSub('texSubscript','_','\\beta\>' ,'ᵦ')
+ call s:SuperSub('texSubscript','_','\\delta\>','ᵨ')
+ call s:SuperSub('texSubscript','_','\\phi\>' ,'ᵩ')
+ call s:SuperSub('texSubscript','_','\\gamma\>','ᵧ')
+ call s:SuperSub('texSubscript','_','\\chi\>' ,'ᵪ')
+ delfun s:SuperSub
+ endif
" Accented characters: {{{2
- if b:tex_stylish
- syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1
- syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1
- else
- fun! s:Accents(chr,...)
- let i= 1
- for accent in ["`","\\'","^",'"','\~',"r","v"]
- if i > a:0
- break
- endif
- if strlen(a:{i}) == 0
+ if s:tex_conceal =~ 'a'
+ if b:tex_stylish
+ syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1
+ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1
+ else
+ fun! s:Accents(chr,...)
+ let i= 1
+ for accent in ["`","\\'","^",'"','\~',"r","v"]
+ if i > a:0
+ break
+ endif
+ if strlen(a:{i}) == 0
+ let i= i + 1
+ continue
+ endif
+ exe "syn match texAccent '\\\\".accent."{".a:chr."}' conceal cchar=".a:{i}
let i= i + 1
- continue
- endif
- exe "syn match texAccent '\\\\".accent."{".a:chr."}' conceal cchar=".a:{i}
- let i= i + 1
- endfor
- endfun
- call s:Accents('a','à','á','â','ä','ã','å','ă')
- call s:Accents('A','À','Á','Â','Ä','Ã','Å','Ă')
- call s:Accents('C',"" ,'Ć','Ĉ',"" ,"" ,"" ,'Ć')
- call s:Accents('e','è','é','ê','ë','ẽ',"" ,'ĕ')
- call s:Accents('E','È','É','Ê','Ë','Ẽ',"" ,'Ė')
- call s:Accents('i','ì','í','î','ï','ĩ',"" ,"ĭ")
- call s:Accents('I','Ì','Í','Î','Ï','Ĩ',"" ,'Ĭ')
- call s:Accents('o','ò','ó','ô','ö','õ',"" ,'ŏ')
- call s:Accents('O','Ò','Ó','Ô','Ö','Õ',"" ,'Ŏ')
- call s:Accents('r',"" ,'ŕ',"" ,"" ,"" ,"" ,'ř')
- call s:Accents('R',"" ,'Ŕ',"" ,"" ,"" ,"" ,'Ř')
- call s:Accents('s',"" ,'ś','ŝ',"" ,"" ,"" ,'š')
- call s:Accents('S',"" ,'Ś','Ŝ',"" ,"" ,"" ,'Š')
- call s:Accents('u','ù','ú','û','ü','ũ',"" ,'ŭ')
- call s:Accents('U','Ù','Ú','Û','Ü','Ũ',"" ,'Ŭ')
- call s:Accents('y','ỳ','ý','ŷ','ÿ','ỹ',"" ,"" )
- call s:Accents('Y','Ỳ','Ý','Ŷ','Ÿ','Ỹ',"" ,"" )
- delfun s:Accents
- syn match texAccent '\\aa\>' conceal cchar=å
- syn match texAccent '\\AA\>' conceal cchar=Å
- syn match texAccent '\\k{a}' conceal cchar=ą
- syn match texAccent '\\k{A}' conceal cchar=Ą
- syn match texAccent '\\c{C}' conceal cchar=Ç
- syn match texAccent '\\c{c}' conceal cchar=ç
- syn match texAccent '\\\~{n}' conceal cchar=ñ
- syn match texAccent '\\\~{N}' conceal cchar=Ñ
- syn match texAccent '\\o\>' conceal cchar=ø
- syn match texAccent '\\O\>' conceal cchar=Ø
- syn match texAccent '\\H{o}' conceal cchar=ő
- syn match texAccent '\\H{O}' conceal cchar=Ő
- syn match texAccent '\\c{r}' conceal cchar=ŗ
- syn match texLigature '\\AE\>' conceal cchar=Æ
- syn match texLigature '\\ae\>' conceal cchar=æ
- syn match texLigature '\\oe\>' conceal cchar=œ
- syn match texLigature '\\OE\>' conceal cchar=Œ
- syn match texLigature '\\ss\>' conceal cchar=ß
+ endfor
+ endfun
+ call s:Accents('a','à','á','â','ä','ã','å','ă')
+ call s:Accents('A','À','Á','Â','Ä','Ã','Å','Ă')
+ call s:Accents('C',"" ,'Ć','Ĉ',"" ,"" ,"" ,'Ć')
+ call s:Accents('e','è','é','ê','ë','ẽ',"" ,'ĕ')
+ call s:Accents('E','È','É','Ê','Ë','Ẽ',"" ,'Ė')
+ call s:Accents('i','ì','í','î','ï','ĩ',"" ,"ĭ")
+ call s:Accents('I','Ì','Í','Î','Ï','Ĩ',"" ,'Ĭ')
+ call s:Accents('o','ò','ó','ô','ö','õ',"" ,'ŏ')
+ call s:Accents('O','Ò','Ó','Ô','Ö','Õ',"" ,'Ŏ')
+ call s:Accents('r',"" ,'ŕ',"" ,"" ,"" ,"" ,'ř')
+ call s:Accents('R',"" ,'Ŕ',"" ,"" ,"" ,"" ,'Ř')
+ call s:Accents('s',"" ,'ś','ŝ',"" ,"" ,"" ,'š')
+ call s:Accents('S',"" ,'Ś','Ŝ',"" ,"" ,"" ,'Š')
+ call s:Accents('u','ù','ú','û','ü','ũ',"" ,'ŭ')
+ call s:Accents('U','Ù','Ú','Û','Ü','Ũ',"" ,'Ŭ')
+ call s:Accents('y','ỳ','ý','ŷ','ÿ','ỹ',"" ,"" )
+ call s:Accents('Y','Ỳ','Ý','Ŷ','Ÿ','Ỹ',"" ,"" )
+ delfun s:Accents
+ syn match texAccent '\\aa\>' conceal cchar=å
+ syn match texAccent '\\AA\>' conceal cchar=Å
+ syn match texAccent '\\k{a}' conceal cchar=ą
+ syn match texAccent '\\k{A}' conceal cchar=Ą
+ syn match texAccent '\\c{C}' conceal cchar=Ç
+ syn match texAccent '\\c{c}' conceal cchar=ç
+ syn match texAccent '\\\~{n}' conceal cchar=ñ
+ syn match texAccent '\\\~{N}' conceal cchar=Ñ
+ syn match texAccent '\\o\>' conceal cchar=ø
+ syn match texAccent '\\O\>' conceal cchar=Ø
+ syn match texAccent '\\H{o}' conceal cchar=ő
+ syn match texAccent '\\H{O}' conceal cchar=Ő
+ syn match texAccent '\\c{r}' conceal cchar=ŗ
+ syn match texLigature '\\AE\>' conceal cchar=Æ
+ syn match texLigature '\\ae\>' conceal cchar=æ
+ syn match texLigature '\\oe\>' conceal cchar=œ
+ syn match texLigature '\\OE\>' conceal cchar=Œ
+ syn match texLigature '\\ss\>' conceal cchar=ß
+ endif
endif
endif
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index edfe878719..a205d9c8a9 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 7.3 script
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change: Jul 19, 2010
-" Version: 7.3-02
+" Last Change: Jul 28, 2010
+" Version: 7.3-03
" Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2
@@ -532,19 +532,43 @@ syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' e
" Scripts : perl,ruby : Benoit Cerrina {{{2
" ======= python,tcl: Johannes Zellner
+" lua
" Allows users to specify the type of embedded script highlighting
" they want: (perl/python/ruby/tcl support)
" g:vimsyn_embed == 0 : don't embed any scripts
+" g:vimsyn_embed ~= 'l' : embed lua (but only if vim supports it)
" g:vimsyn_embed ~= 'm' : embed mzscheme (but only if vim supports it)
" g:vimsyn_embed ~= 'p' : embed perl (but only if vim supports it)
" g:vimsyn_embed ~= 'P' : embed python (but only if vim supports it)
" g:vimsyn_embed ~= 'r' : embed ruby (but only if vim supports it)
" g:vimsyn_embed ~= 't' : embed tcl (but only if vim supports it)
if !exists("g:vimsyn_embed")
- let g:vimsyn_embed= "mpPr"
+ let g:vimsyn_embed= "lmpPr"
endif
+" [-- lua --] {{{3
+let s:luapath= expand("<sfile>:p:h")."/lua.vim"
+if !filereadable(s:luapath)
+ let s:luapath= globpath(&rtp,"syntax/lua.vim")
+endif
+if (g:vimsy