Syntax file updates. (Charles Campbell)

This commit is contained in:
Bram Moolenaar
2010-08-02 22:12:46 +02:00
parent 413177336f
commit 4b22cdb060
4 changed files with 361 additions and 235 deletions

View File

@ -2,11 +2,11 @@
" Language: shell (sh) Korn shell (ksh) bash (sh) " Language: shell (sh) Korn shell (ksh) bash (sh)
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
" Last Change: Apr 12, 2010 " Last Change: Jul 29, 2010
" Version: 112 " Version: 113
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
" For options and settings, please use: :help ft-sh-syntax " For options and settings, please use: :help ft-sh-syntax
" This file includes many ideas from <EFBFBD>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 5.x: Clear all syntax items {{{1
" For version 6.x: Quit when a syntax file was already loaded " 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 " Echo: {{{1
" ==== " ====
" This one is needed INSIDE a CommandSub, so that `echo bla` be correct " 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="\<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=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=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 '\%(\\\\\)*\\["`'()]' syn match shEchoQuote contained '\%(\\\\\)*\\["`'()]'
" This must be after the strings, so that ... \" will be correct " 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 " Alias: {{{1
" ===== " =====
@ -211,12 +211,12 @@ else
endif endif
syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
if exists("b:is_bash") 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 else
syn region shCaseExSingleQuote matchgroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained syn region shCaseExSingleQuote matchgroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained
endif endif
syn region shCaseSingleQuote matchgroup=shOperator start=+'+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained syn region shCaseSingleQuote matchgroup=shQuote 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 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 shCaseCommandSub start=+`+ skip=+\\\\\|\\.+ end=+`+ contains=@shCommandSubList skipwhite skipnl nextgroup=shCaseBar contained
syn region shCaseRange matchgroup=Delimiter start=+\[+ skip=+\\\\+ end=+]+ 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 syn match shSpecial "\\\o\o\o\|\\x\x\x\|\\c[^"]\|\\[abefnrtv]" contained
endif endif
if exists("b:is_bash") 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 else
syn region shExSingleQuote matchGroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial syn region shExSingleQuote matchGroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial
endif endif
syn region shSingleQuote matchgroup=shOperator start=+'+ end=+'+ contains=@Spell syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
syn region shDoubleQuote matchgroup=shOperator start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell syn region shDoubleQuote matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
syn match shStringSpecial "[^[:print:] \t]" contained syn match shStringSpecial "[^[:print:] \t]" contained
syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]" syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]"
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial 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 shVariable "\<\([bwglsav]:\)\=[a-zA-Z0-9.!@_%+,]*\ze=" nextgroup=shSetIdentifier
syn match shSetIdentifier "=" contained nextgroup=shPattern,shDeref,shDerefSimple,shDoubleQuote,shSingleQuote,shExSingleQuote syn match shSetIdentifier "=" contained nextgroup=shPattern,shDeref,shDerefSimple,shDoubleQuote,shSingleQuote,shExSingleQuote
if exists("b:is_bash") 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="\<\(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=shOperator 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") 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="\<\(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=shOperator 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 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 endif
" Functions: {{{1 " 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 region shDerefPattern contained start="{" end="}" contains=shDeref,shDerefSimple,shDerefString,shCommandSub nextgroup=shDerefPattern
syn match shDerefEscape contained '\%(\\\\\)*\\.' syn match shDerefEscape contained '\%(\\\\\)*\\.'
endif endif
syn region shDerefString contained matchgroup=shOperator start=+\%(\\\)\@<!'+ end=+'+ contains=shStringSpecial syn region shDerefString contained matchgroup=shDerefDelim start=+\%(\\\)\@<!'+ end=+'+ contains=shStringSpecial
syn region shDerefString contained matchgroup=shOperator start=+\%(\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial syn region shDerefString contained matchgroup=shDerefDelim start=+\%(\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial
syn match shDerefString contained "\\["']" nextgroup=shDerefPattern syn match shDerefString contained "\\["']" nextgroup=shDerefPattern
if exists("b:is_bash") if exists("b:is_bash")
@ -448,7 +448,7 @@ syn keyword shCondError elif else then
" Useful ksh Keywords: {{{1 " Useful ksh Keywords: {{{1
" ==================== " ====================
if exists("b:is_kornshell") || exists("b:is_bash") 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") if exists("g:is_posix")
syn keyword shStatement command syn keyword shStatement command
else else
@ -492,6 +492,7 @@ hi def link shCaseBar shConditional
hi def link shCaseCommandSub shCommandSub hi def link shCaseCommandSub shCommandSub
hi def link shCaseDoubleQuote shDoubleQuote hi def link shCaseDoubleQuote shDoubleQuote
hi def link shCaseIn shConditional hi def link shCaseIn shConditional
hi def link shQuote shOperator
hi def link shCaseSingleQuote shSingleQuote hi def link shCaseSingleQuote shSingleQuote
hi def link shCaseStart shConditional hi def link shCaseStart shConditional
hi def link shCmdSubRegion shShellVariables hi def link shCmdSubRegion shShellVariables
@ -500,12 +501,14 @@ hi def link shDerefOp shOperator
hi def link shDerefPOL shDerefOp hi def link shDerefPOL shDerefOp
hi def link shDerefPPS shDerefOp hi def link shDerefPPS shDerefOp
hi def link shDeref shShellVariables hi def link shDeref shShellVariables
hi def link shDerefDelim shOperator
hi def link shDerefSimple shDeref hi def link shDerefSimple shDeref
hi def link shDerefSpecial shDeref hi def link shDerefSpecial shDeref
hi def link shDerefString shDoubleQuote hi def link shDerefString shDoubleQuote
hi def link shDerefVar shDeref hi def link shDerefVar shDeref
hi def link shDoubleQuote shString hi def link shDoubleQuote shString
hi def link shEcho shString hi def link shEcho shString
hi def link shEchoDelim shOperator
hi def link shEchoQuote shString hi def link shEchoQuote shString
hi def link shEmbeddedEcho shString hi def link shEmbeddedEcho shString
hi def link shEscape shCommandSub hi def link shEscape shCommandSub
@ -522,6 +525,7 @@ hi def link shPosnParm shShellVariables
hi def link shQuickComment shComment hi def link shQuickComment shComment
hi def link shRange shOperator hi def link shRange shOperator
hi def link shRedir shOperator hi def link shRedir shOperator
hi def link shSetListDelim shOperator
hi def link shSetOption shOption hi def link shSetOption shOption
hi def link shSingleQuote shString hi def link shSingleQuote shString
hi def link shSource shOperator hi def link shSource shOperator

View File

@ -2,7 +2,7 @@
" Language: TeX " Language: TeX
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM> " Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
" Last Change: Jul 28, 2010 " Last Change: Jul 28, 2010
" Version: 51 " Version: 52
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
" "
" Notes: {{{1 " Notes: {{{1
@ -37,6 +37,7 @@ if version < 600
elseif exists("b:current_syntax") elseif exists("b:current_syntax")
finish finish
endif endif
scriptencoding utf-8
" Define the default highlighting. {{{1 " Define the default highlighting. {{{1
" For version 5.7 and earlier: only when not done already " 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 let g:tex_no_error= 1
endif 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 " Determine whether or not to use "*.sty" mode {{{1
" The user may override the normal determination by setting " The user may override the normal determination by setting
" g:tex_stylish to 1 (for "*.sty" mode) " g:tex_stylish to 1 (for "*.sty" mode)
@ -358,7 +367,13 @@ if !exists("tex_no_math")
" \left..something.. and \right..something.. support: {{{2 " \left..something.. and \right..something.. support: {{{2
syn match texMathDelimBad contained "\S" 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 "\\\(left\|right\)arrow\>\|\<\([aA]rrow\|brace\)\=vert\>"
syn match texMathDelim contained "\\lefteqn\>" syn match texMathDelim contained "\\lefteqn\>"
syn match texMathDelimSet2 contained "\\" nextgroup=texMathDelimKey,texMathDelimBad syn match texMathDelimSet2 contained "\\" nextgroup=texMathDelimKey,texMathDelimBad
@ -480,220 +495,297 @@ endif
if has("conceal") && &enc == 'utf-8' if has("conceal") && &enc == 'utf-8'
" Math Symbols {{{2 " Math Symbols {{{2
syn match texMathSymbol '\\left(' contained conceal cchar=( if s:tex_conceal =~ 'm'
syn match texMathSymbol '\\right)' contained conceal cchar=) syn match texMathSymbol '\\approx\>' contained conceal cchar=
syn match texMathSymbol '\\left{' contained conceal cchar={ syn match texMathSymbol '\\ast\>' contained conceal cchar=
syn match texMathSymbol '\\right}' contained conceal cchar=} syn match texMathSymbol '\\bigtriangledown\>' contained conceal cchar=
syn match texMathSymbol '\\cdot\>' contained conceal cchar=· syn match texMathSymbol '\\bigvee\>' contained conceal cchar=
syn match texMathSymbol '\\leq\>' contained conceal cchar= syn match texMathSymbol '\\bigwedge\>' contained conceal cchar=
syn match texMathSymbol '\\geq\>' contained conceal cchar= syn match texMathSymbol '\\blacksquare\>' contained conceal cchar=
syn match texMathSymbol '\\cdot\>' contained conceal cchar=· syn match texMathSymbol '\\cap\>' contained conceal cchar=
syn match texMathSymbol '\\times\>' contained conceal cchar=× syn match texMathSymbol '\\cdot\>' contained conceal cchar=·
syn match texMathSymbol '\\div\>' contained conceal cchar=÷ syn match texMathSymbol '\\circ\>' contained conceal cchar=
syn match texMathSymbol '\\pm\>' contained conceal cchar=± syn match texMathSymbol '\\circledcirc\>' contained conceal cchar=
syn match texMathSymbol '\\neq\>' contained conceal cchar= syn match texMathSymbol '\\cong\>' 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 " Greek {{{2
fun! s:Greek(group,pat,cchar) if s:tex_conceal =~ 'g'
exe 'syn match '.a:group." '".a:pat."' contained conceal cchar=".a:cchar fun! s:Greek(group,pat,cchar)
endfun exe 'syn match '.a:group." '".a:pat."' contained conceal cchar=".a:cchar
call s:Greek('texGreek','\\alpha\>' ,'α') endfun
call s:Greek('texGreek','\\beta\>' ,'β') call s:Greek('texGreek','\\alpha\>' ,'α')
call s:Greek('texGreek','\\gamma\>' ,'γ') call s:Greek('texGreek','\\beta\>' ,'β')
call s:Greek('texGreek','\\delta\>' ,'δ') call s:Greek('texGreek','\\gamma\>' ,'γ')
call s:Greek('texGreek','\\epsilon\>' ,'ϵ') call s:Greek('texGreek','\\delta\>' ,'δ')
call s:Greek('texGreek','\\varepsilon\>' ,'ε') call s:Greek('texGreek','\\epsilon\>' ,'ϵ')
call s:Greek('texGreek','\\zeta\>' ,'ζ') call s:Greek('texGreek','\\varepsilon\>' ,'ε')
call s:Greek('texGreek','\\eta\>' ,'η') call s:Greek('texGreek','\\zeta\>' ,'ζ')
call s:Greek('texGreek','\\theta\>' ,'θ') call s:Greek('texGreek','\\eta\>' ,'η')
call s:Greek('texGreek','\\vartheta\>' ,'ϑ') call s:Greek('texGreek','\\theta\>' ,'θ')
call s:Greek('texGreek','\\kappa\>' ,'κ') call s:Greek('texGreek','\\vartheta\>' ,'ϑ')
call s:Greek('texGreek','\\lambda\>' ,'λ') call s:Greek('texGreek','\\kappa\>' ,'κ')
call s:Greek('texGreek','\\mu\>' ,'μ') call s:Greek('texGreek','\\lambda\>' ,'λ')
call s:Greek('texGreek','\\nu\>' ,'ν') call s:Greek('texGreek','\\mu\>' ,'μ')
call s:Greek('texGreek','\\xi\>' ,'ξ') call s:Greek('texGreek','\\nu\>' ,'ν')
call s:Greek('texGreek','\\pi\>' ,'π') call s:Greek('texGreek','\\xi\>' ,'ξ')
call s:Greek('texGreek','\\varpi\>' ,'ϖ') call s:Greek('texGreek','\\pi\>' ,'π')
call s:Greek('texGreek','\\rho\>' ,'ρ') call s:Greek('texGreek','\\varpi\>' ,'ϖ')
call s:Greek('texGreek','\\varrho\>' ,'ϱ') call s:Greek('texGreek','\\rho\>' ,'ρ')
call s:Greek('texGreek','\\sigma\>' ,'σ') call s:Greek('texGreek','\\varrho\>' ,'ϱ')
call s:Greek('texGreek','\\varsigma\>' ,'ς') call s:Greek('texGreek','\\sigma\>' ,'σ')
call s:Greek('texGreek','\\tau\>' ,'τ') call s:Greek('texGreek','\\varsigma\>' ,'ς')
call s:Greek('texGreek','\\upsilon\>' ,'υ') call s:Greek('texGreek','\\tau\>' ,'τ')
call s:Greek('texGreek','\\phi\>' ,'φ') call s:Greek('texGreek','\\upsilon\>' ,'υ')
call s:Greek('texGreek','\\varphi\>' ,'ϕ') call s:Greek('texGreek','\\phi\>' ,'φ')
call s:Greek('texGreek','\\chi\>' ,'χ') call s:Greek('texGreek','\\varphi\>' ,'ϕ')
call s:Greek('texGreek','\\psi\>' ,'ψ') call s:Greek('texGreek','\\chi\>' ,'χ')
call s:Greek('texGreek','\\omega\>' ,'ω') call s:Greek('texGreek','\\psi\>' ,'ψ')
call s:Greek('texGreek','\\Gamma\>' ,'Γ') call s:Greek('texGreek','\\omega\>' ,'ω')
call s:Greek('texGreek','\\Delta\>' ,'Δ') call s:Greek('texGreek','\\Gamma\>' ,'Γ')
call s:Greek('texGreek','\\Theta\>' ,'Θ') call s:Greek('texGreek','\\Delta\>' ,'Δ')
call s:Greek('texGreek','\\Lambda\>' ,'Λ') call s:Greek('texGreek','\\Theta\>' ,'Θ')
call s:Greek('texGreek','\\Xi\>' ,'Χ') call s:Greek('texGreek','\\Lambda\>' ,'Λ')
call s:Greek('texGreek','\\Pi\>' ,'Π') call s:Greek('texGreek','\\Xi\>' ,'Χ')
call s:Greek('texGreek','\\Sigma\>' ,'Σ') call s:Greek('texGreek','\\Pi\>' ,'Π')
call s:Greek('texGreek','\\Upsilon\>' ,'Υ') call s:Greek('texGreek','\\Sigma\>' ,'Σ')
call s:Greek('texGreek','\\Phi\>' ,'Φ') call s:Greek('texGreek','\\Upsilon\>' ,'Υ')
call s:Greek('texGreek','\\Psi\>' ,'Ψ') call s:Greek('texGreek','\\Phi\>' ,'Φ')
call s:Greek('texGreek','\\Omega\>' ,'Ω') call s:Greek('texGreek','\\Psi\>' ,'Ψ')
delfun s:Greek call s:Greek('texGreek','\\Omega\>' ,'Ω')
delfun s:Greek
endif
" Superscripts/Subscripts {{{2 " Superscripts/Subscripts {{{2
syn region texSuperscript matchgroup=Delimiter start='\^{' end='}' contained concealends contains=texSuperscripts if s:tex_conceal =~ 's'
syn region texSubscript matchgroup=Delimiter start='_{' end='}' contained concealends contains=texSubscripts syn region texSuperscript matchgroup=Delimiter start='\^{' end='}' contained concealends contains=texSuperscripts,texStatement
fun! s:SuperSub(group,leader,pat,cchar) syn region texSubscript matchgroup=Delimiter start='_{' end='}' contained concealends contains=texSubscripts,texStatement
exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar fun! s:SuperSub(group,leader,pat,cchar)
exe 'syn match '.a:group."s '".a:pat."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s' exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar
endfun exe 'syn match '.a:group."s '".a:pat."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s'
call s:SuperSub('texSuperscript','\^','0','⁰') endfun
call s:SuperSub('texSuperscript','\^','1','¹') call s:SuperSub('texSuperscript','\^','0','')
call s:SuperSub('texSuperscript','\^','2','²') call s:SuperSub('texSuperscript','\^','1','¹')
call s:SuperSub('texSuperscript','\^','3','³') call s:SuperSub('texSuperscript','\^','2','²')
call s:SuperSub('texSuperscript','\^','4','') call s:SuperSub('texSuperscript','\^','3','³')
call s:SuperSub('texSuperscript','\^','5','') call s:SuperSub('texSuperscript','\^','4','')
call s:SuperSub('texSuperscript','\^','6','') call s:SuperSub('texSuperscript','\^','5','')
call s:SuperSub('texSuperscript','\^','7','') call s:SuperSub('texSuperscript','\^','6','')
call s:SuperSub('texSuperscript','\^','8','') call s:SuperSub('texSuperscript','\^','7','')
call s:SuperSub('texSuperscript','\^','9','') call s:SuperSub('texSuperscript','\^','8','')
call s:SuperSub('texSuperscript','\^','a','') call s:SuperSub('texSuperscript','\^','9','')
call s:SuperSub('texSuperscript','\^','b','') call s:SuperSub('texSuperscript','\^','a','')
call s:SuperSub('texSuperscript','\^','c','') call s:SuperSub('texSuperscript','\^','b','')
call s:SuperSub('texSuperscript','\^','d','') call s:SuperSub('texSuperscript','\^','c','')
call s:SuperSub('texSuperscript','\^','e','') call s:SuperSub('texSuperscript','\^','d','')
call s:SuperSub('texSuperscript','\^','f','') call s:SuperSub('texSuperscript','\^','e','')
call s:SuperSub('texSuperscript','\^','g','') call s:SuperSub('texSuperscript','\^','f','')
call s:SuperSub('texSuperscript','\^','h','ʰ') call s:SuperSub('texSuperscript','\^','g','')
call s:SuperSub('texSuperscript','\^','i','') call s:SuperSub('texSuperscript','\^','h','ʰ')
call s:SuperSub('texSuperscript','\^','j','ʲ') call s:SuperSub('texSuperscript','\^','i','')
call s:SuperSub('texSuperscript','\^','k','') call s:SuperSub('texSuperscript','\^','j','ʲ')
call s:SuperSub('texSuperscript','\^','l','ˡ') call s:SuperSub('texSuperscript','\^','k','')
call s:SuperSub('texSuperscript','\^','m','') call s:SuperSub('texSuperscript','\^','l','ˡ')
call s:SuperSub('texSuperscript','\^','n','') call s:SuperSub('texSuperscript','\^','m','')
call s:SuperSub('texSuperscript','\^','o','') call s:SuperSub('texSuperscript','\^','n','')
call s:SuperSub('texSuperscript','\^','p','') call s:SuperSub('texSuperscript','\^','o','')
call s:SuperSub('texSuperscript','\^','r','ʳ') call s:SuperSub('texSuperscript','\^','p','')
call s:SuperSub('texSuperscript','\^','s','ˢ') call s:SuperSub('texSuperscript','\^','r','ʳ')
call s:SuperSub('texSuperscript','\^','t','') call s:SuperSub('texSuperscript','\^','s','ˢ')
call s:SuperSub('texSuperscript','\^','u','') call s:SuperSub('texSuperscript','\^','t','')
call s:SuperSub('texSuperscript','\^','v','') call s:SuperSub('texSuperscript','\^','u','')
call s:SuperSub('texSuperscript','\^','w','ʷ') call s:SuperSub('texSuperscript','\^','v','')
call s:SuperSub('texSuperscript','\^','x','ˣ') call s:SuperSub('texSuperscript','\^','w','ʷ')
call s:SuperSub('texSuperscript','\^','y','ʸ') call s:SuperSub('texSuperscript','\^','x','ˣ')
call s:SuperSub('texSuperscript','\^','z','') call s:SuperSub('texSuperscript','\^','y','ʸ')
call s:SuperSub('texSuperscript','\^','A','') call s:SuperSub('texSuperscript','\^','z','')
call s:SuperSub('texSuperscript','\^','B','') call s:SuperSub('texSuperscript','\^','A','')
call s:SuperSub('texSuperscript','\^','D','') call s:SuperSub('texSuperscript','\^','B','')
call s:SuperSub('texSuperscript','\^','E','') call s:SuperSub('texSuperscript','\^','D','')
call s:SuperSub('texSuperscript','\^','G','') call s:SuperSub('texSuperscript','\^','E','')
call s:SuperSub('texSuperscript','\^','H','') call s:SuperSub('texSuperscript','\^','G','')
call s:SuperSub('texSuperscript','\^','I','') call s:SuperSub('texSuperscript','\^','H','')
call s:SuperSub('texSuperscript','\^','J','') call s:SuperSub('texSuperscript','\^','I','')
call s:SuperSub('texSuperscript','\^','K','') call s:SuperSub('texSuperscript','\^','J','')
call s:SuperSub('texSuperscript','\^','L','') call s:SuperSub('texSuperscript','\^','K','')
call s:SuperSub('texSuperscript','\^','M','') call s:SuperSub('texSuperscript','\^','L','')
call s:SuperSub('texSuperscript','\^','N','') call s:SuperSub('texSuperscript','\^','M','')
call s:SuperSub('texSuperscript','\^','O','') call s:SuperSub('texSuperscript','\^','N','')
call s:SuperSub('texSuperscript','\^','P','') call s:SuperSub('texSuperscript','\^','O','')
call s:SuperSub('texSuperscript','\^','R','ᴿ') call s:SuperSub('texSuperscript','\^','P','')
call s:SuperSub('texSuperscript','\^','T','') call s:SuperSub('texSuperscript','\^','R','ᴿ')
call s:SuperSub('texSuperscript','\^','U','') call s:SuperSub('texSuperscript','\^','T','')
call s:SuperSub('texSuperscript','\^','W','') call s:SuperSub('texSuperscript','\^','U','')
call s:SuperSub('texSuperscript','\^','+','') 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('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('texSuperscript','\^','=','˭')
call s:SuperSub('texSubscript','_','1','') call s:SuperSub('texSubscript','_','0','')
call s:SuperSub('texSubscript','_','2','') call s:SuperSub('texSubscript','_','1','')
call s:SuperSub('texSubscript','_','3','') call s:SuperSub('texSubscript','_','2','')
call s:SuperSub('texSubscript','_','4','') call s:SuperSub('texSubscript','_','3','')
call s:SuperSub('texSubscript','_','5','') call s:SuperSub('texSubscript','_','4','')
call s:SuperSub('texSubscript','_','6','') call s:SuperSub('texSubscript','_','5','')
call s:SuperSub('texSubscript','_','7','') call s:SuperSub('texSubscript','_','6','')
call s:SuperSub('texSubscript','_','8','') call s:SuperSub('texSubscript','_','7','')
call s:SuperSub('texSubscript','_','9','') call s:SuperSub('texSubscript','_','8','')
call s:SuperSub('texSubscript','_','a','') call s:SuperSub('texSubscript','_','9','')
call s:SuperSub('texSubscript','_','e','') call s:SuperSub('texSubscript','_','a','')
call s:SuperSub('texSubscript','_','i','') call s:SuperSub('texSubscript','_','e','')
call s:SuperSub('texSubscript','_','o','') call s:SuperSub('texSubscript','_','i','')
call s:SuperSub('texSubscript','_','u','') call s:SuperSub('texSubscript','_','o','')
call s:SuperSub('texSubscript','_','+','') 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','_',')','') call s:SuperSub('texSubscript','_','(','')
call s:SuperSub('texSubscript','_','\.','') call s:SuperSub('texSubscript','_',')','')
call s:SuperSub('texSubscript','_','r','') call s:SuperSub('texSubscript','_','\.','')
call s:SuperSub('texSubscript','_','v','') call s:SuperSub('texSubscript','_','r','')
call s:SuperSub('texSubscript','_','x','') call s:SuperSub('texSubscript','_','v','')
call s:SuperSub('texSubscript','_','\\beta\>' ,'') call s:SuperSub('texSubscript','_','x','')
call s:SuperSub('texSubscript','_','\\delta\>','') call s:SuperSub('texSubscript','_','\\beta\>' ,'')
call s:SuperSub('texSubscript','_','\\phi\>' ,'') call s:SuperSub('texSubscript','_','\\delta\>','')
call s:SuperSub('texSubscript','_','\\gamma\>','') call s:SuperSub('texSubscript','_','\\phi\>' ,'')
call s:SuperSub('texSubscript','_','\\chi\>' ,'') call s:SuperSub('texSubscript','_','\\gamma\>','')
delfun s:SuperSub call s:SuperSub('texSubscript','_','\\chi\>' ,'ᵪ')
delfun s:SuperSub
endif
" Accented characters: {{{2 " Accented characters: {{{2
if b:tex_stylish if s:tex_conceal =~ 'a'
syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1 if b:tex_stylish
syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1
else syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1
fun! s:Accents(chr,...) else
let i= 1 fun! s:Accents(chr,...)
for accent in ["`","\\'","^",'"','\~',"r","v"] let i= 1
if i > a:0 for accent in ["`","\\'","^",'"','\~',"r","v"]
break if i > a:0
endif break
if strlen(a:{i}) == 0 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 let i= i + 1
continue endfor
endif endfun
exe "syn match texAccent '\\\\".accent."{".a:chr."}' conceal cchar=".a:{i} call s:Accents('a','à','á','â','ä','ã','å','ă')
let i= i + 1 call s:Accents('A','À','Á','Â','Ä','Ã','Å','Ă')
endfor call s:Accents('C',"" ,'Ć','Ĉ',"" ,"" ,"" ,'Ć')
endfun call s:Accents('e','è','é','ê','ë','ẽ',"" ,'ĕ')
call s:Accents('a','à','á','â','ä','ã','å','ă') call s:Accents('E','È','É','Ê','Ë','',"" ,'Ė')
call s:Accents('A','À','Á','Â','Ä','Ã','Å','Ă') call s:Accents('i','ì','í','î','ï','ĩ',"" ,"ĭ")
call s:Accents('C',"" ,'Ć','Ĉ',"" ,"" ,"" ,'Ć') call s:Accents('I','Ì','Í','Î','Ï','Ĩ',"" ,'Ĭ')
call s:Accents('e','è','é','ê','ë','',"" ,'ĕ') call s:Accents('o','ò','ó','ô','ö','õ',"" ,'ŏ')
call s:Accents('E','È','É','Ê','Ë','',"" ,'Ė') call s:Accents('O','Ò','Ó','Ô','Ö','Õ',"" ,'Ŏ')
call s:Accents('i','ì','í','î','ï','ĩ',"" ,"ĭ") call s:Accents('r',"" ,'ŕ',"" ,"" ,"" ,"" ,'ř')
call s:Accents('I','Ì','Í','Î','Ï','Ĩ',"" ,'Ĭ') call s:Accents('R',"" ,'Ŕ',"" ,"" ,"" ,"" ,'Ř')
call s:Accents('o','ò','ó','ô','ö','õ',"" ,'ŏ') call s:Accents('s',"" ,'ś','ŝ',"" ,"" ,"" ,'š')
call s:Accents('O','Ò','Ó','Ô','Ö','Õ',"" ,'Ŏ') call s:Accents('S',"" ,'Ś','Ŝ',"" ,"" ,"" ,'Š')
call s:Accents('r',"" ,'ŕ',"" ,"" ,"" ,"" ,'ř') call s:Accents('u','ù','ú','û','ü','ũ',"" ,'ŭ')
call s:Accents('R',"" ,'Ŕ',"" ,"" ,"" ,"" ,'Ř') call s:Accents('U','Ù','Ú','Û','Ü','Ũ',"" ,'Ŭ')
call s:Accents('s',"" ,','ŝ',"" ,"" ,"" ,'š') call s:Accents('y','ỳ','ý',','ÿ','ỹ',"" ,"" )
call s:Accents('S',"" ,','Ŝ',"" ,"" ,"" ,'Š') call s:Accents('Y','Ỳ','Ý',','Ÿ','Ỹ',"" ,"" )
call s:Accents('u','ù','ú','û','ü','ũ',"" ,'ŭ') delfun s:Accents
call s:Accents('U','Ù','Ú','Û','Ü','Ũ',"" ,'Ŭ') syn match texAccent '\\aa\>' conceal cchar=å
call s:Accents('y','ỳ','ý','ŷ','ÿ','ỹ',"" ,"" ) syn match texAccent '\\AA\>' conceal cchar=Å
call s:Accents('Y','Ỳ','Ý','Ŷ','Ÿ','Ỹ',"" ,"" ) syn match texAccent '\\k{a}' conceal cchar=ą
delfun s:Accents syn match texAccent '\\k{A}' conceal cchar=Ą
syn match texAccent '\\aa\>' conceal cchar=å syn match texAccent '\\c{C}' conceal cchar=Ç
syn match texAccent '\\AA\>' conceal cchar=Å syn match texAccent '\\c{c}' conceal cchar=ç
syn match texAccent '\\k{a}' conceal cchar=ą syn match texAccent '\\\~{n}' conceal cchar=ñ
syn match texAccent '\\k{A}' conceal cchar=Ą syn match texAccent '\\\~{N}' conceal cchar=Ñ
syn match texAccent '\\c{C}' conceal cchar=Ç syn match texAccent '\\o\>' conceal cchar=ø
syn match texAccent '\\c{c}' conceal cchar=ç syn match texAccent '\\O\>' conceal cchar=Ø
syn match texAccent '\\\~{n}' conceal cchar=ñ syn match texAccent '\\H{o}' conceal cchar=ő
syn match texAccent '\\\~{N}' conceal cchar=Ñ syn match texAccent '\\H{O}' conceal cchar=Ő
syn match texAccent '\\o\>' conceal cchar=ø syn match texAccent '\\c{r}' conceal cchar=ŗ
syn match texAccent '\\O\>' conceal cchar=Ø syn match texLigature '\\AE\>' conceal cchar=Æ
syn match texAccent '\\H{o}' conceal cchar=ő syn match texLigature '\\ae\>' conceal cchar=æ
syn match texAccent '\\H{O}' conceal cchar=Ő syn match texLigature '\\oe\>' conceal cchar=œ
syn match texAccent '\\c{r}' conceal cchar=ŗ syn match texLigature '\\OE\>' conceal cchar=Œ
syn match texLigature '\\AE\>' conceal cchar=Æ syn match texLigature '\\ss\>' conceal cchar=ß
syn match texLigature '\\ae\>' conceal cchar=æ endif
syn match texLigature '\\oe\>' conceal cchar=œ
syn match texLigature '\\OE\>' conceal cchar=Œ
syn match texLigature '\\ss\>' conceal cchar=ß
endif endif
endif endif

View File

@ -1,8 +1,8 @@
" Vim syntax file " Vim syntax file
" Language: Vim 7.3 script " Language: Vim 7.3 script
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Jul 19, 2010 " Last Change: Jul 28, 2010
" Version: 7.3-02 " Version: 7.3-03
" Automatically generated keyword lists: {{{1 " Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2 " 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 " Scripts : perl,ruby : Benoit Cerrina {{{2
" ======= python,tcl: Johannes Zellner " ======= python,tcl: Johannes Zellner
" lua
" Allows users to specify the type of embedded script highlighting " Allows users to specify the type of embedded script highlighting
" they want: (perl/python/ruby/tcl support) " they want: (perl/python/ruby/tcl support)
" g:vimsyn_embed == 0 : don't embed any scripts " 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 ~= '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 perl (but only if vim supports it)
" g:vimsyn_embed ~= 'P' : embed python (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 ~= 'r' : embed ruby (but only if vim supports it)
" g:vimsyn_embed ~= 't' : embed tcl (but only if vim supports it) " g:vimsyn_embed ~= 't' : embed tcl (but only if vim supports it)
if !exists("g:vimsyn_embed") if !exists("g:vimsyn_embed")
let g:vimsyn_embed= "mpPr" let g:vimsyn_embed= "lmpPr"
endif 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:vimsyn_embed =~ 'p' && has("lua")) && filereadable(s:luapath)
unlet! b:current_syntax
exe "syn include @vimLuaScript ".s:luapath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'l'
syn region vimLuaRegion fold matchgroup=vimScriptDelim start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimLuaScript
syn region vimLuaRegion fold matchgroup=vimScriptDelim start=+lua\s*<<\s*$+ end=+\.$+ contains=@vimLuaScript
else
syn region vimLuaRegion matchgroup=vimScriptDelim start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimLuaScript
syn region vimLuaRegion matchgroup=vimScriptDelim start=+lua\s*<<\s*$+ end=+\.$+ contains=@vimLuaScript
endif
syn cluster vimFuncBodyList add=vimLuaRegion
else
syn region vimEmbedError start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+lua\s*<<\s*$+ end=+\.$+
endif
unlet s:luapath
" [-- perl --] {{{3 " [-- perl --] {{{3
let s:perlpath= expand("<sfile>:p:h")."/perl.vim" let s:perlpath= expand("<sfile>:p:h")."/perl.vim"
if !filereadable(s:perlpath) if !filereadable(s:perlpath)

View File

@ -1,8 +1,8 @@
" Vim syntax file " Vim syntax file
" Language: Yacc " Language: Yacc
" Maintainer: Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> " Maintainer: Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Oct 21, 2008 " Last Change: Aug 2, 2010
" Version: 7 " Version: 8
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
" "
" Options: {{{1 " Options: {{{1
@ -35,7 +35,7 @@ endif
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Yacc Clusters: {{{1 " Yacc Clusters: {{{1
syn cluster yaccInitCluster contains=yaccKey,yaccKeyActn,yaccBrkt,yaccType,yaccString,yaccUnionStart,yaccHeader2,yaccComment syn cluster yaccInitCluster contains=yaccKey,yaccKeyActn,yaccBrkt,yaccType,yaccString,yaccUnionStart,yaccHeader2,yaccComment,yaccDefines,yaccParseParam
syn cluster yaccRulesCluster contains=yaccNonterminal,yaccString syn cluster yaccRulesCluster contains=yaccNonterminal,yaccString
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
@ -49,6 +49,10 @@ HiFold syn region yaccEndCode matchgroup=yaccSectionSep start='^%%$' end='\%$'
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Yacc Commands: {{{1 " Yacc Commands: {{{1
syn match yaccDefines '^%define\s\+.*$'
syn match yaccParseParam '%parse-param\>' skipwhite nextgroup=yaccParseParamStr
syn region yaccParseParamStr contained matchgroup=Delimiter start='{' end='}' contains=cStructure
syn match yaccDelim "[:|]" contained syn match yaccDelim "[:|]" contained
syn match yaccOper "@\d\+" contained syn match yaccOper "@\d\+" contained
@ -91,6 +95,8 @@ if !exists("did_yacc_syn_inits")
HiLink yaccComment Comment HiLink yaccComment Comment
HiLink yaccCurly Delimiter HiLink yaccCurly Delimiter
HiLink yaccCurlyError Error HiLink yaccCurlyError Error
HiLink yaccDefines cDefine
HiLink yaccParseParam cDefine
HiLink yaccNonterminal Function HiLink yaccNonterminal Function
HiLink yaccDelim Delimiter HiLink yaccDelim Delimiter
HiLink yaccKeyActn Special HiLink yaccKeyActn Special