summaryrefslogtreecommitdiff
path: root/runtime/syntax
diff options
context:
space:
mode:
authorBram Moolenaar <bram@zimbu.org>2010-01-06 20:54:52 +0100
committerBram Moolenaar <bram@zimbu.org>2010-01-06 20:54:52 +0100
commitf8ccc3ff085361cbaf1f207fb4baafb2a71afaf3 (patch)
treec92ed672cbb989fa3585387ebd4598f5bdfcc637 /runtime/syntax
parent197895d1948889caa965e4e3b4cc3c277fa0dc65 (diff)
downloadvim-f8ccc3ff085361cbaf1f207fb4baafb2a71afaf3.tar.gz
Update runtime files.
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/2html.vim424
-rw-r--r--runtime/syntax/ada.vim8
-rw-r--r--runtime/syntax/ant.vim2
-rw-r--r--runtime/syntax/aspvbs.vim2
-rw-r--r--runtime/syntax/bindzone.vim2
-rw-r--r--runtime/syntax/bst.vim2
-rw-r--r--runtime/syntax/bzr.vim20
-rw-r--r--runtime/syntax/c.vim14
-rw-r--r--runtime/syntax/catalog.vim2
-rw-r--r--runtime/syntax/cl.vim2
-rw-r--r--runtime/syntax/cmake.vim10
-rw-r--r--runtime/syntax/cobol.vim2
-rw-r--r--runtime/syntax/config.vim4
-rw-r--r--runtime/syntax/cs.vim10
-rw-r--r--runtime/syntax/debchangelog.vim6
-rw-r--r--runtime/syntax/debcontrol.vim24
-rw-r--r--runtime/syntax/debsources.vim6
-rw-r--r--runtime/syntax/def.vim4
-rw-r--r--runtime/syntax/django.vim13
-rw-r--r--runtime/syntax/docbk.vim4
-rw-r--r--runtime/syntax/dosbatch.vim22
-rw-r--r--runtime/syntax/doxygen.vim6
-rw-r--r--runtime/syntax/dsl.vim2
-rw-r--r--runtime/syntax/elf.vim2
-rw-r--r--runtime/syntax/erlang.vim4
-rw-r--r--runtime/syntax/eruby.vim2
-rw-r--r--runtime/syntax/focexec.vim4
-rw-r--r--runtime/syntax/form.vim87
-rw-r--r--runtime/syntax/forth.vim2
-rw-r--r--runtime/syntax/fortran.vim4
-rw-r--r--runtime/syntax/fstab.vim26
-rw-r--r--runtime/syntax/gdb.vim4
-rw-r--r--runtime/syntax/git.vim29
-rw-r--r--runtime/syntax/gitcommit.vim30
-rw-r--r--runtime/syntax/gitconfig.vim4
-rw-r--r--runtime/syntax/gitrebase.vim8
-rw-r--r--runtime/syntax/groovy.vim1
-rw-r--r--runtime/syntax/haskell.vim5
-rw-r--r--runtime/syntax/help.vim4
-rw-r--r--runtime/syntax/hog.vim2
-rw-r--r--runtime/syntax/initng.vim2
-rw-r--r--runtime/syntax/java.vim19
-rw-r--r--runtime/syntax/kconfig.vim6
-rw-r--r--runtime/syntax/kscript.vim2
-rw-r--r--runtime/syntax/lex.vim67
-rw-r--r--runtime/syntax/lhaskell.vim21
-rw-r--r--runtime/syntax/lilo.vim10
-rw-r--r--runtime/syntax/lisp.vim7
-rw-r--r--runtime/syntax/logtalk.vim8
-rw-r--r--runtime/syntax/lout.vim2
-rw-r--r--runtime/syntax/mail.vim42
-rw-r--r--runtime/syntax/man.vim4
-rw-r--r--runtime/syntax/masm.vim4
-rw-r--r--runtime/syntax/master.vim4
-rw-r--r--runtime/syntax/matlab.vim33
-rw-r--r--runtime/syntax/maxima.vim2
-rw-r--r--runtime/syntax/mgl.vim2
-rw-r--r--runtime/syntax/mma.vim2
-rw-r--r--runtime/syntax/mysql.vim6
-rw-r--r--runtime/syntax/ncf.vim2
-rw-r--r--runtime/syntax/netrc.vim21
-rw-r--r--runtime/syntax/netrw.vim128
-rw-r--r--runtime/syntax/opl.vim2
-rw-r--r--runtime/syntax/papp.vim3
-rw-r--r--runtime/syntax/po.vim4
-rw-r--r--runtime/syntax/progress.vim2
-rw-r--r--runtime/syntax/prolog.vim6
-rw-r--r--runtime/syntax/pyrex.vim12
-rw-r--r--runtime/syntax/python.vim342
-rw-r--r--runtime/syntax/rcs.vim2
-rw-r--r--runtime/syntax/readline.vim3
-rw-r--r--runtime/syntax/remind.vim26
-rw-r--r--runtime/syntax/rhelp.vim9
-rw-r--r--runtime/syntax/rnoweb.vim7
-rw-r--r--runtime/syntax/rst.vim13
-rw-r--r--runtime/syntax/ruby.vim2
-rw-r--r--runtime/syntax/samba.vim8
-rw-r--r--runtime/syntax/scheme.vim87
-rw-r--r--runtime/syntax/sdc.vim41
-rw-r--r--runtime/syntax/sgml.vim2
-rw-r--r--runtime/syntax/sgmllnx.vim4
-rw-r--r--runtime/syntax/sh.vim70
-rw-r--r--runtime/syntax/sisu.vim6
-rw-r--r--runtime/syntax/spec.vim3
-rw-r--r--runtime/syntax/splint.vim4
-rw-r--r--runtime/syntax/spyce.vim3
-rw-r--r--runtime/syntax/sqlanywhere.vim285
-rw-r--r--runtime/syntax/sshconfig.vim111
-rw-r--r--runtime/syntax/sshdconfig.vim115
-rw-r--r--runtime/syntax/svn.vim2
-rw-r--r--runtime/syntax/tads.vim4
-rw-r--r--runtime/syntax/taskdata.vim43
-rw-r--r--runtime/syntax/taskedit.vim35
-rw-r--r--runtime/syntax/tcl.vim99
-rw-r--r--runtime/syntax/tcsh.vim12
-rw-r--r--runtime/syntax/tex.vim33
-rw-r--r--runtime/syntax/tilde.vim2
-rw-r--r--runtime/syntax/uil.vim5
-rw-r--r--runtime/syntax/updatedb.vim8
-rw-r--r--runtime/syntax/vhdl.vim2
-rw-r--r--runtime/syntax/vim.vim636
-rw-r--r--runtime/syntax/xdefaults.vim2
-rw-r--r--runtime/syntax/xml.vim10
-rw-r--r--runtime/syntax/xquery.vim2
-rw-r--r--runtime/syntax/xsd.vim2
-rw-r--r--runtime/syntax/xslt.vim2
-rw-r--r--runtime/syntax/yacc.vim122
107 files changed, 2145 insertions, 1251 deletions
diff --git a/runtime/syntax/2html.vim b/runtime/syntax/2html.vim
index ee66bf64..252a841f 100644
--- a/runtime/syntax/2html.vim
+++ b/runtime/syntax/2html.vim
@@ -1,13 +1,18 @@
" Vim syntax support file
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2008 Jul 17
+" Last Change: 2009 Jul 14
" (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
" (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
" (made w3 compliant by Edd Barrett <vext01@gmail.com>)
" (added html_font. Edd Barrett <vext01@gmail.com>)
+" (dynamic folding by Ben Fritz <fritzophrenic@gmail.com>)
" Transform a file into HTML, using the current syntax highlighting.
+" this file uses line continuations
+let s:cpo_sav = &cpo
+set cpo-=C
+
" Number lines when explicitely requested or when `number' is set
if exists("html_number_lines")
let s:numblines = html_number_lines
@@ -22,6 +27,37 @@ else
let s:htmlfont = "monospace"
endif
+" make copies of the user-defined settings that we may overrule
+if exists("html_dynamic_folds")
+ let s:html_dynamic_folds = 1
+endif
+if exists("html_hover_unfold")
+ let s:html_hover_unfold = 1
+endif
+if exists("html_use_css")
+ let s:html_use_css = 1
+endif
+
+" hover opening implies dynamic folding
+if exists("s:html_hover_unfold")
+ let s:html_dynamic_folds = 1
+endif
+
+" dynamic folding with no foldcolumn implies hover opens
+if exists("s:html_dynamic_folds") && exists("html_no_foldcolumn")
+ let s:html_hover_unfold = 1
+endif
+
+" ignore folding overrides dynamic folding
+if exists("html_ignore_folding") && exists("s:html_dynamic_folds")
+ unlet s:html_dynamic_folds
+endif
+
+" dynamic folding implies css
+if exists("s:html_dynamic_folds")
+ let s:html_use_css = 1
+endif
+
" When not in gui we can only guess the colors.
if has("gui_running")
let s:whatterm = "gui"
@@ -62,7 +98,7 @@ else
endfun
endif
-if !exists("html_use_css")
+if !exists("s:html_use_css")
" Return opening HTML tag for given highlight id
function! s:HtmlOpening(id)
let a = ""
@@ -150,6 +186,26 @@ function! s:CSS1(id)
return a
endfun
+if exists("s:html_dynamic_folds")
+
+ " compares two folds as stored in our list of folds
+ " A fold is "less" than another if it starts at an earlier line number,
+ " or ends at a later line number, ties broken by fold level
+ function! s:FoldCompare(f1, f2)
+ if a:f1.firstline != a:f2.firstline
+ " put it before if it starts earlier
+ return a:f1.firstline - a:f2.firstline
+ elseif a:f1.lastline != a:f2.lastline
+ " put it before if it ends later
+ return a:f2.lastline - a:f1.lastline
+ else
+ " if folds begin and end on the same lines, put lowest fold level first
+ return a:f1.level - a:f2.level
+ endif
+ endfunction
+
+endif
+
" Figure out proper MIME charset from the 'encoding' option.
if exists("html_use_encoding")
let s:html_encoding = html_use_encoding
@@ -223,13 +279,13 @@ else
let s:tag_close = '>'
endif
-" Cache html_no_pre incase we have to turn it on for non-css mode
+" Cache html_no_pre in case we have to turn it on for non-css mode
if exists("html_no_pre")
let s:old_html_no_pre = html_no_pre
endif
-if !exists("html_use_css")
- " Cant put font tags in <pre>
+if !exists("s:html_use_css")
+ " Can't put font tags in <pre>
let html_no_pre=1
endif
@@ -251,9 +307,86 @@ if s:html_encoding != ""
exe "normal! a<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:html_encoding . '"' . s:tag_close . "\n\e"
endif
-if exists("html_use_css")
- exe "normal! a<style type=\"text/css\">\n<!--\n-->\n</style>\n\e"
+if exists("s:html_use_css")
+ if exists("s:html_dynamic_folds")
+ if exists("s:html_hover_unfold")
+ " if we are doing hover_unfold, use css 2 with css 1 fallback for IE6
+ exe "normal! a".
+ \ "<style type=\"text/css\">\n<!--\n".
+ \ ".FoldColumn { text-decoration: none; white-space: pre; }\n\n".
+ \ "body * { margin: 0; padding: 0; }\n".
+ \ "\n".
+ \ ".open-fold > .Folded { display: none; }\n".
+ \ ".open-fold > .fulltext { display: inline; }\n".
+ \ ".closed-fold > .fulltext { display: none; }\n".
+ \ ".closed-fold > .Folded { display: inline; }\n".
+ \ "\n".
+ \ ".open-fold > .toggle-open { display: none; }\n".
+ \ ".open-fold > .toggle-closed { display: inline; }\n".
+ \ ".closed-fold > .toggle-open { display: inline; }\n".
+ \ ".closed-fold > .toggle-closed { display: none; }\n"
+ exe "normal! a\n/* opening a fold while hovering won't be supported by IE6 and other\n".
+ \ "similar browsers, but it should fail gracefully. */\n".
+ \ ".closed-fold:hover > .fulltext { display: inline; }\n".
+ \ ".closed-fold:hover > .toggle-filler { display: none; }\n".
+ \ ".closed-fold:hover > .Folded { display: none; }\n"
+ exe "normal! a-->\n</style>\n"
+ exe "normal! a<!--[if lt IE 7]>".
+ \ "<style type=\"text/css\">\n".
+ \ ".open-fold .Folded { display: none; }\n".
+ \ ".open-fold .fulltext { display: inline; }\n".
+ \ ".open-fold .toggle-open { display: none; }\n".
+ \ ".closed-fold .toggle-closed { display: inline; }\n".
+ \ "\n".
+ \ ".closed-fold .fulltext { display: none; }\n".
+ \ ".closed-fold .Folded { display: inline; }\n".
+ \ ".closed-fold .toggle-open { display: inline; }\n".
+ \ ".closed-fold .toggle-closed { display: none; }\n".
+ \ "</style>\n".
+ \ "<![endif]-->\n"
+ else
+ " if we aren't doing hover_unfold, use CSS 1 only
+ exe "normal! a<style type=\"text/css\">\n<!--\n".
+ \ ".FoldColumn { text-decoration: none; white-space: pre; }\n\n".
+ \ ".open-fold .Folded { display: none; }\n".
+ \ ".open-fold .fulltext { display: inline; }\n".
+ \ ".open-fold .toggle-open { display: none; }\n".
+ \ ".closed-fold .toggle-closed { display: inline; }\n".
+ \ "\n".
+ \ ".closed-fold .fulltext { display: none; }\n".
+ \ ".closed-fold .Folded { display: inline; }\n".
+ \ ".closed-fold .toggle-open { display: inline; }\n".
+ \ ".closed-fold .toggle-closed { display: none; }\n".
+ \ "-->\n</style>\n"
+ endif
+ else
+ " if we aren't doing any dynamic folding, no need for any special rules
+ exe "normal! a<style type=\"text/css\">\n<!--\n-->\n</style>\n\e"
+ endif
+endif
+
+" insert javascript to toggle folds open and closed
+if exists("s:html_dynamic_folds")
+ exe "normal! a\n".
+ \ "<script type='text/javascript'>\n".
+ \ "<!--\n".
+ \ "function toggleFold(objID)\n".
+ \ "{\n".
+ \ " var fold;\n".
+ \ " fold = document.getElementById(objID);\n".
+ \ " if(fold.className == 'closed-fold')\n".
+ \ " {\n".
+ \ " fold.className = 'open-fold';\n".
+ \ " }\n".
+ \ " else if (fold.className == 'open-fold')\n".
+ \ " {\n".
+ \ " fold.className = 'closed-fold';\n".
+ \ " }\n".
+ \ "}\n".
+ \ "-->\n".
+ \ "</script>\n\e"
endif
+
if exists("html_no_pre")
exe "normal! a</head>\n<body>\n\e"
else
@@ -265,7 +398,81 @@ exe s:orgwin . "wincmd w"
" List of all id's
let s:idlist = ","
-" Loop over all lines in the original text.
+" First do some preprocessing for dynamic folding. Do this for the entire file
+" so we don't accidentally start within a closed fold or something.
+let s:allfolds = []
+
+if exists("s:html_dynamic_folds")
+ let s:lnum = 1
+ let s:end = line('$')
+ " save the fold text and set it to the default so we can find fold levels
+ let s:foldtext_save = &foldtext
+ set foldtext&
+
+ " we will set the foldcolumn in the html to the greater of the maximum fold
+ " level and the current foldcolumn setting
+ let s:foldcolumn = &foldcolumn
+
+ " get all info needed to describe currently closed folds
+ while s:lnum < s:end
+ if foldclosed(s:lnum) == s:lnum
+ " default fold text has '+-' and then a number of dashes equal to fold
+ " level, so subtract 2 from index of first non-dash after the dashes
+ " in order to get the fold level of the current fold
+ let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
+ if s:level+1 > s:foldcolumn
+ let s:foldcolumn = s:level+1
+ endif
+ " store fold info for later use
+ let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
+ call add(s:allfolds, s:newfold)
+ " open the fold so we can find any contained folds
+ execute s:lnum."foldopen"
+ else
+ let s:lnum = s:lnum + 1
+ endif
+ endwhile
+
+ " close all folds to get info for originally open folds
+ silent! %foldclose!
+ let s:lnum = 1
+
+ " the originally open folds will be all folds we encounter that aren't
+ " already in the list of closed folds
+ while s:lnum < s:end
+ if foldclosed(s:lnum) == s:lnum
+ " default fold text has '+-' and then a number of dashes equal to fold
+ " level, so subtract 2 from index of first non-dash after the dashes
+ " in order to get the fold level of the current fold
+ let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
+ if s:level+1 > s:foldcolumn
+ let s:foldcolumn = s:level+1
+ endif
+ let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
+ " only add the fold if we don't already have it
+ if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1
+ let s:newfold.type = "open-fold"
+ call add(s:allfolds, s:newfold)
+ endif
+ " open the fold so we can find any contained folds
+ execute s:lnum."foldopen"
+ else
+ let s:lnum = s:lnum + 1
+ endif
+ endwhile
+
+ " sort the folds so that we only ever need to look at the first item in the
+ " list of folds
+ call sort(s:allfolds, "s:FoldCompare")
+
+ let &foldtext = s:foldtext_save
+ unlet s:foldtext_save
+
+ " close all folds again so we can get the fold text as we go
+ silent! %foldclose!
+endif
+
+" Now loop over all lines in the original text to convert to html.
" Use html_start_line and html_end_line if they are set.
if exists("html_start_line")
let s:lnum = html_start_line
@@ -284,6 +491,15 @@ else
let s:end = line("$")
endif
+" stack to keep track of all the folds containing the current line
+let s:foldstack = []
+
+if s:numblines
+ let s:margin = strlen(s:end) + 1
+else
+ let s:margin = 0
+endif
+
if has('folding') && !exists('html_ignore_folding')
let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]
if s:foldfillchar == ''
@@ -295,6 +511,7 @@ if s:difffillchar == ''
let s:difffillchar = '-'
endif
+let s:foldId = 0
while s:lnum <= s:end
@@ -303,12 +520,7 @@ while s:lnum <= s:end
if s:filler > 0
let s:n = s:filler
while s:n > 0
- if s:numblines
- " Indent if line numbering is on
- let s:new = repeat(s:LeadingSpace, strlen(s:end) + 1) . repeat(s:difffillchar, 3)
- else
- let s:new = repeat(s:difffillchar, 3)
- endif
+ let s:new = repeat(s:difffillchar, 3)
if s:n > 2 && s:n < s:filler && !exists("html_whole_filler")
let s:new = s:new . " " . s:filler . " inserted lines "
@@ -317,10 +529,16 @@ while s:lnum <= s:end
if !exists("html_no_pre")
" HTML line wrapping is off--go ahead and fill to the margin
- let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new))
+ let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new) - s:margin)
+ else
+ let s:new = s:new . repeat(s:difffillchar, 3)
endif
let s:new = s:HtmlFormat(s:new, "DiffDelete")
+ if s:numblines
+ " Indent if line numbering is on; must be after escaping.
+ let s:new = repeat(s:LeadingSpace, s:margin) . s:new
+ endif
exe s:newwin . "wincmd w"
exe "normal! a" . s:new . s:HtmlEndline . "\n\e"
exe s:orgwin . "wincmd w"
@@ -333,16 +551,18 @@ while s:lnum <= s:end
" Start the line with the line number.
if s:numblines
- let s:new = repeat(' ', strlen(s:end) - strlen(s:lnum)) . s:lnum . ' '
+ let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) . s:lnum . ' '
else
- let s:new = ""
+ let s:numcol = ""
endif
- if has('folding') && !exists('html_ignore_folding') && foldclosed(s:lnum) > -1
+ let s:new = ""
+
+ if has('folding') && !exists('html_ignore_folding') && foldclosed(s:lnum) > -1 && !exists('s:html_dynamic_folds')
"
- " This is the beginning of a folded block
+ " This is the beginning of a folded block (with no dynamic folding)
"
- let s:new = s:new . foldtextresult(s:lnum)
+ let s:new = s:numcol . foldtextresult(s:lnum)
if !exists("html_no_pre")
" HTML line wrapping is off--go ahead and fill to the margin
let s:new = s:new . repeat(s:foldfillchar, &columns - strlen(s:new))
@@ -355,14 +575,96 @@ while s:lnum <= s:end
else
"
- " A line that is not folded.
+ " A line that is not folded, or doing dynamic folding.
"
let s:line = getline(s:lnum)
-
let s:len = strlen(s:line)
+ if exists("s:html_dynamic_folds")
+ " First insert a closing for any open folds that end on this line
+ while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1
+ let s:new = s:new."</span></span>"
+ call remove(s:foldstack, 0)
+ endwhile
+
+ " Now insert an opening any new folds that start on this line
+ let s:firstfold = 1
+ while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum
+ let s:foldId = s:foldId + 1
+ let s:new = s:new . "<span id='fold".s:foldId."' class='".s:allfolds[0].type."'>"
+
+ " Unless disabled, add a fold column for the opening line of a fold.
+ "
+ " Note that dynamic folds require using css so we just use css to take
+ " care of the leading spaces rather than using &nbsp; in the case of
+ " html_no_pre to make it easier
+ if !exists("html_no_foldcolumn")
+ " add fold column that can open the new fold
+ if s:allfolds[0].level > 1 && s:firstfold
+ let s:new = s:new . "<a class='toggle-open FoldColumn' href='javascript:toggleFold(\"fold".s:foldstack[0].id."\")'>"
+ let s:new = s:new . repeat('|', s:allfolds[0].level - 1) . "</a>"
+ endif
+ let s:new = s:new . "<a class='toggle-open FoldColumn' href='javascript:toggleFold(\"fold".s:foldId."\")'>+</a>"
+ let s:new = s:new . "<a class='toggle-open "
+ " If this is not the last fold we're opening on this line, we need
+ " to keep the filler spaces hidden if the fold is opened by mouse
+ " hover. If it is the last fold to open in the line, we shouldn't hide
+ " them, so don't apply the toggle-filler class.
+ if get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum
+ let s:new = s:new . "toggle-filler "
+ endif
+ let s:new = s:new . "FoldColumn' href='javascript:toggleFold(\"fold".s:foldId."\")'>"
+ let s:new = s:new . repeat(" ", s:foldcolumn - s:allfolds[0].level) . "</a>"
+
+ " add fold column that can close the new fold
+ let s:new = s:new . "<a class='toggle-closed FoldColumn' href='javascript:toggleFold(\"fold".s:foldId."\")'>"
+ if s:firstfold
+ let s:new = s:new . repeat('|', s:allfolds[0].level - 1)
+ endif
+ let s:new = s:new . "-"
+ " only add spaces if we aren't opening another fold on the same line
+ if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum
+ let s:new = s:new . repeat(" ", s:foldcolumn - s:allfolds[0].level)
+ endif
+ let s:new = s:new . "</a>"
+ let s:firstfold = 0
+ endif
+
+ " add fold text, moving the span ending to the next line so collapsing
+ " of folds works correctly
+ let s:new = s:new . substitute(s:HtmlFormat(s:numcol . foldtextresult(s:lnum), "Folded"), '</span>', s:HtmlEndline.'\r\0', '')
+ let s:new = s:new . "<span class='fulltext'>"
+
+ " open the fold now that we have the fold text to allow retrieval of
+ " fold text for subsequent folds
+ execute s:lnum."foldopen"
+ call insert(s:foldstack, remove(s:allfolds,0))
+ let s:foldstack[0].id = s:foldId
+ endwhile
+
+ " Unless disabled, add a fold column for other lines.
+ "
+ " Note that dynamic folds require using css so we just use css to take
+ " care of the leading spaces rather than using &nbsp; in the case of
+ " html_no_pre to make it easier
+ if !exists("html_no_foldcolumn")
+ if empty(s:foldstack)
+ " add the empty foldcolumn for unfolded lines
+ let s:new = s:new . s:HtmlFormat(repeat(' ', s:foldcolumn), "FoldColumn")
+ else
+ " add the fold column for folds not on the opening line
+ if get(s:foldstack, 0).firstline < s:lnum
+ let s:new = s:new . "<a class='FoldColumn' href='javascript:toggleFold(\"fold".s:foldstack[0].id."\")'>"
+ let s:new = s:new . repeat('|', s:foldstack[0].level)
+ let s:new = s:new . repeat(' ', s:foldcolumn - s:foldstack[0].level) . "</a>"
+ endif
+ endif
+ endif
+ endif
+
+ " Now continue with the unfolded line text
if s:numblines
- let s:new = s:HtmlFormat(s:new, "lnr")
+ let s:new = s:new . s:HtmlFormat(s:numcol, "lnr")
endif
" Get the diff attribute, if any.
@@ -380,7 +682,7 @@ while s:lnum <= s:end
while s:col <= s:len && s:id == diff_hlID(s:lnum, s:col) | let s:col = s:col + 1 | endwhile
if s:len < &columns && !exists("html_no_pre")
" Add spaces at the end to mark the changed line.
- let s:line = s:line . repeat(' ', &columns - s:len)
+ let s:line = s:line . repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)
let s:len = &columns
endif
else
@@ -393,11 +695,27 @@ while s:lnum <= s:end
" Expand tabs
let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)
- let idx = stridx(s:expandedtab, "\t")
- while idx >= 0
- let i = &ts - ((idx + s:startcol - 1) % &ts)
- let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', i), '')
- let idx = stridx(s:expandedtab, "\t")
+ let s:offset = 0
+ let s:idx = stridx(s:expandedtab, "\t")
+ while s:idx >= 0
+ if has("multi_byte_encoding")
+ if s:startcol + s:idx == 1
+ let s:i = &ts
+ else
+ if s:idx == 0
+ let s:prevc = matchstr(s:line, '.\%' . (s:startcol + s:idx + s:offset) . 'c')
+ else
+ let s:prevc = matchstr(s:expandedtab, '.\%' . (s:idx + 1) . 'c')
+ endif
+ let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
+ let s:i = &ts - (s:vcol % &ts)
+ endif
+ let s:offset -= s:i - 1
+ else
+ let s:i = &ts - ((s:idx + s:startcol - 1) % &ts)
+ endif
+ let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
+ let s:idx = stridx(s:expandedtab, "\t")
endwhile
" Output the text with the same synID, with class set to {s:id_name}
@@ -415,8 +733,22 @@ endwhile
" Finish with the last line
exe s:newwin . "wincmd w"
+if exists("s:html_dynamic_folds")
+ " finish off any open folds
+ while !empty(s:foldstack)
+ exe "normal! a</span></span>"
+ call remove(s:foldstack, 0)
+ endwhile
+
+ " add fold column to the style list if not already there
+ let s:id = hlID('FoldColumn')
+ if stridx(s:idlist, "," . s:id . ",") == -1
+ let s:idlist = s:idlist . s:id . ","
+ endif
+endif
+
" Close off the font tag that encapsulates the whole <body>
-if !exists("html_use_css")
+if !exists("s:html_use_css")
exe "normal! a</font>\e"
endif
@@ -428,7 +760,7 @@ endif
" Now, when we finally know which, we define the colors and styles
-if exists("html_use_css")
+if exists("s:html_use_css")
1;/<style type="text/+1
endif
@@ -445,7 +777,7 @@ endif
" Normal/global attributes
" For Netscape 4, set <body> attributes too, though, strictly speaking, it's
" incorrect.
-if exists("html_use_css")
+if exists("s:html_use_css")
if exists("html_no_pre")
execute "normal! A\nbody { color: " . s:fgc . "; background-color: " . s:bgc . "; font-family: ". s:htmlfont ."; }\e"
else
@@ -455,12 +787,12 @@ if exists("html_use_css")
execute "normal! ^cwbody\e"
endif
else
- execute '%s:<body>:<body bgcolor="' . s:bgc . '" text="' . s:fgc . '"><font face="'. s:htmlfont .'">'
+ execute '%s:<body>:<body bgcolor="' . s:bgc . '" text="' . s:fgc . '"><font face="'. s:htmlfont .'">'
endif
" Line numbering attributes
if s:numblines
- if exists("html_use_css")
+ if exists("s:html_use_css")
execute "normal! A\n.lnr { " . s:CSS1(hlID("LineNr")) . "}\e"
else
execute '%s+^<span class="lnr">\([^<]*\)</span>+' . s:HtmlOpening(hlID("LineNr")) . '\1' . s:HtmlClosing(hlID("LineNr")) . '+g'
@@ -479,14 +811,14 @@ while s:idlist != ""
" If the class has some attributes, export the style, otherwise DELETE all
" its occurences to make the HTML shorter
if s:attr != ""
- if exists("html_use_css")
+ if exists("s:html_use_css")
execute "normal! A\n." . s:id_name . " { " . s:attr . "}"
else
execute '%s+<span class="' . s:id_name . '">\([^<]*\)</span>+' . s:HtmlOpening(s:id) . '\1' . s:HtmlClosing(s:id) . '+g'
endif
else
execute '%s+<span class="' . s:id_name . '">\([^<]*\)</span>+\1+ge'
- if exists("html_use_css")
+ if exists("s:html_use_css")
1;/<style type="text/+1
endif
endif
@@ -531,16 +863,28 @@ endif
" Save a little bit of memory (worth doing?)
unlet s:htmlfont
unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search
-unlet s:whatterm s:idlist s:lnum s:end s:fgc s:bgc s:old_magic
+unlet s:whatterm s:idlist s:lnum s:end s:margin s:fgc s:bgc s:old_magic
unlet! s:col s:id s:attr s:len s:line s:new s:expandedtab s:numblines
-unlet s:orgwin s:newwin s:orgbufnr
+unlet! s:orgwin s:newwin s:orgbufnr s:idx s:i s:offset
if !v:profiling
delfunc s:HtmlColor
delfunc s:HtmlFormat
delfunc s:CSS1
- if !exists("html_use_css")
+ if !exists("s:html_use_css")
delfunc s:HtmlOpening
delfunc s:HtmlClosing
endif
endif
-silent! unlet s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace s:LeadingSpace s:HtmlEndline
+silent! unlet s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace s:LeadingSpace s:HtmlEndline s:firstfold s:foldcolumn
+unlet s:foldstack s:allfolds s:foldId s:numcol
+
+if exists("s:html_dynamic_folds")
+ delfunc s:FoldCompare
+endif
+
+silent! unlet s:html_dynamic_folds s:html_hover_unfold s:html_use_css
+
+let &cpo = s:cpo_sav
+unlet s:cpo_sav
+
+" vim: noet sw=2 sts=2
diff --git a/runtime/syntax/ada.vim b/runtime/syntax/ada.vim
index 8d76fb8f..4f04bd02 100644
--- a/runtime/syntax/ada.vim
+++ b/runtime/syntax/ada.vim
@@ -1,16 +1,16 @@
"----------------------------------------------------------------------------
" Description: Vim Ada syntax file
" Language: Ada (2005)
-" $Id$
+" $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik
" David A. Wheeler <dwheeler@dwheeler.com>
" Simon Bradley <simon.bradley@pitechnology.com>
" Contributors: Preben Randhol.
-" $Author$
-" $Date$
+" $Author: krischik $
+" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
-" $Revision$
+" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/syntax/ada.vim $
" http://www.dwheeler.com/vim
" History: 24.05.2006 MK Unified Headers
diff --git a/runtime/syntax/ant.vim b/runtime/syntax/ant.vim
index 6846ec6b..6696f96e 100644
--- a/runtime/syntax/ant.vim
+++ b/runtime/syntax/ant.vim
@@ -3,7 +3,7 @@
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Tue Apr 27 13:05:59 CEST 2004
" Filenames: build.xml
-" $Id$
+" $Id: ant.vim,v 1.1 2004/06/13 18:13:18 vimboss Exp $
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
diff --git a/runtime/syntax/aspvbs.vim b/runtime/syntax/aspvbs.vim
index e73d6749..07c129e4 100644
--- a/runtime/syntax/aspvbs.vim
+++ b/runtime/syntax/aspvbs.vim
@@ -4,7 +4,7 @@
" URL: http://tritarget.com/pub/vim/syntax/aspvbs.vim (broken)
" Last Change: 2006 Jun 19
" by Dan Casey
-" Version: $Revision$
+" Version: $Revision: 1.3 $
" Thanks to Jay-Jay <vim@jay-jay.net> for a syntax sync hack, hungarian
" notation, and extra highlighting.
" Thanks to patrick dehne <patrick@steidle.net> for the folding code.
diff --git a/runtime/syntax/bindzone.vim b/runtime/syntax/bindzone.vim
index 9facdbe7..8db83f91 100644
--- a/runtime/syntax/bindzone.vim
+++ b/runtime/syntax/bindzone.vim
@@ -7,7 +7,7 @@
" Based on an earlier version by Ð’ÑчеÑлав Горбанев (Slava Gorbanev), with
" heavy modifications.
"
-" $Id$
+" $Id: bindzone.vim,v 1.2 2006/04/20 22:06:21 vimboss Exp $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/bst.vim b/runtime/syntax/bst.vim
index 8fdcd43f..e7836d78 100644
--- a/runtime/syntax/bst.vim
+++ b/runtime/syntax/bst.vim
@@ -2,7 +2,7 @@
" Language: BibTeX Bibliography Style
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Filenames: *.bst
-" $Id$
+" $Id: bst.vim,v 1.2 2007/05/05 18:24:42 vimboss Exp $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/bzr.vim b/runtime/syntax/bzr.vim
index 2968f79b..82ab1d87 100644
--- a/runtime/syntax/bzr.vim
+++ b/runtime/syntax/bzr.vim
@@ -2,9 +2,14 @@
" Language: Bazaar (bzr) commit file
" Maintainer: Dmitry Vasiliev <dima at hlabs dot spb dot ru>
" URL: http://www.hlabs.spb.ru/vim/bzr.vim
-" Revision: $Id$
+" Last Change: 2009-01-27
" Filenames: bzr_log.*
-" Version: 1.1
+" Version: 1.2.1
+"
+" Thanks:
+"
+" Gioele Barabucci
+" for idea of diff highlighting
" For version 5.x: Clear all syntax items.
" For version 6.x: Quit when a syntax file was already loaded.
@@ -14,13 +19,21 @@ elseif exists("b:current_syntax")
finish
endif
-syn region bzrRegion start="^-\{14} This line and the following will be ignored -\{14}$" end="\%$" contains=ALL contains=@NoSpell
+if exists("bzr_highlight_diff")
+ syn include @Diff syntax/diff.vim
+endif
+
syn match bzrRemoved "^removed:$" contained
syn match bzrAdded "^added:$" contained
syn match bzrRenamed "^renamed:$" contained
syn match bzrModified "^modified:$" contained
syn match bzrUnchanged "^unchanged:$" contained
syn match bzrUnknown "^unknown:$" contained
+syn cluster Statuses contains=bzrRemoved,bzrAdded,bzrRenamed,bzrModified,bzrUnchanged,bzrUnknown
+if exists("bzr_highlight_diff")
+ syn cluster Statuses add=@Diff
+endif
+syn region bzrRegion start="^-\{14} This line and the following will be ignored -\{14}$" end="\%$" contains=@NoSpell,@Statuses
" Synchronization.
syn sync clear
@@ -37,7 +50,6 @@ if version >= 508 || !exists("did_bzr_syn_inits")
command -nargs=+ HiLink hi def link <args>
endif
- HiLink bzrRegion Comment
HiLink bzrRemoved Constant
HiLink bzrAdded Identifier
HiLink bzrModified Special
diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim
index 07df36ba..94562127 100644
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2008 Mar 19
+" Last Change: 2009 Nov 17
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -16,8 +16,13 @@ syn keyword cRepeat while for do
syn keyword cTodo contained TODO FIXME XXX
+" It's easy to accidentally add a space after a backslash that was intended
+" for line continuation. Some compilers allow it, which makes it
+" unpredicatable and should be avoided.
+syn match cBadContinuation contained "\\\s\+$"
+
" cCommentGroup allows adding matches for special things in comments
-syn cluster cCommentGroup contains=cTodo
+syn cluster cCommentGroup contains=cTodo,cBadContinuation
" String and Character constants
" Highlight special characters (those which have a backslash) differently
@@ -265,7 +270,7 @@ if !exists("c_no_c99") " ISO C99
endif
" Accept %: for # (C99)
-syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
+syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
syn match cPreCondit display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
if !exists("c_no_if0")
if !exists("c_no_if0_fold")
@@ -281,7 +286,7 @@ syn match cIncluded display contained "<[^>]*>"
syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
"syn match cLineSkip "\\$"
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti
-syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 keepend contains=ALLBUT,@cPreProcGroup,@Spell
+syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
" Highlight User Labels
@@ -359,6 +364,7 @@ hi def link cString String
hi def link cComment Comment
hi def link cSpecial SpecialChar
hi def link cTodo Todo
+hi def link cBadContinuation Error
hi def link cCppSkip cCppOut
hi def link cCppOut2 cCppOut
hi def link cCppOut Comment
diff --git a/runtime/syntax/catalog.vim b/runtime/syntax/catalog.vim
index 4dbff008..0a1d511a 100644
--- a/runtime/syntax/catalog.vim
+++ b/runtime/syntax/catalog.vim
@@ -3,7 +3,7 @@
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Fr, 04 Nov 2005 12:46:45 CET
" Filenames: /etc/sgml.catalog
-" $Id$
+" $Id: catalog.vim,v 1.2 2005/11/23 21:11:10 vimboss Exp $
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
diff --git a/runtime/syntax/cl.vim b/runtime/syntax/cl.vim
index 750cfdea..b278eca3 100644
--- a/runtime/syntax/cl.vim
+++ b/runtime/syntax/cl.vim
@@ -3,7 +3,7 @@
" Filename extensions: *.ent, *.eni
" Maintainer: Philip Uren <philuSPAX@ieee.org> - Remove SPAX spam block
" Last update: Wed Apr 12 08:47:18 EST 2006
-" $Id$
+" $Id: cl.vim,v 1.3 2006/04/12 21:43:28 vimboss Exp $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/cmake.vim b/runtime/syntax/cmake.vim
index 4dd5c3a1..ab963294 100644
--- a/runtime/syntax/cmake.vim
+++ b/runtime/syntax/cmake.vim
@@ -1,10 +1,10 @@
" =============================================================================
"
" Program: CMake - Cross-Platform Makefile Generator
-" Module: $RCSfile$
+" Module: $RCSfile: cmake-syntax.vim,v $
" Language: VIM
-" Date: $Date$
-" Version: $Revision$
+" Date: $Date: 2006/09/23 21:09:08 $
+" Version: $Revision: 1.6 $
"
" =============================================================================
@@ -12,8 +12,8 @@
" Language: CMake
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
" Maintainer: Andy Cedilnik <andy.cedilnik@kitware.com>
-" Last Change: $Date$
-" Version: $Revision$
+" Last Change: $Date: 2006/09/23 21:09:08 $
+" Version: $Revision: 1.6 $
"
" Licence: The CMake license applies to this file. See
" http://www.cmake.org/HTML/Copyright.html
diff --git a/runtime/syntax/cobol.vim b/runtime/syntax/cobol.vim
index dce2d365..5315e752 100644
--- a/runtime/syntax/cobol.vim
+++ b/runtime/syntax/cobol.vim
@@ -4,7 +4,7 @@
" (formerly Davyd Ondrejko <vondraco@columbus.rr.com>)
" (formerly Sitaram Chamarty <sitaram@diac.com> and
" James Mitchell <james_mitchell@acm.org>)
-" $Id$
+" $Id: cobol.vim,v 1.2 2007/05/05 18:23:43 vimboss Exp $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/config.vim b/runtime/syntax/config.vim
index c02799d3..20ca19ce 100644
--- a/runtime/syntax/config.vim
+++ b/runtime/syntax/config.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: configure.in script: M4 with sh
" Maintainer: Christian Hammesr <ch@lathspell.westend.com>
-" Last Change: 2001 May 09
+" Last Change: 2008 Sep 03
" Well, I actually even do not know much about m4. This explains why there
" is probably very much missing here, yet !
@@ -26,7 +26,7 @@ syn match confignumber "[-+]\=\<\d\+\(\.\d*\)\=\>"
syn keyword configkeyword if then else fi test for in do done
syn keyword configspecial cat rm eval
syn region configstring start=+"+ skip=+\\"+ end=+"+
-syn region configstring start=+`+ skip=+\\'+ end=+'+
+syn region configstring start=+'+ skip=+\\'+ end=+'+
syn region configstring start=+`+ skip=+\\'+ end=+`+
" Define the default highlighting.
diff --git a/runtime/syntax/cs.vim b/runtime/syntax/cs.vim
index 8b63e48b..2ba629f9 100644
--- a/runtime/syntax/cs.vim
+++ b/runtime/syntax/cs.vim
@@ -2,9 +2,9 @@
" Language: C#
" Maintainer: Anduin Withers <awithers@anduin.com>
" Former Maintainer: Johannes Zellner <johannes@zellner.org>
-" Last Change: Sun Apr 30 19:26:18 PDT 2006
+" Last Change: Fri Aug 14 13:56:37 PDT 2009
" Filenames: *.cs
-" $Id$
+" $Id: cs.vim,v 1.4 2006/05/03 21:20:02 vimboss Exp $
"
" REFERENCES:
" [1] ECMA TC39: C# Language Specification (WD13Oct01.doc)
@@ -78,8 +78,8 @@ syn keyword csXmlTag contained list listheader item term description altcomplia
syn cluster xmlTagHook add=csXmlTag
syn match csXmlCommentLeader +\/\/\/+ contained
-syn match csXmlComment +\/\/\/.*$+ contains=csXmlCommentLeader,@csXml
-syntax include @csXml <sfile>:p:h/xml.vim
+syn match csXmlComment +\/\/\/.*$+ contains=csXmlCommentLeader,@csXml,@Spell
+syntax include @csXml syntax/xml.vim
hi def link xmlRegion Comment
@@ -100,7 +100,7 @@ syn match csSpecialChar contained +\\["\\'0abfnrtvx]+
" unicode characters
syn match csUnicodeNumber +\\\(u\x\{4}\|U\x\{8}\)+ contained contains=csUnicodeSpecifier
syn match csUnicodeSpecifier +\\[uU]+ contained
-syn region csVerbatimString start=+@"+ end=+"+ end=+$+ skip=+""+ contains=csVerbatimSpec,@Spell
+syn region csVerbatimString start=+@"+ end=+"+ skip=+""+ contains=csVerbatimSpec,@Spell
syn match csVerbatimSpec +@"+he=s+1 contained
syn region csString start=+"+ end=+"+ end=+$+ contains=csSpecialChar,csSpecialError,csUnicodeNumber,@Spell
syn match csCharacter "'[^']*'" contains=csSpecialChar,csSpecialCharError
diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim
index e751fbc7..040d48d0 100644
--- a/runtime/syntax/debchangelog.vim
+++ b/runtime/syntax/debchangelog.vim
@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2008-01-16
+" Last Change: 2009 Jun 05
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/syntax/debchangelog.vim;hb=debian
" Standard syntax initialization
@@ -17,9 +17,9 @@ endif
syn case ignore
" Define some common expressions we can use later on
-syn match debchangelogName contained "^[[:alpha:]][[:alnum:].+-]\+ "
+syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
-syn match debchangelogTarget contained "\v %(%(old)=stable|frozen|unstable|%(testing-|%(old)=stable-)=proposed-updates|experimental|%(sarge|etch|lenny)-%(backports|volatile)|%(testing|%(old)=stable)-security|%(dapper|feisty|gutsy|hardy|intrepid)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(etch|lenny)-%(backports|volatile)|%(dapper|hardy|intrepid|jaunty|karmic)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim
index d56a3423..e886f014 100644
--- a/runtime/syntax/debcontrol.vim
+++ b/runtime/syntax/debcontrol.vim
@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2008-02-23
+" Last Change: 2009 July 14
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/ftplugin/debcontrol.vim;hb=debian
" Comments are very welcome - but please make sure that you are commenting on
@@ -28,10 +28,10 @@ syn match debControlComma ", *"
syn match debControlSpace " "
" Define some common expressions we can use later on
-syn match debcontrolArchitecture contained "\(all\|any\|alpha\|amd64\|arm\(e[bl]\)\=\|hppa\|i386\|ia64\|m32r\|m68k\|mipsel\|mips\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc64\|sparc\|hurd-i386\|kfreebsd-\(i386\|gnu\)\|knetbsd-i386\|netbsd-\(alpha\|i386\)\)"
+syn match debcontrolArchitecture contained "\(all\|any\|alpha\|amd64\|arm\(e[bl]\)\=\|avr32\|hppa\|i386\|ia64\|m32r\|m68k\|mipsel\|mips\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc64\|sparc\|hurd-i386\|kfreebsd-\(i386\|amd64\|gnu\)\|knetbsd-i386\|netbsd-\(alpha\|i386\)\)"
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
-syn match debcontrolSection contained "\(\(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\|restricted\|universe\|multiverse\)/\)\=\(admin\|base\|comm\|devel\|doc\|editors\|electronics\|embedded\|games\|gnome\|graphics\|hamradio\|interpreters\|kde\|libs\|libdevel\|mail\|math\|misc\|net\|news\|oldlibs\|otherosfs\|perl\|python\|science\|shells\|sound\|text\|tex\|utils\|web\|x11\|debian-installer\)"
+syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
syn match debcontrolPackageType contained "u\?deb"
syn match debcontrolVariable contained "\${.\{-}}"
syn match debcontrolDmUpload contained "\cyes"
@@ -41,7 +41,7 @@ syn match debcontrolDmUpload contained "\cyes"
syn match debcontrolHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
syn match debcontrolVcsSvn contained "\vsvn%(\+ssh)?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
syn match debcontrolVcsCvs contained "\v%(\-d *)?:pserver:[^@]+\@[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?:/[^[:space:]]*%( [^[:space:]]+)?$"
-syn match debcontrolVcsGit contained "\vgit://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
+syn match debcontrolVcsGit contained "\v%(git|http)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
" An email address
syn match debcontrolEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
@@ -53,7 +53,7 @@ syn match debcontrolComment "^#.*$"
syn case ignore
" List of all legal keys
-syn match debcontrolKey contained "^\(Source\|Package\|Section\|Priority\|Maintainer\|Uploaders\|Build-Depends\|Build-Conflicts\|Build-Depends-Indep\|Build-Conflicts-Indep\|Standards-Version\|Pre-Depends\|Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Essential\|Architecture\|Description\|Bugs\|Origin\|Enhances\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|XC-Package-Type\|\%(XS-\)\=DM-Upload-Allowed\): *"
+syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Essential\|Architecture\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|XC-Package-Type\|\%(XS-\)\=DM-Upload-Allowed\): *"
" Fields for which we do strict syntax checking
syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
@@ -62,15 +62,15 @@ syn region debcontrolStrictField start="^Priority" end="$" contains=debcontrolKe
syn region debcontrolStrictField start="^Section" end="$" contains=debcontrolKey,debcontrolSection oneline
syn region debcontrolStrictField start="^XC-Package-Type" end="$" contains=debcontrolKey,debcontrolPackageType oneline
syn region debcontrolStrictField start="^Homepage" end="$" contains=debcontrolKey,debcontrolHTTPUrl oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-\%(Browser\|Arch\|Bzr\|Darcs\|Hg\)" end="$" contains=debcontrolKey,debcontrolHTTPUrl oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Svn" end="$" contains=debcontrolKey,debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\?DM-Upload-Allowed" end="$" contains=debcontrolKey,debcontrolDmUpload oneline
+syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-\%(Browser\|Arch\|Bzr\|Darcs\|Hg\)" end="$" contains=debcontrolKey,debcontrolHTTPUrl oneline keepend
+syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Svn" end="$" contains=debcontrolKey,debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend
+syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
+syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
+syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolKey,debcontrolDmUpload oneline
" Catch-all for the other legal fields
-syn region debcontrolField start="^\(Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X\(S\|B\)-Python-Version\|XSBC-Original-Maintainer\|\(XS-\)\?Vcs-Mtn\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
-syn region debcontrolMultiField start="^\(Build-\(Conflicts\|Depends\)\(-Indep\)\=\|\(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Uploaders\|Description\):" skip="^ " end="^$"me=s-1 end="^[^ ]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable
+syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
+syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Uploaders\|Description\):" skip="^ " end="^$"me=s-1 end="^[^ #]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment
" Associate our matches and regions with pretty colours
if version >= 508 || !exists("did_debcontrol_syn_inits")
diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim
index 0ae05abd..52ce6d73 100644
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: 2008-04-25
+" Last Change: 2009 Apr 17
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/syntax/debsources.vim;hb=debian
" Standard syntax initialization
@@ -19,11 +19,11 @@ syn case match
syn match debsourcesKeyword /\(deb-src\|deb\|main\|contrib\|non-free\|restricted\|universe\|multiverse\)/
" Match comments
-syn match debsourcesComment /#.*/
+syn match debsourcesComment /#.*/ contains=@Spell
" Match uri's
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
-syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(sarge\|etch\|lenny\|\(old\)\=stable\|testing\|unstable\|sid\|experimental\|dapper\|feisty\|gutsy\|hardy\|intrepid\)\([-[:alnum:]_./]*\)+
+syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(etch\|lenny\|squeeze\|\(old\)\=stable\|testing\|unstable\|sid\|experimental\|dapper\|hardy\|intrepid\|jaunty\|karmic\)\([-[:alnum:]_./]*\)+
" Associate our matches and regions with pretty colours
hi def link debsourcesLine Error
diff --git a/runtime/syntax/def.vim b/runtime/syntax/def.vim
index 48518d74..5efb41bc 100644
--- a/runtime/syntax/def.vim
+++ b/runtime/syntax/def.vim
@@ -2,8 +2,8 @@
" Language: Microsoft Module-Definition (.def) File
" Orig Author: Rob Brady <robb@datatone.com>
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
-" Last Change: $Date$
-" $Revision$
+" Last Change: $Date: 2007/10/02 13:51:24 $
+" $Revision: 1.2 $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/django.vim b/runtime/syntax/django.vim
index 3ad48164..da35406e 100644
--- a/runtime/syntax/django.vim
+++ b/runtime/syntax/django.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Django template
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
-" Last Change: 2007 Apr 21
+" Last Change: 2008 Dec 18
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -18,8 +18,9 @@ syn match djangoError "%}\|}}\|#}"
" Django template built-in tags and parameters
" 'comment' doesn't appear here because it gets special treatment
+syn keyword djangoStatement contained autoescape on off endautoescape
syn keyword djangoStatement contained and as block endblock by cycle debug else
-syn keyword djangoStatement contained extends filter endfilter firstof for
+syn keyword djangoStatement contained extends filter endfilter firstof for empty
syn keyword djangoStatement contained endfor if endif ifchanged endifchanged
syn keyword djangoStatement contained ifequal endifequal ifnotequal
syn keyword djangoStatement contained endifnotequal in include load not now or
@@ -35,15 +36,15 @@ syn keyword djangoStatement contained get_current_language_bidi plural
" Django templete built-in filters
syn keyword djangoFilter contained add addslashes capfirst center cut date
syn keyword djangoFilter contained default default_if_none dictsort
-syn keyword djangoFilter contained dictsortreversed divisibleby escape
+syn keyword djangoFilter contained dictsortreversed divisibleby escape escapejs
syn keyword djangoFilter contained filesizeformat first fix_ampersands
-syn keyword djangoFilter contained floatformat get_digit join length length_is
+syn keyword djangoFilter contained floatformat force_escape get_digit iriencode join last length length_is
syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust
syn keyword djangoFilter contained lower make_list phone2numeric pluralize
-syn keyword djangoFilter contained pprint random removetags rjust slice slugify
+syn keyword djangoFilter contained pprint random removetags rjust safe slice slugify
syn keyword djangoFilter contained stringformat striptags
syn keyword djangoFilter contained time timesince timeuntil title
-syn keyword djangoFilter contained truncatewords unordered_list upper urlencode
+syn keyword djangoFilter contained truncatewords truncatewords_html unordered_list upper urlencode
syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno
" Keywords to highlight within comments
diff --git a/runtime/syntax/docbk.vim b/runtime/syntax/docbk.vim
index b763fb0a..73c1cb47 100644
--- a/runtime/syntax/docbk.vim
+++ b/runtime/syntax/docbk.vim
@@ -2,8 +2,8 @@
" Language: DocBook
" Maintainer: Devin Weaver <vim@tritarget.com>
" URL: http://tritarget.com/pub/vim/syntax/docbk.vim
-" Last Change: $Date$
-" Version: $Revision$
+" Last Change: $Date: 2005/06/23 22:31:01 $
+" Version: $Revision: 1.2 $
" Thanks to Johannes Zellner <johannes@zellner.org> for the default to XML
" suggestion.
diff --git a/runtime/syntax/dosbatch.vim b/runtime/syntax/dosbatch.vim
index 8c012993..d9b1aa67 100644
--- a/runtime/syntax/dosbatch.vim
+++ b/runtime/syntax/dosbatch.vim
@@ -2,7 +2,7 @@
" Language: MSDOS batch file (with NT command extensions)
" Maintainer: Mike Williams <mrw@eandem.co.uk>
" Filenames: *.bat
-" Last Change: 10th May 2008
+" Last Change: 6th September 2009
" Web Page: http://www.eandem.co.uk/mrw/vim
"
" Options Flags:
@@ -36,7 +36,7 @@ syn keyword dosbatchRepeat for
syn case match
syn keyword dosbatchOperator EQU NEQ LSS LEQ GTR GEQ
syn case ignore
-syn match dosbatchOperator "\s[-+\*/%]\s"
+syn match dosbatchOperator "\s[-+\*/%!~]\s"
syn match dosbatchOperator "="
syn match dosbatchOperator "[-+\*/%]="
syn match dosbatchOperator "\s\(&\||\|^\|<<\|>>\)=\=\s"
@@ -51,10 +51,10 @@ syn match dosbatchEchoOperator "\<echo\s\+\(on\|off\)\s*$"lc=4
syn match dosbatchCmd "(\s*'[^']*'"lc=1 contains=dosbatchString,dosbatchVariable,dosBatchArgument,@dosbatchNumber,dosbatchImplicit,dosbatchStatement,dosbatchConditional,dosbatchRepeat,dosbatchOperator
" Numbers - surround with ws to not include in dir and filenames
-syn match dosbatchInteger "[[:space:]=(/:]\d\+"lc=1
-syn match dosbatchHex "[[:space:]=(/:]0x\x\+"lc=1
-syn match dosbatchBinary "[[:space:]=(/:]0b[01]\+"lc=1
-syn match dosbatchOctal "[[:space:]=(/:]0\o\+"lc=1
+syn match dosbatchInteger "[[:space:]=(/:,!~-]\d\+"lc=1
+syn match dosbatchHex "[[:space:]=(/:,!~-]0x\x\+"lc=1
+syn match dosbatchBinary "[[:space:]=(/:,!~-]0b[01]\+"lc=1
+syn match dosbatchOctal "[[:space:]=(/:,!~-]0\o\+"lc=1
syn cluster dosbatchNumber contains=dosbatchInteger,dosbatchHex,dosbatchBinary,dosbatchOctal
" Command line switches
@@ -69,15 +69,15 @@ syn match dosbatchSpecialChar "%%"
syn match dosbatchIdentifier contained "\s\h\w*\>"
syn match dosbatchVariable "%\h\w*%"
syn match dosbatchVariable "%\h\w*:\*\=[^=]*=[^%]*%"
-syn match dosbatchVariable "%\h\w*:\~\d\+,\d\+%" contains=dosbatchInteger
+syn match dosbatchVariable "%\h\w*:\~[-]\=\d\+\(,[-]\=\d\+\)\=%" contains=dosbatchInteger
syn match dosbatchVariable "!\h\w*!"
-syn match dosbatchVariable "!\h\w*:\*\=[^=]*=[^%]*!"
-syn match dosbatchVariable "!\h\w*:\~\d\+,\d\+!" contains=dosbatchInteger
+syn match dosbatchVariable "!\h\w*:\*\=[^=]*=[^!]*!"
+syn match dosbatchVariable "!\h\w*:\~[-]\=\d\+\(,[-]\=\d\+\)\=!" contains=dosbatchInteger
syn match dosbatchSet "\s\h\w*[+-]\==\{-1}" contains=dosbatchIdentifier,dosbatchOperator
" Args to bat files and for loops, etc
syn match dosbatchArgument "%\(\d\|\*\)"
-syn match dosbatchArgument "%%[a-z]\>"
+syn match dosbatchArgument "%[a-z]\>"
if dosbatch_cmdextversion == 1
syn match dosbatchArgument "%\~[fdpnxs]\+\(\($PATH:\)\=[a-z]\|\d\)\>"
else
@@ -92,7 +92,9 @@ syn match dosbatchLabel ":\h\w*\>"
" Comments - usual rem but also two colons as first non-space is an idiom
syn match dosbatchComment "^rem\($\|\s.*$\)"lc=3 contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell
+syn match dosbatchComment "^@rem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell
syn match dosbatchComment "\srem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell
+syn match dosbatchComment "\s@rem\($\|\s.*$\)"lc=5 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell
syn match dosbatchComment "\s*:\s*:.*$" contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell
" Comments in ()'s - still to handle spaces before rem
diff --git a/runtime/syntax/doxygen.vim b/runtime/syntax/doxygen.vim
index fb4d3cca..1aea3bf7 100644
--- a/runtime/syntax/doxygen.vim
+++ b/runtime/syntax/doxygen.vim
@@ -2,8 +2,8 @@
" Language: doxygen on top of c, cpp, idl, java, php
" Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net>
" Author: Michael Geddes
-" Last Change: July 2008
-" Version: 1.22
+" Last Change: Jan 2009
+" Version: 1.23
"
" Copyright 2004-2008 Michael Geddes
" Please feel free to use, modify & distribute all or part of this script,
@@ -239,7 +239,7 @@ endif
" #Link hilighting.
syn match doxygenHashLink /\([a-zA-Z_][0-9a-zA-Z_]*\)\?#\(\.[0-9a-zA-Z_]\@=\|[a-zA-Z0-9_]\+\|::\|()\)\+/ contained contains=doxygenHashSpecial
syn match doxygenHashSpecial /#/ contained
- syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@]\+/ contained
+ syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@~]\+/ contained
" Handle \page. This does not use doxygenBrief.
syn match doxygenPage "[\\@]page\>"me=s+1 contained skipwhite nextgroup=doxygenPagePage
diff --git a/runtime/syntax/dsl.vim b/runtime/syntax/dsl.vim
index 9b3cb56f..95c78431 100644
--- a/runtime/syntax/dsl.vim
+++ b/runtime/syntax/dsl.vim
@@ -3,7 +3,7 @@
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Tue, 27 Apr 2004 14:54:59 CEST
" Filenames: *.dsl
-" $Id$
+" $Id: dsl.vim,v 1.1 2004/06/13 19:13:31 vimboss Exp $
if exists("b:current_syntax") | finish | endif
diff --git a/runtime/syntax/elf.vim b/runtime/syntax/elf.vim
index 67804896..621e063f 100644
--- a/runtime/syntax/elf.vim
+++ b/runtime/syntax/elf.vim
@@ -4,7 +4,7 @@
" Last Change: Son 22 Jun 2003 20:43:14 CEST
" Filenames: *.ab,*.am
" URL: http://www.cvjb.de/comp/vim/elf.vim
-" $Id$
+" $Id: elf.vim,v 1.1 2004/06/13 19:52:27 vimboss Exp $
"
" ELF: Extensible Language Facility
" This is the Applix Inc., Macro and Builder programming language.
diff --git a/runtime/syntax/erlang.vim b/runtime/syntax/erlang.vim
index e3d68363..2f39d614 100644
--- a/runtime/syntax/erlang.vim
+++ b/runtime/syntax/erlang.vim
@@ -50,7 +50,7 @@ if ! exists ("erlang_characters")
" Operators
syn match erlangOperator "+\|-\|\*\|\/"
syn keyword erlangOperator div rem or xor bor bxor bsl bsr
- syn keyword erlangOperator and band not bnot
+ syn keyword erlangOperator and band not bnot andalso orelse
syn match erlangOperator "==\|/=\|=:=\|=/=\|<\|=<\|>\|>="
syn match erlangOperator "++\|--\|=\|!\|<-"
@@ -123,7 +123,7 @@ endif
if ! exists ("erlang_keywords")
" Constants and Directives
- syn match erlangDirective "-behaviour\|-behaviour"
+ syn match erlangDirective "-behaviour\|-behavior"
syn match erlangDirective "-compile\|-define\|-else\|-endif\|-export\|-file"
syn match erlangDirective "-ifdef\|-ifndef\|-import\|-include_lib\|-include"
syn match erlangDirective "-module\|-record\|-undef"
diff --git a/runtime/syntax/eruby.vim b/runtime/syntax/eruby.vim
index 46e57040..1e45ffd4 100644
--- a/runtime/syntax/eruby.vim
+++ b/runtime/syntax/eruby.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: eRuby
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
-" Info: $Id$
+" Info: $Id: eruby.vim,v 1.23 2008/06/29 04:18:43 tpope Exp $
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
diff --git a/runtime/syntax/focexec.vim b/runtime/syntax/focexec.vim
index 884c37eb..8be1b65c 100644
--- a/runtime/syntax/focexec.vim
+++ b/runtime/syntax/focexec.vim
@@ -1,9 +1,9 @@
" Vim syntax file
" Language: Focus Executable
" Maintainer: Rob Brady <robb@datatone.com>
-" Last Change: $Date$
+" Last Change: $Date: 2004/06/13 15:38:04 $
" URL: http://www.datatone.com/~robb/vim/syntax/focexec.vim
-" $Revision$
+" $Revision: 1.1 $
" this is a very simple syntax file - I will be improving it
" one thing is how to do computes
diff --git a/runtime/syntax/form.vim b/runtime/syntax/form.vim
index 726bf475..19a47ed6 100644
--- a/runtime/syntax/form.vim
+++ b/runtime/syntax/form.vim
@@ -1,7 +1,10 @@
" Vim syntax file
" Language: FORM
+" Version: 2.0
" Maintainer: Michael M. Tung <michael.tung@uni-mainz.de>
-" Last Change: 2001 May 10
+" Last Change: <Thu Oct 23 13:11:21 CEST 2008>
+" Past Change: <October 2008 Thomas Reiter thomasr@nikhef.nl>
+" Past Change: <Wed, 2005/05/25 09:24:58 arwagner wptx44>
" First public release based on 'Symbolic Manipulation with FORM'
" by J.A.M. Vermaseren, CAN, Netherlands, 1991.
@@ -18,30 +21,73 @@ endif
syn case ignore
-" A bunch of useful FORM keywords
+" a bunch of useful FORM keywords
syn keyword formType global local
syn keyword formHeaderStatement symbol symbols cfunction cfunctions
syn keyword formHeaderStatement function functions vector vectors
-syn keyword formHeaderStatement set sets index indices
+syn keyword formHeaderStatement tensor tensors ctensor ctensors
+syn keyword formHeaderStatement set sets index indices table ctable
syn keyword formHeaderStatement dimension dimensions unittrace
-syn keyword formStatement id identify drop skip
-syn keyword formStatement write nwrite
-syn keyword formStatement format print nprint load save
-syn keyword formStatement bracket brackets
-syn keyword formStatement multiply count match only discard
-syn keyword formStatement trace4 traceN contract symmetrize antisymmetrize
-syn keyword formConditional if else endif while
+syn keyword formConditional if else elseif endif while
syn keyword formConditional repeat endrepeat label goto
+syn keyword formConditional argument endargument exit
+syn keyword formConditional inexpression inside term
+syn keyword formConditional endinexpression endinside endterm
+syn keyword formStatement abrackets also antibrackets antisymmetrize
+syn keyword formStatement argexplode argimplode apply auto autodeclare
+syn keyword formStatement brackets chainin chainout chisholm cleartable
+syn keyword formStatement collect commuting compress contract
+syn keyword formStatement cyclesymmetrize deallocatetable delete
+syn keyword formStatement dimension discard disorder drop factarg fill
+syn keyword formStatement fillexpression fixindex format funpowers hide
+syn keyword formStatement identify idnew idold ifmatch inparallel
+syn keyword formStatement insidefirst keep load makeinteger many metric
+syn keyword formStatement moduleoption modulus multi multiply ndrop
+syn keyword formStatement nfunctions nhide normalize notinparallel
+syn keyword formStatement nprint nskip ntable ntensors nunhide nwrite
+syn keyword formStatement off on once only polyfun pophide print
+syn keyword formStatement printtable propercount pushhide ratio
+syn keyword formStatement rcyclesymmetrize redefine renumber
+syn keyword formStatement replaceinarg replaceloop save select
+syn keyword formStatement setexitflag skip slavepatchsize sort splitarg
+syn keyword formStatement splitfirstarg splitlastarg sum symmetrize
+syn keyword formStatement tablebase testuse threadbucketsize totensor
+syn keyword formStatement tovector trace4 tracen tryreplace unhide
+syn keyword formStatement unittrace vectors write
+" for compatibility with older FORM versions:
+syn keyword formStatement id bracket count match traceN
" some special functions
-syn keyword formStatement g_ gi_ g5_ g6_ g7_ 5_ 6_ 7_
-syn keyword formStatement e_ d_ delta_ theta_ sum_ sump_
+syn keyword formStatement abs_ bernoulli_ binom_ conjg_ count_
+syn keyword formStatement d_ dd_ delta_ deltap_ denom_ distrib_
+syn keyword formStatement dum_ dummy_ dummyten_ e_ exp_ fac_
+syn keyword formStatement factorin_ firstbracket_ g5_ g6_ g7_
+syn keyword formStatement g_ gcd_ gi_ integer_ invfac_ match_
+syn keyword formStatement max_ maxpowerof_ min_ minpowerof_
+syn keyword formStatement mod_ nargs_ nterms_ pattern_ poly_
+syn keyword formStatement polyadd_ polydiv_ polygcd_ polyintfac_
+syn keyword formStatement polymul_ polynorm_ polyrem_ polysub_
+syn keyword formStatement replace_ reverse_ root_ setfun_ sig_
+syn keyword formStatement sign_ sum_ sump_ table_ tbl_ term_
+syn keyword formStatement termsin_ termsinbracket_ theta_ thetap_
+syn keyword formStatement 5_ 6_ 7_
+
+syn keyword formReserved sqrt_ ln_ sin_ cos_ tan_ asin_ acos_
+syn keyword formReserved atan_ atan2_ sinh_ cosh_ tanh_ asinh_
+syn keyword formReserved acosh_ atanh_ li2_ lin_
+
+syn keyword formTodo contained TODO FIXME XXX
+
+syn match formSpecial display contained "\\\(n\|t\|b\|\\\|\"\)"
+syn match formSpecial display contained "%\(%\|e\|E\|s\|f\|\$\)"
+syn match formSpecial "\<N\d\+_[?]"
" pattern matching for keywords
-syn match formComment "^\ *\*.*$"
-syn match formComment "\;\ *\*.*$"
-syn region formString start=+"+ end=+"+
+syn match formComment "^\ *\*.*$" contains=formTodo
+syn match formComment "\;\ *\*.*$" contains=formTodo
+syn region formString start=+"+ end=+"+ contains=formSpecial
syn region formString start=+'+ end=+'+
+syn region formNestedString start=+`+ end=+'+ contains=formNestedString
syn match formPreProc "^\=\#[a-zA-z][a-zA-Z0-9]*\>"
syn match formNumber "\<\d\+\>"
syn match formNumber "\<\d\+\.\d*\>"
@@ -50,6 +96,13 @@ syn match formNumber "-\d" contains=Number
syn match formNumber "-\.\d" contains=Number
syn match formNumber "i_\+\>"
syn match formNumber "fac_\+\>"
+" pattern matching wildcards
+syn match formNumber "?[A-z0-9]*"
+" dollar-variables (new in 3.x)
+syn match formNumber "\\$[A-z0-9]*"
+" scalar products
+syn match formNumber "^\=[a-zA-z][a-zA-Z0-9]*\.[a-zA-z][a-zA-Z0-9]*\>"
+
syn match formDirective "^\=\.[a-zA-z][a-zA-Z0-9]*\>"
" hi User Labels
@@ -74,6 +127,10 @@ if version >= 508 || !exists("did_form_syn_inits")
HiLink formDirective PreProc
HiLink formType Type
HiLink formString String
+ HiLink formNestedString String
+ HiLink formReserved Error
+ HiLink formTodo Todo
+ HiLink formSpecial SpecialChar
if !exists("form_enhanced_color")
HiLink formHeaderStatement Statement
diff --git a/runtime/syntax/forth.vim b/runtime/syntax/forth.vim
index 8713a721..e0e8b774 100644
--- a/runtime/syntax/forth.vim
+++ b/runtime/syntax/forth.vim
@@ -5,7 +5,7 @@
" Filenames: *.fs,*.ft
" URL: http://www.cvjb.de/comp/vim/forth.vim
-" $Id$
+" $Id: forth.vim,v 1.11 2008/02/09 13:17:01 bruessow Exp $
" The list of keywords is incomplete, compared with the offical ANS
" wordlist. If you use this language, please improve it, and send me
diff --git a/runtime/syntax/fortran.vim b/runtime/syntax/fortran.vim
index 1d160f28..3d323fbb 100644
--- a/runtime/syntax/fortran.vim
+++ b/runtime/syntax/fortran.vim
@@ -2,7 +2,7 @@
" Language: Fortran95 (and Fortran90, Fortran77, F and elf90)
" Version: 0.88
" URL: http://www.unb.ca/chem/ajit/syntax/fortran.vim
-" Last Change: 2006 Apr. 22
+" Last Change: 2008 Nov 01
" Maintainer: Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
" Usage: Do :help fortran-syntax from Vim
" Credits:
@@ -300,7 +300,7 @@ if (b:fortran_fixed_source == 1)
syn match fortranLabelError "^.\{-,4}[^0-9 ]" contains=fortranTab
syn match fortranLabelError "^.\{4}\d\S"
endif
- syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup
+ syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup,@spell
syn match fortranLeftMargin transparent "^ \{5}"
syn match fortranContinueMark display "^.\{5}\S"lc=5
else
diff --git a/runtime/syntax/fstab.vim b/runtime/syntax/fstab.vim
index 830b8d01..9bee8943 100644
--- a/runtime/syntax/fstab.vim
+++ b/runtime/syntax/fstab.vim
@@ -2,14 +2,15 @@
" Language: fstab file
" Maintaner: Radu Dineiu <radu.dineiu@gmail.com>
" URL: http://ld.yi.org/vim/fstab.vim
-" Last Change: 2008 Jan 16
-" Version: 0.92
+" Last Change: 2009 Feb 04
+" Version: 0.93
"
" Credits:
" David Necas (Yeti) <yeti@physics.muni.cz>
" Stefano Zacchiroli <zack@debian.org>
" Georgi Georgiev <chutz@gg3.net>
" James Vega <jamessan@debian.org>
+" Elias Probst <mail@eliasprobst.eu>
"
" Options:
" let fstab_unknown_fs_errors = 1
@@ -46,7 +47,7 @@ syn keyword fsMountPointKeyword contained none swap
" Type
syn cluster fsTypeCluster contains=fsTypeKeyword,fsTypeUnknown
syn match fsTypeUnknown /\s\+\zs\w\+/ contained
-syn keyword fsTypeKeyword contained adfs ados affs atfs audiofs auto autofs befs bfs cd9660 cfs cifs coda cramfs devfs devpts e2compr efs ext2 ext2fs ext3 fdesc ffs filecore fuse hfs hpfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix msdos ncpfs nfs none ntfs null nwfs overlay ovlfs portal proc procfs ptyfs qnx4 reiserfs romfs shm smbfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xfs zisofs
+syn keyword fsTypeKeyword contained adfs ados affs atfs audiofs auto autofs befs bfs cd9660 cfs cifs coda cramfs devfs devpts e2compr efs ext2 ext2fs ext3 ext4 fdesc ffs filecore fuse hfs hpfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix msdos ncpfs nfs none ntfs null nwfs overlay ovlfs portal proc procfs ptyfs qnx4 reiserfs romfs shm smbfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xfs zisofs
" Options
" -------
@@ -91,7 +92,21 @@ syn match fsOptionsKeywords contained /\<data=/ nextgroup=fsOptionsExt3Data
syn match fsOptionsKeywords contained /\<commit=/ nextgroup=fsOptionsNumber
syn keyword fsOptionsExt3Journal contained update inum
syn keyword fsOptionsExt3Data contained journal ordered writeback
-syn keyword fsOptionsKeywords contained noload
+syn keyword fsOptionsKeywords contained noload user_xattr nouser_xattr acl noacl
+
+" Options: ext4
+syn match fsOptionsKeywords contained /\<journal=/ nextgroup=fsOptionsExt4Journal
+syn match fsOptionsKeywords contained /\<data=/ nextgroup=fsOptionsExt4Data
+syn match fsOptionsKeywords contained /\<barrier=/ nextgroup=fsOptionsExt4Barrier
+syn match fsOptionsKeywords contained /\<journal_dev=/ nextgroup=fsOptionsNumber
+syn match fsOptionsKeywords contained /\<resuid=/ nextgroup=fsOptionsNumber
+syn match fsOptionsKeywords contained /\<resgid=/ nextgroup=fsOptionsNumber
+syn match fsOptionsKeywords contained /\<sb=/ nextgroup=fsOptionsNumber
+syn match fsOptionsKeywords contained /\<commit=/ nextgroup=fsOptionsNumber
+syn keyword fsOptionsExt4Journal contained update inum
+syn keyword fsOptionsExt4Data contained journal ordered writeback
+syn match fsOptionsExt4Barrier /[0-1]/
+syn keyword fsOptionsKeywords contained noload extents orlov oldalloc user_xattr nouser_xattr acl noacl reservation noreservation bsddf minixdf check=none nocheck debug grpid nogroupid sysvgroups bsdgroups quota noquota grpquota usrquota bh nobh
" Options: fat
syn match fsOptionsKeywords contained /\<blocksize=/ nextgroup=fsOptionsSize
@@ -241,6 +256,9 @@ if version >= 508 || !exists("did_config_syntax_inits")
HiLink fsOptionsExt2Errors String
HiLink fsOptionsExt3Journal String
HiLink fsOptionsExt3Data String
+ HiLink fsOptionsExt4Journal String
+ HiLink fsOptionsExt4Data String
+ HiLink fsOptionsExt4Barrier Number
HiLink fsOptionsFatCheck String
HiLink fsOptionsConv String
HiLink fsOptionsFatType Number
diff --git a/runtime/syntax/gdb.vim b/runtime/syntax/gdb.vim
index c874a046..aada70e5 100644
--- a/runtime/syntax/gdb.vim
+++ b/runtime/syntax/gdb.vim
@@ -2,7 +2,7 @@
" Language: GDB command files
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/gdb.vim
-" Last Change: 2003 Jan 04
+" Last Change: 2009 May 25
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -35,7 +35,7 @@ syn match gdbStatement "^\s*info" nextgroup=gdbInfo skipwhite skipempty
" some commonly used abreviations
syn keyword gdbStatement c disp undisp disas p
-syn region gdbDocument matchgroup=gdbFuncDef start="\<document\>.*$" matchgroup=gdbFuncDef end="^end$"
+syn region gdbDocument matchgroup=gdbFuncDef start="\<document\>.*$" matchgroup=gdbFuncDef end="^end\s*$"
syn match gdbStatement "\<add-shared-symbol-files\>"
syn match gdbStatement "\<add-symbol-file\>"
diff --git a/runtime/syntax/git.vim b/runtime/syntax/git.vim
index fd76b731..feb70848 100644
--- a/runtime/syntax/git.vim
+++ b/runtime/syntax/git.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: generic git output
-" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
-" Last Change: 2008 Mar 21
+" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
+" Last Change: 2009 Dec 24
if exists("b:current_syntax")
finish
@@ -13,14 +13,19 @@ syn sync minlines=50
syn include @gitDiff syntax/diff.vim
syn region gitHead start=/\%^/ end=/^$/
-syn region gitHead start=/\%(^commit \x\{40\}$\)\@=/ end=/^$/
+syn region gitHead start=/\%(^commit \x\{40\}\%(\s*(.*)\)\=$\)\@=/ end=/^$/
" For git reflog and git show ...^{tree}, avoid sync issues
syn match gitHead /^\d\{6\} \%(\w\{4} \)\=\x\{40\}\%( [0-3]\)\=\t.*/
syn match gitHead /^\x\{40\} \x\{40}\t.*/
-syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --git \|$\)\@=/ contains=@gitDiff fold
-syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --git \|$\)\@=/ contains=@gitDiff
+syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff fold
+syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --\%(git\|cc\|combined\) \|$\)\@=/ contains=@gitDiff
+
+syn region gitDiffMerge start=/^\%(diff --\%(cc\|combined\) \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff
+syn region gitDiffMerge start=/^\%(@@@@* -\)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff
+syn match gitDiffAdded "^ \++.*" contained containedin=gitDiffMerge
+syn match gitDiffRemoved "^ \+-.*" contained containedin=gitDiffMerge
syn match gitKeyword /^\%(object\|type\|tag\|commit\|tree\|parent\|encoding\)\>/ contained containedin=gitHead nextgroup=gitHash,gitType skipwhite
syn match gitKeyword /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite
@@ -29,8 +34,6 @@ syn match gitMode /^\d\{6\}/ contained containedin=gitHead nextgroup=gitType
syn match gitIdentityKeyword /^\%(author\|committer\|tagger\)\>/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite
-syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite
-syn region gitEmail matchgroup=gitEmailDelimiter start=/</ end=/>/ keepend oneline contained containedin=gitIdentity
syn match gitReflogHeader /^Reflog:/ contained containedin=gitHead nextgroup=gitReflogMiddle skipwhite
syn match gitReflogHeader /^Reflog message:/ contained containedin=gitHead skipwhite
@@ -42,14 +45,20 @@ syn match gitDate /\<\d\+ \l\+ ago\>/ contained
syn match gitType /\<\%(tag\|commit\|tree\|blob\)\>/ contained nextgroup=gitHash skipwhite
syn match gitStage /\<\d\t\@=/ contained
syn match gitReference /\S\+\S\@!/ contained
-syn match gitHash /\<\x\{40\}\>/ contained nextgroup=gitIdentity,gitStage skipwhite
+syn match gitHash /\<\x\{40\}\>/ contained nextgroup=gitIdentity,gitStage,gitHash skipwhite
syn match gitHash /^\<\x\{40\}\>/ containedin=gitHead contained nextgroup=gitHash skipwhite
+syn match gitHashAbbrev /\<\x\{4,40\}\>/ contained nextgroup=gitHashAbbrev skipwhite
syn match gitHashAbbrev /\<\x\{4,39\}\.\.\./he=e-3 contained nextgroup=gitHashAbbrev skipwhite
-syn match gitHashAbbrev /\<\x\{40\}\>/ contained nextgroup=gitHashAbbrev skipwhite
+
+syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite
+syn region gitEmail matchgroup=gitEmailDelimiter start=/</ end=/>/ keepend oneline contained containedin=gitIdentity
+
+syn match gitNotesHeader /^Notes:\ze\n /
hi def link gitDateHeader gitIdentityHeader
hi def link gitIdentityHeader gitIdentityKeyword
hi def link gitIdentityKeyword Label
+hi def link gitNotesHeader gitKeyword
hi def link gitReflogHeader gitKeyword
hi def link gitKeyword Keyword
hi def link gitIdentity String
@@ -63,5 +72,7 @@ hi def link gitReflogMiddle gitReference
hi def link gitReference Function
hi def link gitStage gitType
hi def link gitType Type
+hi def link gitDiffAdded diffAdded
+hi def link gitDiffRemoved diffRemoved
let b:current_syntax = "git"
diff --git a/runtime/syntax/gitcommit.vim b/runtime/syntax/gitcommit.vim
index e75d0441..12db0a42 100644
--- a/runtime/syntax/gitcommit.vim
+++ b/runtime/syntax/gitcommit.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: git commit file
-" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
+" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: *.git/COMMIT_EDITMSG
-" Last Change: 2008 Apr 09
+" Last Change: 2009 Dec 24
if exists("b:current_syntax")
finish
@@ -16,48 +16,66 @@ if has("spell")
endif
syn include @gitcommitDiff syntax/diff.vim
-syn region gitcommitDiff start=/\%(^diff --git \)\@=/ end=/^$\|^#\@=/ contains=@gitcommitDiff
+syn region gitcommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^$\|^#\@=/ contains=@gitcommitDiff
syn match gitcommitFirstLine "\%^[^#].*" nextgroup=gitcommitBlank skipnl
-syn match gitcommitSummary "^.\{0,50\}" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell
+syn match gitcommitSummary "^.\{0,50\}" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell
syn match gitcommitOverflow ".*" contained contains=@Spell
syn match gitcommitBlank "^[^#].*" contained contains=@Spell
syn match gitcommitComment "^#.*"
-syn region gitcommitHead start=/^# / end=/^#$/ contained transparent
+syn match gitcommitHead "^\%(# .*\n\)\+#$" contained transparent
syn match gitcommitOnBranch "\%(^# \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
-syn match gitcommitBranch "\S\+" contained
+syn match gitcommitOnBranch "\%(^# \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
+syn match gitcommitBranch "[^ \t']\+" contained
+syn match gitcommitNoBranch "\%(^# \)\@<=Not currently on any branch." contained containedin=gitcommitComment
syn match gitcommitHeader "\%(^# \)\@<=.*:$" contained containedin=gitcommitComment
+syn region gitcommitAuthor matchgroup=gitCommitHeader start=/\%(^# \)\@<=Author:/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent
+syn match gitcommitNoChanges "\%(^# \)\@<=No changes$" contained containedin=gitcommitComment
syn region gitcommitUntracked start=/^# Untracked files:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUntrackedFile fold
syn match gitcommitUntrackedFile "\t\@<=.*" contained
syn region gitcommitDiscarded start=/^# Changed but not updated:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold
syn region gitcommitSelected start=/^# Changes to be committed:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType fold
+syn region gitcommitUnmerged start=/^# Unmerged paths:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUnmergedType fold
syn match gitcommitDiscardedType "\t\@<=[a-z][a-z ]*[a-z]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitDiscardedFile skipwhite
syn match gitcommitSelectedType "\t\@<=[a-z][a-z ]*[a-z]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitSelectedFile skipwhite
+syn match gitcommitUnmergedType "\t\@<=[a-z][a-z ]*[a-z]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitUnmergedFile skipwhite
syn match gitcommitDiscardedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow
syn match gitcommitSelectedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
+syn match gitcommitUnmergedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
syn match gitcommitDiscardedArrow " -> " contained nextgroup=gitcommitDiscardedFile
syn match gitcommitSelectedArrow " -> " contained nextgroup=gitcommitSelectedFile
+syn match gitcommitUnmergedArrow " -> " contained nextgroup=gitcommitSelectedFile
+
+syn match gitcommitWarning "\%^[^#].*: needs merge$" nextgroup=gitcommitWarning skipnl
+syn match gitcommitWarning "^[^#].*: needs merge$" nextgroup=gitcommitWarning skipnl contained
+syn match gitcommitWarning "^\%(no changes added to commit\|nothing \%(added \)\=to commit\)\>.*\%$"
hi def link gitcommitSummary Keyword
hi def link gitcommitComment Comment
hi def link gitcommitUntracked gitcommitComment
hi def link gitcommitDiscarded gitcommitComment
hi def link gitcommitSelected gitcommitComment
+hi def link gitcommitUnmerged gitcommitComment
hi def link gitcommitOnBranch Comment
hi def link gitcommitBranch Special
+hi def link gitcommitNoBranch gitCommitBranch
hi def link gitcommitDiscardedType gitcommitType
hi def link gitcommitSelectedType gitcommitType
+hi def link gitcommitUnmergedType gitcommitType
hi def link gitcommitType Type
+hi def link gitcommitNoChanges gitcommitHeader
hi def link gitcommitHeader PreProc
hi def link gitcommitUntrackedFile gitcommitFile
hi def link gitcommitDiscardedFile gitcommitFile
hi def link gitcommitSelectedFile gitcommitFile
+hi def link gitcommitUnmergedFile gitcommitFile
hi def link gitcommitFile Constant
hi def link gitcommitDiscardedArrow gitcommitArrow
hi def link gitcommitSelectedArrow gitcommitArrow
+hi def link gitcommitUnmergedArrow gitcommitArrow
hi def link gitcommitArrow gitcommitComment
"hi def link gitcommitOverflow Error
hi def link gitcommitBlank Error
diff --git a/runtime/syntax/gitconfig.vim b/runtime/syntax/gitconfig.vim
index f44ce2b5..dc14adc1 100644
--- a/runtime/syntax/gitconfig.vim
+++ b/runtime/syntax/gitconfig.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: git config file
-" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
+" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: gitconfig, .gitconfig, *.git/config
-" Last Change: 2008 Jun 04
+" Last Change: 2009 Dec 24
if exists("b:current_syntax")
finish
diff --git a/runtime/syntax/gitrebase.vim b/runtime/syntax/gitrebase.vim
index 080252fd..94361c17 100644
--- a/runtime/syntax/gitrebase.vim
+++ b/runtime/syntax/gitrebase.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: git rebase --interactive
-" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
+" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: git-rebase-todo
-" Last Change: 2008 Apr 16
+" Last Change: 2009 Dec 24
if exists("b:current_syntax")
finish
@@ -14,6 +14,7 @@ syn match gitrebaseHash "\v<\x{7,40}>" contained
syn match gitrebaseCommit "\v<\x{7,40}>" nextgroup=gitrebaseSummary skipwhite
syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite
+syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseSummary ".*" contains=gitrebaseHash contained
syn match gitrebaseComment "^#.*" contains=gitrebaseHash
@@ -23,9 +24,10 @@ hi def link gitrebaseCommit gitrebaseHash
hi def link gitrebaseHash Identifier
hi def link gitrebasePick Statement
hi def link gitrebaseEdit PreProc
+hi def link gitrebaseReword Special
hi def link gitrebaseSquash Type
hi def link gitrebaseSummary String
hi def link gitrebaseComment Comment
-hi def link gitrebaseSquashError Error
+hi def link gitrebaseSquashError Error
let b:current_syntax = "gitrebase"
diff --git a/runtime/syntax/groovy.vim b/runtime/syntax/groovy.vim
index 5f96dfbd..d2f34968 100644
--- a/runtime/syntax/groovy.vim
+++ b/runtime/syntax/groovy.vim
@@ -228,6 +228,7 @@ if !exists("groovy_ignore_groovydoc") && main_syntax != 'jsp'
" syntax include @groovyHtml <sfile>:p:h/html.vim
syntax include @groovyHtml runtime! syntax/html.vim
unlet b:current_syntax
+ syntax spell default " added by Bram
syn region groovyDocComment start="/\*\*" end="\*/" keepend contains=groovyCommentTitle,@groovyHtml,groovyDocTags,groovyTodo,@Spell
syn region groovyCommentTitle contained matchgroup=groovyDocComment start="/\*\*" matchgroup=groovyCommentTitle keepend end="\.$" end="\.[ \t\r<&]"me=e-1 end="[^{]@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=@groovyHtml,groovyCommentStar,groovyTodo,@Spell,groovyDocTags
diff --git a/runtime/syntax/haskell.vim b/runtime/syntax/haskell.vim
index 21fcf81f..8afca048 100644
--- a/runtime/syntax/haskell.vim
+++ b/runtime/syntax/haskell.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Haskell
" Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org>
-" Last Change: 2004 Feb 23
+" Last Change: 2008 Dec 15
" Original Author: John Williams <jrw@pobox.com>
"
" Thanks to Ryan Crumley for suggestions and John Meacham for
@@ -30,6 +30,7 @@
" in eol comment character class
" 2004 Feb 23: Made the leading comments somewhat clearer where it comes
" to attribution of work.
+" 2008 Dec 15: Added comments as contained element in import statements
" Remove any old syntax stuff hanging around
if version < 600
@@ -67,7 +68,7 @@ syn match hsFloat "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"
" because otherwise they would match as keywords at the start of a
" "literate" comment (see lhs.vim).
syn match hsModule "\<module\>"
-syn match hsImport "\<import\>.*"he=s+6 contains=hsImportMod
+syn match hsImport "\<import\>.*"he=s+6 contains=hsImportMod,hsLineComment,hsBlockComment
syn match hsImportMod contained "\<\(as\|qualified\|hiding\)\>"
syn match hsInfix "\<\(infix\|infixl\|infixr\)\>"
syn match hsStructure "\<\(class\|data\|deriving\|instance\|default\|where\)\>"
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index e600de73..d0f447f9 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,14 +1,14 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
-" Last Change: 2006 May 13
+" Last Change: 2009 May 18
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
finish
endif
-syn match helpHeadline "^[-A-Z .]\+[ \t]\+\*"me=e-1
+syn match helpHeadline "^[-A-Z .][-A-Z0-9 .()]*[ \t]\+\*"me=e-1
syn match helpSectionDelim "^=\{3,}.*===$"
syn match helpSectionDelim "^-\{3,}.*--$"
syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
diff --git a/runtime/syntax/hog.vim b/runtime/syntax/hog.vim
index f39c171d..7f01d7fc 100644
--- a/runtime/syntax/hog.vim
+++ b/runtime/syntax/hog.vim
@@ -1,7 +1,7 @@
" Snort syntax file
" Language: Snort Configuration File (see: http://www.snort.org)
" Maintainer: Phil Wood, cornett@arpa.net
-" Last Change: $Date$
+" Last Change: $Date: 2004/06/13 17:41:17 $
" Filenames: *.hog *.rules snort.conf vision.conf
" URL: http://home.lanl.gov/cpw/vim/syntax/hog.vim
" Snort Version: 1.8 By Martin Roesch (roesch@clark.net, www.snort.org)
diff --git a/runtime/syntax/initng.vim b/runtime/syntax/initng.vim
index 2b7bc3b4..1a912c1d 100644
--- a/runtime/syntax/initng.vim
+++ b/runtime/syntax/initng.vim
@@ -4,7 +4,7 @@
" URL: http://glen.alkohol.ee/pld/initng/
" License: GPL v2
" Version: 0.13
-" Last Change: $Date$
+" Last Change: $Date: 2007/05/05 17:17:40 $
"
" Syntax highlighting for initng .i files. Inherits from sh.vim and adds
" in the hiliting to start/stop {} blocks. Requires vim 6.3 or later.
diff --git a/runtime/syntax/java.vim b/runtime/syntax/java.vim
index d5e32fae..18e4532d 100644
--- a/runtime/syntax/java.vim
+++ b/runtime/syntax/java.vim
@@ -2,7 +2,7 @@
" Language: Java
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/java.vim
-" Last Change: 2007 Dec 21
+" Last Change: 2009 Mar 14
" Please check :help java.vim for comments on some of the options available.
@@ -15,6 +15,7 @@ if !exists("main_syntax")
endif
" we define it here so that included files can test for it
let main_syntax='java'
+ syn region javaFold start="{" end="}" transparent fold
endif
" don't use standard HiLink, it will not work with included syntax files
@@ -58,7 +59,7 @@ syn match javaTypedef "\.\s*\<class\>"ms=s+1
syn keyword javaClassDecl enum
syn match javaClassDecl "^class\>"
syn match javaClassDecl "[^.]\s*\<class\>"ms=s+1
-syn match javaAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>"
+syn match javaAnnotation "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>"
syn match javaClassDecl "@interface\>"
syn keyword javaBranch break continue nextgroup=javaUserLabelRef skipwhite
syn match javaUserLabelRef "\k\+" contained
@@ -121,11 +122,6 @@ syn match javaUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contai
syn keyword javaLabel default
if !exists("java_allow_cpp_keywords")
- " The default used to be to highlight C++ keywords. But several people
- " don't like that, so default to not highlighting these.
- let java_allow_cpp_keywords = 1
-endif
-if !java_allow_cpp_keywords
syn keyword javaError auto delete extern friend inline redeclared
syn keyword javaError register signed sizeof struct template typedef union
syn keyword javaError unsigned operator
@@ -161,6 +157,11 @@ if !exists("java_ignore_javadoc") && main_syntax != 'jsp'
" syntax coloring for javadoc comments (HTML)
syntax include @javaHtml <sfile>:p:h/html.vim
unlet b:current_syntax
+ " HTML enables spell checking for all text that is not in a syntax item. This
+ " is wrong for Java (all identifiers would be spell-checked), so it's undone
+ " here.
+ syntax spell default
+
syn region javaDocComment start="/\*\*" end="\*/" keepend contains=javaCommentTitle,@javaHtml,javaDocTags,javaDocSeeTag,javaTodo,@Spell
syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*" matchgroup=javaCommentTitle keepend end="\.$" end="\.[ \t\r<&]"me=e-1 end="[^{]@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=@javaHtml,javaCommentStar,javaTodo,@Spell,javaDocTags,javaDocSeeTag
@@ -179,7 +180,7 @@ syn match javaComment "/\*\*/"
" Strings and constants
syn match javaSpecialError contained "\\."
syn match javaSpecialCharError contained "[^']"
-syn match javaSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
+syn match javaSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\+\x\{4\}\)"
syn region javaString start=+"+ end=+"+ end=+$+ contains=javaSpecialChar,javaSpecialError,@Spell
" next line disabled, it can cause a crash for a long line
"syn match javaStringError +"\([^"\\]\|\\.\)*$+
@@ -192,7 +193,7 @@ syn match javaNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
syn match javaNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
" unicode characters
-syn match javaSpecial "\\u\d\{4\}"
+syn match javaSpecial "\\u\+\d\{4\}"
syn cluster javaTop add=javaString,javaCharacter,javaNumber,javaSpecial,javaStringError
diff --git a/runtime/syntax/kconfig.vim b/runtime/syntax/kconfig.vim
index a68592ee..a6ceb171 100644
--- a/runtime/syntax/kconfig.vim
+++ b/runtime/syntax/kconfig.vim
@@ -1,6 +1,6 @@
" Vim syntax file
" Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2006-04-14
+" Latest Revision: 2009-05-25
if exists("b:current_syntax")
finish
@@ -666,9 +666,9 @@ syn keyword kconfigTodo contained TODO FIXME XXX NOTE
syn match kconfigComment display '#.*$' contains=kconfigTodo
-syn keyword kconfigKeyword config menuconfig comment menu mainmenu
+syn keyword kconfigKeyword config menuconfig comment mainmenu
-syn keyword kconfigConditional choice endchoice if endif
+syn keyword kconfigConditional menu endmenu choice endchoice if endif
syn keyword kconfigPreProc source
\ nextgroup=kconfigPath
diff --git a/runtime/syntax/kscript.vim b/runtime/syntax/kscript.vim
index 903f8474..cefbe39a 100644
--- a/runtime/syntax/kscript.vim
+++ b/runtime/syntax/kscript.vim
@@ -2,7 +2,7 @@
" Language: kscript
" Maintainer: Thomas Capricelli <orzel@yalbi.com>
" URL: http://aquila.rezel.enst.fr/thomas/vim/kscript.vim
-" CVS: $Id$
+" CVS: $Id: kscript.vim,v 1.1 2004/06/13 17:40:02 vimboss Exp $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/lex.vim b/runtime/syntax/lex.vim
index f7144b92..68ae6327 100644
--- a/runtime/syntax/lex.vim
+++ b/runtime/syntax/lex.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Lex
-" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change: Sep 06, 2005
-" Version: 7
+" Maintainer: Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
+" Last Change: Sep 11, 2009
+" Version: 10
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Option:
@@ -16,7 +16,7 @@ elseif exists("b:current_syntax")
finish
endif
-" Read the C syntax to start with
+" Read the C/C++ syntax to start with
if version >= 600
if exists("lex_uses_cpp")
runtime! syntax/cpp.vim
@@ -36,32 +36,60 @@ endif
" --- Lex stuff ---
" --- ========= ---
-"I'd prefer to use lex.* , but it doesn't handle forward definitions yet
+"I'd prefer to use lex.* , but vim doesn't handle forward definitions yet
syn cluster lexListGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatString,lexPatTag,lexPatTag,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,lexPatCode,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError
-syn cluster lexListPatCodeGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatTag,lexPatTag,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError
+syn cluster lexListPatCodeGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatTag,lexPatTag,lexPatTagZoneStart,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError
" Abbreviations Section
-syn region lexAbbrvBlock start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
+if has("folding")
+ syn region lexAbbrvBlock fold start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
+else
+ syn region lexAbbrvBlock start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
+endif
syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvRegExp
syn match lexAbbrv "^%[sx]" contained
syn match lexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=lexAbbrv,lexInclude
-syn region lexInclude matchgroup=lexSep start="^%{" end="%}" contained contains=ALLBUT,@lexListGroup
-syn region lexAbbrvComment start="^\s\+/\*" end="\*/" contains=@Spell
-syn region lexStartState matchgroup=lexAbbrv start="^%\a\+" end="$" contained
+if has("folding")
+ syn region lexInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=ALLBUT,@lexListGroup
+ syn region lexAbbrvComment fold start="^\s\+/\*" end="\*/" contains=@Spell
+ syn region lexStartState fold matchgroup=lexAbbrv start="^%\a\+" end="$" contained
+else
+ syn region lexInclude matchgroup=lexSep start="^%{" end="%}" contained contains=ALLBUT,@lexListGroup
+ syn region lexAbbrvComment start="^\s\+/\*" end="\*/" contains=@Spell
+ syn region lexStartState matchgroup=lexAbbrv start="^%\a\+" end="$" contained
+endif
"%% : Patterns {Actions}
-syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPat,lexPatTag,lexPatComment
-syn region lexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=lexMorePat,lexPatSep contains=lexPatString,lexSlashQuote,lexBrace
-syn region lexBrace start="\[" skip=+\\\\\|\\+ end="]" contained
-syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
-syn match lexPatTag "^<\I\i*\(,\I\i*\)*>*" contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
+if has("folding")
+ syn region lexPatBlock fold matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat
+ syn region lexPat fold start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=lexMorePat,lexPatSep contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
+ syn region lexBrace fold start="\[" skip=+\\\\\|\\+ end="]" contained
+ syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
+else
+ syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat
+ syn region lexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=lexMorePat,lexPatSep contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
+ syn region lexBrace start="\[" skip=+\\\\\|\\+ end="]" contained
+ syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
+endif
+syn match lexPatTag "^<\I\i*\(,\I\i*\)*>" contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
+syn match lexPatTagZone "^<\I\i*\(,\I\i*\)*>\s*\ze{" contained nextgroup=lexPatTagZoneStart
syn match lexPatTag +^<\I\i*\(,\I\i*\)*>*\(\\\\\)*\\"+ contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
-syn region lexPatComment start="^\s*/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
+if has("folding")
+ syn region lexPatTagZoneStart matchgroup=lexPatTag fold start='{' end='}' contained contains=lexPat,lexPatComment
+ syn region lexPatComment start="\s\+/\*" end="\*/" fold skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
+else
+ syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='}' contained contains=lexPat,lexPatComment
+ syn region lexPatComment start="\s\+/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
+endif
syn match lexPatCodeLine ".*$" contained contains=ALLBUT,@lexListGroup
syn match lexMorePat "\s*|\s*$" skipnl contained nextgroup=lexPat,lexPatTag,lexPatComment
syn match lexPatSep "\s\+" contained nextgroup=lexMorePat,lexPatCode,lexPatCodeLine
syn match lexSlashQuote +\(\\\\\)*\\"+ contained
-syn region lexPatCode matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" skipnl contained contains=ALLBUT,@lexListPatCodeGroup
+if has("folding")
+ syn region lexPatCode matchgroup=Delimiter start="{" end="}" fold skipnl contained contains=ALLBUT,@lexListPatCodeGroup
+else
+ syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=ALLBUT,@lexListPatCodeGroup
+endif
syn keyword lexCFunctions BEGIN input unput woutput yyleng yylook yytext
syn keyword lexCFunctions ECHO output winput wunput yyless yymore yywrap
@@ -80,9 +108,10 @@ syn sync match lexSyncPat groupthere lexPatBlock "^<$"
syn sync match lexSyncPat groupthere lexPatBlock "^%%$"
" The default highlighting.
-hi def link lexSlashQuote lexPat
-hi def link lexBrace lexPat
hi def link lexAbbrvComment lexPatComment
+hi def link lexBrace lexPat
+hi def link lexPatTagZone lexPatTag
+hi def link lexSlashQuote lexPat
hi def link lexAbbrvRegExp Macro
hi def link lexAbbrv SpecialChar
diff --git a/runtime/syntax/lhaskell.vim b/runtime/syntax/lhaskell.vim
index 7ff09e7b..8cc1ded0 100644
--- a/runtime/syntax/lhaskell.vim
+++ b/runtime/syntax/lhaskell.vim
@@ -4,8 +4,8 @@
" \begin{code} \end{code} blocks
" Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org>
" Original Author: Arthur van Leeuwen <arthurvl@cs.uu.nl>
-" Last Change: 2008 Jul 01
-" Version: 1.02
+" Last Change: 2009 May 08
+" Version: 1.04
"
" Thanks to Ian Lynagh for thoughtful comments on initial versions and
" for the inspiration for writing this in the first place.
@@ -29,8 +29,10 @@
" 2004 February 20: Cleaned up the guessing and overriding a bit
" 2004 February 23: Cleaned up syntax highlighting for \begin{code} and
" \end{code}, added some clarification to the attributions
-" 2008 July 1: Removed % from guess list, as it totally breaks plain
-" text markup guessing
+" 2008 July 1: Removed % from guess list, as it totally breaks plain
+" text markup guessing
+" 2009 April 29: Fixed highlighting breakage in TeX mode,
+" thanks to Kalman Noel
"
@@ -73,14 +75,14 @@ call cursor(1,1)
" - \begin{env} (for env != code)
" - \part, \chapter, \section, \subsection, \subsubsection, etc
if b:lhs_markup == "unknown"
- if search('\\documentclass\|\\begin{\(code}\)\@!\|\\\(sub \)*section\|\\chapter|\\part','W') != 0
+ if search('\\documentclass\|\\begin{\(code}\)\@!\|\\\(sub\)*section\|\\chapter|\\part','W') != 0
let b:lhs_markup = "tex"
else
let b:lhs_markup = "plain"
endif
endif
-" If user wants us to highlight TeX syntax or guess thinks it's TeX, read it.
+" If user wants us to highlight TeX syntax or guess thinks it's TeX, read it.
if b:lhs_markup == "tex"
if version < 600
source <sfile>:p:h/tex.vim
@@ -91,6 +93,9 @@ if b:lhs_markup == "tex"
" Tex.vim removes "_" from 'iskeyword', but we need it for Haskell.
setlocal isk+=_
endif
+ syntax cluster lhsTeXContainer contains=tex.*Zone,texAbstract
+else
+ syntax cluster lhsTeXContainer contains=.*
endif
" Literate Haskell is Haskell in between text, so at least read Haskell
@@ -101,8 +106,8 @@ else
syntax include @haskellTop syntax/haskell.vim
endif
-syntax region lhsHaskellBirdTrack start="^>" end="\%(^[^>]\)\@=" contains=@haskellTop,lhsBirdTrack
-syntax region lhsHaskellBeginEndBlock start="^\\begin{code}\s*$" matchgroup=NONE end="\%(^\\end{code}.*$\)\@=" contains=@haskellTop,@beginCode
+syntax region lhsHaskellBirdTrack start="^>" end="\%(^[^>]\)\@=" contains=@haskellTop,lhsBirdTrack containedin=@lhsTeXContainer
+syntax region lhsHaskellBeginEndBlock start="^\\begin{code}\s*$" matchgroup=NONE end="\%(^\\end{code}.*$\)\@=" contains=@haskellTop,@beginCode containedin=@lhsTeXContainer
syntax match lhsBirdTrack "^>" contained
diff --git a/runtime/syntax/lilo.vim b/runtime/syntax/lilo.vim
index e3ba2af0..14bd940e 100644
--- a/runtime/syntax/lilo.vim
+++ b/runtime/syntax/lilo.vim
@@ -1,10 +1,8 @@
" Vim syntax file
-" This is a GENERATED FILE. Please always refer to source file at the URI below.
" Language: lilo configuration (lilo.conf)
-" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
-" Last Change: 2004-07-20
-" URL: http://trific.ath.cx/Ftp/vim/syntax/lilo.vim
-
+" Maintainer: help wanted!
+" Previous Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
+" Last Change: 2009-01-27
" Setup
if version >= 600
@@ -64,7 +62,7 @@ syn keyword liloDiskOpt sectors heads cylinders start nextgroup=liloEqDecNumber,
" String
syn keyword liloOption menu-title nextgroup=liloEqString,liloEqStringComment,liloError skipwhite skipempty
-syn keyword liloKernelOpt append nextgroup=liloEqString,liloEqStringComment,liloError skipwhite skipempty
+syn keyword liloKernelOpt append addappend nextgroup=liloEqString,liloEqStringComment,liloError skipwhite skipempty
syn keyword liloImageOpt fallback literal nextgroup=liloEqString,liloEqStringComment,liloError skipwhite skipempty
" Hex number
diff --git a/runtime/syntax/lisp.vim b/runtime/syntax/lisp.vim
index 55390aaa..fd44f607 100644
--- a/runtime/syntax/lisp.vim
+++ b/runtime/syntax/lisp.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Lisp
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change: Oct 19, 2007
-" Version: 20
+" Last Change: Mar 05, 2009
+" Version: 21
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Thanks to F Xavier Noria for a list of 978 Common Lisp symbols
@@ -534,7 +534,8 @@ endif
" ---------------------------------------------------------------------
" Numbers: supporting integers and floating point numbers {{{1
-syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\(e[-+]\=\d\+\)\="
+syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\([dDeEfFlL][-+]\=\d\+\)\="
+syn match lispNumber "-\=\(\d\+/\d\+\)"
syn match lispSpecial "\*\w[a-z_0-9-]*\*"
syn match lispSpecial !#|[^()'`,"; \t]\+|#!
diff --git a/runtime/syntax/logtalk.vim b/runtime/syntax/logtalk.vim
index 5fcbb097..7d90cd88 100644
--- a/runtime/syntax/logtalk.vim
+++ b/runtime/syntax/logtalk.vim
@@ -2,7 +2,7 @@
"
" Language: Logtalk
" Maintainer: Paulo Moura <pmoura@logtalk.org>
-" Last Change: June 16, 2008
+" Last Change: Oct 31, 2008
" Quit when a syntax file was already loaded:
@@ -51,9 +51,9 @@ syn region logtalkExtCall matchgroup=logtalkExtCallTag start="{" matchgroup=l
" Logtalk opening entity directives
-syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- object(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom,logtalkEntityRel
-syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- protocol(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel
-syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- category(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel
+syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- object(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom,logtalkEntityRel,logtalkLineComment
+syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- protocol(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel,logtalkLineComment
+syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- category(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel,logtalkLineComment
" Logtalk closing entity directives
diff --git a/runtime/syntax/lout.vim b/runtime/syntax/lout.vim
index ea4cb003..2a0a72c5 100644
--- a/runtime/syntax/lout.vim
+++ b/runtime/syntax/lout.vim
@@ -4,7 +4,7 @@
" Last Change: Son 22 Jun 2003 20:43:26 CEST
" Filenames: *.lout,*.lt
" URL: http://www.cvjb.de/comp/vim/lout.vim
-" $Id$
+" $Id: lout.vim,v 1.1 2004/06/13 17:52:18 vimboss Exp $
"
" Lout: Basser Lout document formatting system.
diff --git a/runtime/syntax/mail.vim b/runtime/syntax/mail.vim
index 1157517f..c89d2de5 100644
--- a/runtime/syntax/mail.vim
+++ b/runtime/syntax/mail.vim
@@ -2,7 +2,7 @@
" Language: Mail file
" Previous Maintainer: Felix von Leitner <leitner@math.fu-berlin.de>
" Maintainer: Gautam Iyer <gi1242@users.sourceforge.net>
-" Last Change: Thu 17 Jan 2008 11:25:44 AM PST
+" Last Change: Thu 06 Nov 2008 10:10:55 PM PST
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -24,28 +24,35 @@ syn case match
" emails
" According to RFC 2822 any printable ASCII character can appear in a field
" name, except ':'.
-syn region mailHeader contains=@mailHeaderFields,@NoSpell start="^From .*\d\d\d\d$" skip="^\s" end="\v^[!-9;-~]*([^!-~]|$)"me=s-1
+syn region mailHeader contains=@mailHeaderFields,@NoSpell start="^From .*\d\d\d\d$" skip="^\s" end="\v^[!-9;-~]*([^!-~]|$)"me=s-1 fold
syn match mailHeaderKey contained contains=mailEmail,@NoSpell "^From\s.*\d\d\d\d$"
+
+" Nothing else depends on case.
+syn case ignore
+
+" Headers in properly quoted (with "> " or ">") emails are matched
+syn region mailHeader keepend contains=@mailHeaderFields,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)*\)\v(newsgroups|x-([a-z\-])*|path|xref|message-id|from|((in-)?reply-)?to|b?cc|subject|return-path|received|date|replied):" skip="^\z1\s" end="\v^\z1[!-9;-~]*([^!-~]|$)"me=s-1 end="\v^\z1@!"me=s-1 end="\v^\z1(\> ?)+"me=s-1 fold
+
" Usenet headers
syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(Newsgroups|Followup-To|Message-ID|Supersedes|Control):.*$"
-syn case ignore
-" Nothing else depends on case. Headers in properly quoted (with "> " or ">")
-" emails are matched
-syn region mailHeader keepend contains=@mailHeaderFields,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)*\)\v(newsgroups|x-([a-z\-])*|path|xref|message-id|from|((in-)?reply-)?to|b?cc|subject|return-path|received|date|replied):" skip="^\z1\s" end="\v^\z1[!-9;-~]*([^!-~]|$)"me=s-1 end="\v^\z1@!"me=s-1 end="\v^\z1(\> ?)+"me=s-1
syn region mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@mailQuoteExps,@NoSpell start="\v(^(\> ?)*)@<=(to|b?cc):" skip=",$" end="$"
-syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(from|reply-to):.*$"
+syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(from|reply-to):.*$" fold
syn match mailHeaderKey contained contains=@NoSpell "\v(^(\> ?)*)@<=date:"
-syn match mailSubject contained "\v^subject:.*$"
+syn match mailSubject contained "\v^subject:.*$" fold
syn match mailSubject contained contains=@NoSpell "\v(^(\> ?)+)@<=subject:.*$"
" Anything in the header between < and > is an email address
syn match mailHeaderEmail contained contains=@NoSpell "<.\{-}>"
" Mail Signatures. (Begin with "-- ", end with change in quote level)
-syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps start="^--\s$" end="^$" end="^\(> \?\)\+"me=s-1
-syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)\+\)--\s$" end="^\z1$" end="^\z1\@!"me=s-1 end="^\z1\(> \?\)\+"me=s-1
+syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps start="^--\s$" end="^$" end="^\(> \?\)\+"me=s-1 fold
+syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)\+\)--\s$" end="^\z1$" end="^\z1\@!"me=s-1 end="^\z1\(> \?\)\+"me=s-1 fold
+
+" Treat verbatim Text special.
+syn region mailVerbatim contains=@NoSpell keepend start="^#v+$" end="^#v-$" fold
+syn region mailVerbatim contains=@mailQuoteExps,@NoSpell start="^\z(\(> \?\)\+\)#v+$" end="\z1#v-$" fold
" URLs start with a known protocol or www,web,w3.
syn match mailURL contains=@NoSpell `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' <>"]+)[a-z0-9/]`
@@ -59,13 +66,13 @@ syn match mailQuoteExp4 contained "\v^(\> ?){4}"
syn match mailQuoteExp5 contained "\v^(\> ?){5}"
syn match mailQuoteExp6 contained "\v^(\> ?){6}"
-" Even and odd quoted lines. order is imporant here!
-syn match mailQuoted1 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\([a-z]\+>\|[]|}>]\).*$"
-syn match mailQuoted2 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{2}.*$"
-syn match mailQuoted3 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{3}.*$"
-syn match mailQuoted4 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{4}.*$"
-syn match mailQuoted5 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{5}.*$"
-syn match mailQuoted6 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{6}.*$"
+" Even and odd quoted lines. Order is important here!
+syn region mailQuoted6 keepend contains=mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{5}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
+syn region mailQuoted5 keepend contains=mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{4}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
+syn region mailQuoted4 keepend contains=mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{3}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
+syn region mailQuoted3 keepend contains=mailQuoted4,mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{2}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
+syn region mailQuoted2 keepend contains=mailQuoted3,mailQuoted4,mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{1}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
+syn region mailQuoted1 keepend contains=mailQuoted2,mailQuoted3,mailQuoted4,mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z([a-z]\+>\|[]|}>]\)" end="^\z1\@!" fold
" Need to sync on the header. Assume we can do that within 100 lines
if exists("mail_minlines")
@@ -75,6 +82,7 @@ else
endif
" Define the default highlighting.
+hi def link mailVerbatim Special
hi def link mailHeader Statement
hi def link mailHeaderKey Type
hi def link mailSignature PreProc
diff --git a/runtime/syntax/man.vim b/runtime/syntax/man.vim
index 6167b237..4172a02f 100644
--- a/runtime/syntax/man.vim
+++ b/runtime/syntax/man.vim
@@ -1,9 +1,9 @@
" Vim syntax file
" Language: Man page
-" Maintainer: Nam SungHyun <namsh@kldp.org>
+" Maintainer: SungHyun Nam <goweol@gmail.com>
" Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com>
" Version Info:
-" Last Change: 2007 Dec 30
+" Last Change: 2008 Sep 17
" Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>:
" * manSubHeading
diff --git a/runtime/syntax/masm.vim b/runtime/syntax/masm.vim
index efd5fe0b..4ffd22b9 100644
--- a/runtime/syntax/masm.vim
+++ b/runtime/syntax/masm.vim
@@ -2,8 +2,8 @@
" Language: Microsoft Macro Assembler (80x86)
" Orig Author: Rob Brady <robb@datatone.com>
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
-" Last Change: $Date$
-" $Revision$
+" Last Change: $Date: 2007/04/21 13:20:15 $
+" $Revision: 1.44 $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/master.vim b/runtime/syntax/master.vim
index c2125c15..40d644ee 100644
--- a/runtime/syntax/master.vim
+++ b/runtime/syntax/master.vim
@@ -1,9 +1,9 @@
" Vim syntax file
" Language: Focus Master File
" Maintainer: Rob Brady <robb@datatone.com>
-" Last Change: $Date$
+" Last Change: $Date: 2004/06/13 15:54:03 $
" URL: http://www.datatone.com/~robb/vim/syntax/master.vim
-" $Revision$
+" $Revision: 1.1 $
" this is a very simple syntax file - I will be improving it
" add entire DEFINE syntax
diff --git a/runtime/syntax/matlab.vim b/runtime/syntax/matlab.vim
index 9bba9759..0e281c11 100644
--- a/runtime/syntax/matlab.vim
+++ b/runtime/syntax/matlab.vim
@@ -1,8 +1,15 @@
" Vim syntax file
" Language: Matlab
-" Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
+" Maintainer: Maurizio Tranchero - maurizio.tranchero@gmail.com
+" Credits: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
" Original author: Mario Eusebio
-" Last Change: 30 May 2003
+" Change History:
+" Sat Jul 25 16:14:55 CEST 2009
+" - spell check enabled only for comments (thanks to James Vega)
+"
+" Tue Apr 21 10:03:31 CEST 2009
+" - added object oriented support
+" - added multi-line comments %{ ...\n... %}
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -16,6 +23,9 @@ syn keyword matlabStatement return
syn keyword matlabLabel case switch
syn keyword matlabConditional else elseif end if otherwise
syn keyword matlabRepeat do for while
+" MT_ADDON - added exception-specific keywords
+syn keyword matlabExceptions try catch
+syn keyword matlabOO classdef properties events methods
syn keyword matlabTodo contained TODO
@@ -31,7 +41,8 @@ syn match matlabLineContinuation "\.\{3}"
"syn match matlabIdentifier "\<\a\w*\>"
" String
-syn region matlabString start=+'+ end=+'+ oneline
+" MT_ADDON - added 'skip' in order to deal with 'tic' escaping sequence
+syn region matlabString start=+'+ end=+'+ oneline skip=+''+ contains=@Spell
" If you don't like tabs
syn match matlabTab "\t"
@@ -50,7 +61,10 @@ syn match matlabTransposeOperator "[])a-zA-Z0-9.]'"lc=1
syn match matlabSemicolon ";"
-syn match matlabComment "%.*$" contains=matlabTodo,matlabTab
+syn match matlabComment "%.*$" contains=matlabTodo,matlabTab,@Spell
+" MT_ADDON - correctly highlights words after '...' as comments
+syn match matlabComment "\.\.\..*$" contains=matlabTodo,matlabTab,@Spell
+syn region matlabMultilineComment start=+%{+ end=+%}+ contains=matlabTodo,matlabTab,@Spell
syn keyword matlabOperator break zeros default margin round ones rand
syn keyword matlabOperator ceil floor size clear zeros eye mean std cov
@@ -75,10 +89,11 @@ if version >= 508 || !exists("did_matlab_syntax_inits")
endif
HiLink matlabTransposeOperator matlabOperator
- HiLink matlabOperator Operator
- HiLink matlabLineContinuation Special
+ HiLink matlabOperator Operator
+ HiLink matlabLineContinuation Special
HiLink matlabLabel Label
HiLink matlabConditional Conditional
+ HiLink matlabExceptions Conditional
HiLink matlabRepeat Repeat
HiLink matlabTodo Todo
HiLink matlabString String
@@ -86,12 +101,14 @@ if version >= 508 || !exists("did_matlab_syntax_inits")
HiLink matlabTransposeOther Identifier
HiLink matlabNumber Number
HiLink matlabFloat Float
- HiLink matlabFunction Function
+ HiLink matlabFunction Function
HiLink matlabError Error
- HiLink matlabImplicit matlabStatement
+ HiLink matlabImplicit matlabStatement
HiLink matlabStatement Statement
+ HiLink matlabOO Statement
HiLink matlabSemicolon SpecialChar
HiLink matlabComment Comment
+ HiLink matlabMultilineComment Comment
HiLink matlabArithmeticOperator matlabOperator
HiLink matlabRelationalOperator matlabOperator
diff --git a/runtime/syntax/maxima.vim b/runtime/syntax/maxima.vim
index ca982d7a..27dcc188 100644
--- a/runtime/syntax/maxima.vim
+++ b/runtime/syntax/maxima.vim
@@ -227,7 +227,7 @@ syn match maximaFloat /\<\d\+[BbDdEeSs][-+]\=\d\+\>/
" Comments:
" maxima supports /* ... */ (like C)
syn keyword maximaTodo contained TODO Todo DEBUG
-syn region maximaCommentBlock start="/\*" end="\*/" contains=maximaString,maximaTodo
+syn region maximaCommentBlock start="/\*" end="\*/" contains=maximaString,maximaTodo,maximaCommentBlock
" synchronizing
syn sync match maximaSyncComment grouphere maximaCommentBlock "/*"
diff --git a/runtime/syntax/mgl.vim b/runtime/syntax/mgl.vim
index 6049e8a5..55ae137f 100644
--- a/runtime/syntax/mgl.vim
+++ b/runtime/syntax/mgl.vim
@@ -4,7 +4,7 @@
" Last Change: 2006 Feb 21
" Maintainer: Gero Kuhlmann <gero@gkminix.han.de>
"
-" $Id$
+" $Id: mgl.vim,v 1.1 2006/02/21 22:08:20 vimboss Exp $
"
if version < 600
syntax clear
diff --git a/runtime/syntax/mma.vim b/runtime/syntax/mma.vim
index 12aac9cc..f48dccee 100644
--- a/runtime/syntax/mma.vim
+++ b/runtime/syntax/mma.vim
@@ -4,7 +4,7 @@
" Last Change: Thu May 19 21:36:04 CDT 2005
" Source: http://members.wri.com/layland/vim/syntax/mma.vim
" http://vim.sourceforge.net/scripts/script.php?script_id=1273
-" Id: $Id$
+" Id: $Id: mma.vim,v 1.4 2006/04/14 20:40:38 vimboss Exp $
" NOTE:
"
" Empty .m files will automatically be presumed as Matlab files
diff --git a/runtime/syntax/mysql.vim b/runtime/syntax/mysql.vim
index 79cf4b5a..86a6c07c 100644
--- a/runtime/syntax/mysql.vim
+++ b/runtime/syntax/mysql.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: mysql
" Maintainer: Kenneth J. Pronovici <pronovic@ieee.org>
-" Last Change: $LastChangedDate: 2007-12-19 10:59:39 -0600 (Wed, 19 Dec 2007) $
+" Last Change: $LastChangedDate: 2009-06-29 23:08:37 -0500 (Mon, 29 Jun 2009) $
" Filenames: *.mysql
" URL: ftp://cedar-solutions.com/software/mysql.vim
" Note: The definitions below are taken from the mysql user manual as of April 2002, for version 3.23
@@ -36,7 +36,7 @@ syn keyword mysqlKeyword match max_rows middleint min_rows minute minute
syn keyword mysqlKeyword natural no
syn keyword mysqlKeyword on optimize option optionally order outer outfile
syn keyword mysqlKeyword pack_keys partial password primary privileges procedure process processlist
-syn keyword mysqlKeyword read references reload rename replace restrict returns revoke row rows
+syn keyword mysqlKeyword read references reload rename replace restrict returns revoke right row rows
syn keyword mysqlKeyword second select show shutdown soname sql_big_result sql_big_selects sql_big_tables sql_log_off
syn keyword mysqlKeyword sql_log_update sql_low_priority_updates sql_select_limit sql_small_result sql_warnings starting
syn keyword mysqlKeyword status straight_join string
@@ -57,7 +57,7 @@ syn region mysqlString start=+'+ skip=+\\\\\|\\'+ end=+'+
" Numbers and hexidecimal values
syn match mysqlNumber "-\=\<[0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*\.[0-9]*\>"
-syn match mysqlNumber "-\=\<[0-9]*e[+-]\=[0-9]*\>"
+syn match mysqlNumber "-\=\<[0-9][0-9]*e[+-]\=[0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*\.[0-9]*e[+-]\=[0-9]*\>"
syn match mysqlNumber "\<0x[abcdefABCDEF0-9]*\>"
diff --git a/runtime/syntax/ncf.vim b/runtime/syntax/ncf.vim
index 15c74c8f..2019c037 100644
--- a/runtime/syntax/ncf.vim
+++ b/runtime/syntax/ncf.vim
@@ -2,7 +2,7 @@
" Language: Novell "NCF" Batch File
" Maintainer: Jonathan J. Miner <miner@doit.wisc.edu>
" Last Change: Tue, 04 Sep 2001 16:20:33 CDT
-" $Id$
+" $Id: ncf.vim,v 1.1 2004/06/13 16:31:58 vimboss Exp $
" Remove any old syntax stuff hanging around
if version < 600
diff --git a/runtime/syntax/netrc.vim b/runtime/syntax/netrc.vim
index d8eba30a..9f15d166 100644
--- a/runtime/syntax/netrc.vim
+++ b/runtime/syntax/netrc.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: netrc(5) configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2006-04-19
+" Latest Revision: 2010-01-03
if exists("b:current_syntax")
finish
@@ -11,12 +11,13 @@ let s:cpo_save = &cpo
set cpo&vim
syn keyword netrcKeyword machine nextgroup=netrcMachine skipwhite skipnl
-syn keyword netrcKeyword login nextgroup=netrcLogin,netrcSpecial
- \ skipwhite skipnl
+syn keyword netrcKeyword account
+ \ login
+ \ nextgroup=netrcLogin,netrcSpecial skipwhite skipnl
syn keyword netrcKeyword password nextgroup=netrcPassword skipwhite skipnl
syn keyword netrcKeyword default
-syn keyword netrcKeyword macdef nextgroup=netrcInit,netrcMacroName
- \ skipwhite skipnl
+syn keyword netrcKeyword macdef
+ \ nextgroup=netrcInit,netrcMacroName skipwhite skipnl
syn region netrcMacro contained start='.' end='^$'
syn match netrcMachine contained display '\S\+'
@@ -25,14 +26,14 @@ syn match netrcLogin contained display '\S\+'
syn match netrcLogin contained display '"[^\\"]*\(\\.[^\\"]*\)*"'
syn match netrcPassword contained display '\S\+'
syn match netrcPassword contained display '"[^\\"]*\(\\.[^\\"]*\)*"'
-syn match netrcMacroName contained display '\S\+' nextgroup=netrcMacro
- \ skipwhite skipnl
+syn match netrcMacroName contained display '\S\+'
+ \ nextgroup=netrcMacro skipwhite skipnl
syn match netrcMacroName contained display '"[^\\"]*\(\\.[^\\"]*\)*"'
- \ nextgroup=netrcMacro skipwhite skipnl
+ \ nextgroup=netrcMacro skipwhite skipnl
syn keyword netrcSpecial contained anonymous
-syn match netrcInit contained '\<init$' nextgroup=netrcMacro
- \ skipwhite skipnl
+syn match netrcInit contained '\<init$'
+ \ nextgroup=netrcMacro skipwhite skipnl
syn sync fromstart
diff --git a/runtime/syntax/netrw.vim b/runtime/syntax/netrw.vim
index 62dab3fe..f6fd66c2 100644
--- a/runtime/syntax/netrw.vim
+++ b/runtime/syntax/netrw.vim
@@ -1,7 +1,7 @@
" Language : Netrw Remote-Directory Listing Syntax
" Maintainer : Charles E. Campbell, Jr.
-" Last change: Feb 06, 2008
-" Version : 12
+" Last change: Jan 14, 2009
+" Version : 16
" ---------------------------------------------------------------------
" Syntax Clearing: {{{1
@@ -16,85 +16,91 @@ endif
syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt
syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
-syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify
-syn match netrwDir "\.\{1,2}/" contains=netrwClassify
-syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify
-syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" contains=netrwDateSep skipwhite nextgroup=netrwTime
-syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify
-syn match netrwExe "\%(\S\+ \)*\S\+\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify
-syn match netrwTreeBar "^\%(| \)*" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
-syn match netrwTreeBarSpace " " contained
+syn match netrwPlain "\(\S\+ \)*\S\+" contains=@NoSpell
+syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
+syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell
+syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
+syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+syn match netrwExe "\%(\S\+ \)*\S\+\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
+syn match netrwTreeBarSpace " " contained
-syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
-syn match netrwDateSep "/" contained
-syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
+syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
+syn match netrwDateSep "/" contained
+syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
syn match netrwTimeSep ":"
-syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup
-syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite nextgroup=netrwHidePat
+syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
+syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
syn match netrwSlash "/" contained
-syn match netrwHidePat "[^,]\+" contained skipwhite nextgroup=netrwHideSep
-syn match netrwHideSep "," contained transparent skipwhite nextgroup=netrwHidePat
-syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
-syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
-syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
-syn match netrwList ".*$" contained contains=netrwComma
+syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep
+syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat
+syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
+syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
+syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
+syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
syn match netrwComma "," contained
-syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd keepend contained
-syn match netrwHelpCmd "\S\ze:" contained skipwhite nextgroup=netrwCmdSep
+syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,@NoSpell keepend contained
+syn match netrwHelpCmd "\S\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
-syn match netrwCmdNote ".\{-}\ze " contained
-syn match netrwVersion "(netrw.*)" contained
+syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
+syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
" -----------------------------
" Special filetype highlighting {{{1
" -----------------------------
if exists("g:netrw_special_syntax") && netrw_special_syntax
- syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar
- syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar
- syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar
- syn match netrwHdr "\(\S\+ \)*\S\+\.h\>" contains=netrwTreeBar
- syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar
- syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar
- syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar
- syn match netrwTags "\<tags\>" contains=netrwTreeBar
- syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar
- syn match netrwTilde "\(\S\+ \)*\S\+\~\>" contains=netrwTreeBar
- syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar
+ syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
+ if has("unix")
+ syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
+ endif
+ syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwHdr "\(\S\+ \)*\S\+\.h\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwTilde "\(\S\+ \)*\S\+\~\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
endif
" ---------------------------------------------------------------------
" Highlighting Links: {{{1
if !exists("did_drchip_netrwlist_syntax")
let did_drchip_netrwlist_syntax= 1
- hi link netrwClassify Function
- hi link netrwCmdSep Delimiter
- hi link netrwComment Comment
- hi link netrwDir Directory
- hi link netrwHelpCmd Function
- hi link netrwHidePat Statement
- hi link netrwList Statement
- hi link netrwVersion Identifier
- hi link netrwSymLink Question
- hi link netrwExe PreProc
- hi link netrwDateSep Delimiter
+ hi default link netrwClassify Function
+ hi default link netrwCmdSep Delimiter
+ hi default link netrwComment Comment
+ hi default link netrwDir Directory
+ hi default link netrwHelpCmd Function
+ hi default link netrwHidePat Statement
+ hi default link netrwHideSep netrwComment
+ hi default link netrwList Statement
+ hi default link netrwVersion Identifier
+ hi default link netrwSymLink Question
+ hi default link netrwExe PreProc
+ hi default link netrwDateSep Delimiter
- hi link netrwTreeBar Special
- hi link netrwTimeSep netrwDateSep
- hi link netrwComma netrwComment
- hi link netrwHide netrwComment
- hi link netrwMarkFile Identifier
+ hi default link netrwTreeBar Special
+ hi default link netrwTimeSep netrwDateSep
+ hi default link netrwComma netrwComment
+ hi default link netrwHide netrwComment
+ hi default link netrwMarkFile Identifier
" special syntax highlighting (see :he g:netrw_special_syntax)
- hi link netrwBak NonText
- hi link netrwCompress Folded
- hi link netrwData DiffChange
- hi link netrwLib DiffChange
- hi link netrwMakefile DiffChange
- hi link netrwObj Folded
- hi link netrwTilde Folded
- hi link netrwTmp Folded
- hi link netrwTags Folded
+ hi default link netrwBak NonText
+ hi default link netrwCompress Folded
+ hi default link netrwCoreDump WarningMsg
+ hi default link netrwData DiffChange
+ hi default link netrwLib DiffChange
+ hi default link netrwMakefile DiffChange
+ hi default link netrwObj Folded
+ hi default link netrwTilde Folded
+ hi default link netrwTmp Folded
+ hi default link netrwTags Folded
endif
" Current Syntax: {{{1
diff --git a/runtime/syntax/opl.vim b/runtime/syntax/opl.vim
index 1914a050..aa3cb9e3 100644
--- a/runtime/syntax/opl.vim
+++ b/runtime/syntax/opl.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: OPL
" Maintainer: Czo <Olivier.Sirol@lip6.fr>
-" $Id$
+" $Id: opl.vim,v 1.1 2004/06/13 17:34:11 vimboss Exp $
" Open Psion Language... (EPOC16/EPOC32)
diff --git a/runtime/syntax/papp.vim b/runtime/syntax/papp.vim
index 0d84d80d..d86dce60 100644
--- a/runtime/syntax/papp.vim
+++ b/runtime/syntax/papp.vim
@@ -2,7 +2,7 @@
"
" Language: papp
" Maintainer: Marc Lehmann <pcg@goof.com>
-" Last Change: 2003 May 11
+" Last Change: 2009 Nov 11
" Filenames: *.papp *.pxml *.pxsl
" URL: http://papp.plan9.de/
@@ -37,6 +37,7 @@ if exists("papp_include_html")
syn include @PAppHtml syntax/html.vim
endif
unlet b:current_syntax
+ syntax spell default " added by Bram
endif
if version < 600
diff --git a/runtime/syntax/po.vim b/runtime/syntax/po.vim
index 124d5245..4475417f 100644
--- a/runtime/syntax/po.vim
+++ b/runtime/syntax/po.vim
@@ -1,10 +1,10 @@
" Vim syntax file
" Language: po (gettext)
" Maintainer: Dwayne Bailey <dwayne@translate.org.za>
-" Last Change: 2008 Jan 08
+" Last Change: 2008 Sep 17
" Contributors: Dwayne Bailey (Most advanced syntax highlighting)
" Leonardo Fontenelle (Spell checking)
-" Nam SungHyun <namsh@kldp.org> (Original maintainer)
+" SungHyun Nam <goweol@gmail.com> (Original maintainer)
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/progress.vim b/runtime/syntax/progress.vim
index fb2b1614..6816548a 100644
--- a/runtime/syntax/progress.vim
+++ b/runtime/syntax/progress.vim
@@ -8,7 +8,7 @@
" Mikhail Kuperblum <mikhail@whasup.com>
" John Florian <jflorian@voyager.net>
" Last Change: Wed Apr 12 08:55:35 EST 2006
-" $Id$
+" $Id: progress.vim,v 1.3 2006/04/12 21:48:47 vimboss Exp $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/prolog.vim b/runtime/syntax/prolog.vim
index 68b08beb..58de71f4 100644
--- a/runtime/syntax/prolog.vim
+++ b/runtime/syntax/prolog.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: PROLOG
" Maintainers: Thomas Koehler <jean-luc@picard.franken.de>
-" Last Change: 2008 April 5
-" URL: http://gott-gehabt/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/prolog.vim
+" Last Change: 2009 Dec 04
+" URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/prolog.vim
" There are two sets of highlighting in here:
" If the "prolog_highlighting_clean" variable exists, it is rather sparse.
@@ -63,7 +63,7 @@ if !exists("prolog_highlighting_clean")
syn match prologOperator "=\\=\|=:=\|\\==\|=<\|==\|>=\|\\=\|\\+\|<\|>\|="
syn match prologAsIs "===\|\\===\|<=\|=>"
- syn match prologNumber "\<[0123456789]*\>"
+ syn match prologNumber "\<[0123456789]*\>'\@!"
syn match prologCommentError "\*/"
syn match prologSpecialCharacter ";"
syn match prologSpecialCharacter "!"
diff --git a/runtime/syntax/pyrex.vim b/runtime/syntax/pyrex.vim
index f06b2d3d..7dc9b955 100644
--- a/runtime/syntax/pyrex.vim
+++ b/runtime/syntax/pyrex.vim
@@ -2,7 +2,7 @@
" Language: Pyrex
" Maintainer: Marco Barisione <marco.bari@people.it>
" URL: http://marcobari.altervista.org/pyrex_vim.html
-" Last Change: 2004 May 16
+" Last Change: 2009 Nov 09
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -25,7 +25,7 @@ syn keyword pyrexStatement cdef typedef ctypedef sizeof
syn keyword pyrexType int long short float double char object void
syn keyword pyrexType signed unsigned
syn keyword pyrexStructure struct union enum
-syn keyword pyrexPrecondit include cimport
+syn keyword pyrexInclude include cimport
syn keyword pyrexAccess public private property readonly extern
" If someome wants Python's built-ins highlighted probably he
" also wants Pyrex's built-ins highlighted
@@ -35,9 +35,9 @@ endif
" This deletes "from" from the keywords and re-adds it as a
" match with lower priority than pyrexForFrom
-syn clear pythonPreCondit
-syn keyword pythonPreCondit import
-syn match pythonPreCondit "from"
+syn clear pythonInclude
+syn keyword pythonInclude import
+syn match pythonInclude "from"
" With "for[^:]*\zsfrom" VIM does not match "for" anymore, so
" I used the slower "\@<=" form
@@ -54,7 +54,7 @@ if version >= 508 || !exists("did_pyrex_syntax_inits")
HiLink pyrexStatement Statement
HiLink pyrexType Type
HiLink pyrexStructure Structure
- HiLink pyrexPrecondit PreCondit
+ HiLink pyrexInclude PreCondit
HiLink pyrexAccess pyrexStatement
if exists("python_highlight_builtins") || exists("pyrex_highlight_builtins")
HiLink pyrexBuiltin Function
diff --git a/runtime/syntax/python.vim b/runtime/syntax/python.vim
index 5288d9bd..d5907432 100644
--- a/runtime/syntax/python.vim
+++ b/runtime/syntax/python.vim
@@ -1,143 +1,252 @@
" Vim syntax file
" Language: Python
" Maintainer: Neil Schemenauer <nas@python.ca>
-" Updated: 2006-10-15
-" Added Python 2.4 features 2006 May 4 (Dmitry Vasiliev)
+" Last Change: 2009-10-13
+" Credits: Zvezdan Petkovic <zpetkovic@acm.org>
+" Neil Schemenauer <nas@python.ca>
+" Dmitry Vasiliev
"
-" Options to control Python syntax highlighting:
+" This version is a major rewrite by Zvezdan Petkovic.
"
-" For highlighted numbers:
+" - introduced highlighting of doctests
+" - updated keywords, built-ins, and exceptions
+" - corrected regular expressions for
"
-" let python_highlight_numbers = 1
+" * functions
+" * decorators
+" * strings
+" * escapes
+" * numbers
+" * space error
"
-" For highlighted builtin functions:
+" - corrected synchronization
+" - more highlighting is ON by default, except
+" - space error highlighting is OFF by default
"
-" let python_highlight_builtins = 1
+" Optional highlighting can be controlled using these variables.
"
-" For highlighted standard exceptions:
+" let python_no_builtin_highlight = 1
+" let python_no_doctest_code_highlight = 1
+" let python_no_doctest_highlight = 1
+" let python_no_exception_highlight = 1
+" let python_no_number_highlight = 1
+" let python_space_error_highlight = 1
"
-" let python_highlight_exceptions = 1
+" All the options above can be switched on together.
"
-" Highlight erroneous whitespace:
-"
-" let python_highlight_space_errors = 1
-"
-" If you want all possible Python highlighting (the same as setting the
-" preceding options):
-"
-" let python_highlight_all = 1
+" let python_highlight_all = 1
"
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
+" For version 5.x: Clear all syntax items.
+" For version 6.x: Quit when a syntax file was already loaded.
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
-
-syn keyword pythonStatement break continue del
-syn keyword pythonStatement except exec finally
-syn keyword pythonStatement pass print raise
-syn keyword pythonStatement return try with
-syn keyword pythonStatement global assert
-syn keyword pythonStatement lambda yield
-syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
-syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" contained
+" Keep Python keywords in alphabetical order inside groups for easy
+" comparison with the table in the 'Python Language Reference'
+" http://docs.python.org/reference/lexical_analysis.html#keywords.
+" Groups are in the order presented in NAMING CONVENTIONS in syntax.txt.
+" Exceptions come last at the end of each group (class and def below).
+"
+" Keywords 'with' and 'as' are new in Python 2.6
+" (use 'from __future__ import with_statement' in Python 2.5).
+"
+" Some compromises had to be made to support both Python 3.0 and 2.6.
+" We include Python 3.0 features, but when a definition is duplicated,
+" the last definition takes precedence.
+"
+" - 'False', 'None', and 'True' are keywords in Python 3.0 but they are
+" built-ins in 2.6 and will be highlighted as built-ins below.
+" - 'exec' is a built-in in Python 3.0 and will be highlighted as
+" built-in below.
+" - 'nonlocal' is a keyword in Python 3.0 and will be highlighted.
+" - 'print' is a built-in in Python 3.0 and will be highlighted as
+" built-in below (use 'from __future__ import print_function' in 2.6)
+"
+syn keyword pythonStatement False, None, True
+syn keyword pythonStatement as assert break continue del exec global
+syn keyword pythonStatement lambda nonlocal pass print return with yield
+syn keyword pythonStatement class def nextgroup=pythonFunction skipwhite
+syn keyword pythonConditional elif else if
syn keyword pythonRepeat for while
-syn keyword pythonConditional if elif else
syn keyword pythonOperator and in is not or
-" AS will be a keyword in Python 3
-syn keyword pythonPreCondit import from as
-syn match pythonComment "#.*$" contains=pythonTodo,@Spell
-syn keyword pythonTodo TODO FIXME XXX contained
+syn keyword pythonException except finally raise try
+syn keyword pythonInclude from import
" Decorators (new in Python 2.4)
syn match pythonDecorator "@" display nextgroup=pythonFunction skipwhite
+" The zero-length non-grouping match before the function name is
+" extremely important in pythonFunction. Without it, everything is
+" interpreted as a function inside the contained environment of
+" doctests.
+" A dot must be allowed because of @MyClass.myfunc decorators.
+syn match pythonFunction
+ \ "\%(\%(def\s\|class\s\|@\)\s*\)\@<=\h\%(\w\|\.\)*" contained
-" strings
-syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=pythonEscape,@Spell
-syn region pythonString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=pythonEscape,@Spell
-syn region pythonString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=pythonEscape,@Spell
-syn region pythonString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=pythonEscape,@Spell
-syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+ contains=@Spell
-syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=@Spell
-syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+ contains=@Spell
-syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+ contains=@Spell
-syn match pythonEscape +\\[abfnrtv'"\\]+ contained
-syn match pythonEscape "\\\o\{1,3}" contained
-syn match pythonEscape "\\x\x\{2}" contained
-syn match pythonEscape "\(\\u\x\{4}\|\\U\x\{8}\)" contained
-syn match pythonEscape "\\$"
+syn match pythonComment "#.*$" contains=pythonTodo,@Spell
+syn keyword pythonTodo FIXME NOTE NOTES TODO XXX contained
+
+" Triple-quoted strings can contain doctests.
+syn region pythonString
+ \ start=+[uU]\=\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1"
+ \ contains=pythonEscape,@Spell
+syn region pythonString
+ \ start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend
+ \ contains=pythonEscape,pythonSpaceError,pythonDoctest,@Spell
+syn region pythonRawString
+ \ start=+[uU]\=[rR]\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1"
+ \ contains=@Spell
+syn region pythonRawString
+ \ start=+[uU]\=[rR]\z('''\|"""\)+ end="\z1" keepend
+ \ contains=pythonSpaceError,pythonDoctest,@Spell
+
+syn match pythonEscape +\\[abfnrtv'"\\]+ contained
+syn match pythonEscape "\\\o\{1,3}" contained
+syn match pythonEscape "\\x\x\{2}" contained
+syn match pythonEscape "\%(\\u\x\{4}\|\\U\x\{8}\)" contained
+" Python allows case-insensitive Unicode IDs: http://www.unicode.org/charts/
+syn match pythonEscape "\\N{\a\+\%(\s\a\+\)*}" contained
+syn match pythonEscape "\\$"
if exists("python_highlight_all")
- let python_highlight_numbers = 1
- let python_highlight_builtins = 1
- let python_highlight_exceptions = 1
- let python_highlight_space_errors = 1
+ if exists("python_no_builtin_highlight")
+ unlet python_no_builtin_highlight
+ endif
+ if exists("python_no_doctest_code_highlight")
+ unlet python_no_doctest_code_highlight
+ endif
+ if exists("python_no_doctest_highlight")
+ unlet python_no_doctest_highlight
+ endif
+ if exists("python_no_exception_highlight")
+ unlet python_no_exception_highlight
+ endif
+ if exists("python_no_number_highlight")
+ unlet python_no_number_highlight
+ endif
+ let python_space_error_highlight = 1
endif
-if exists("python_highlight_numbers")
+" It is very important to understand all details before changing the
+" regular expressions below or their order.
+" The word boundaries are *not* the floating-point number boundaries
+" because of a possible leading or trailing decimal point.
+" The expressions below ensure that all valid number literals are
+" highlighted, and invalid number literals are not. For example,
+"
+" - a decimal point in '4.' at the end of a line is highlighted,
+" - a second dot in 1.0.0 is not highlighted,
+" - 08 is not highlighted,
+" - 08e0 or 08j are highlighted,
+"
+" and so on, as specified in the 'Python Language Reference'.
+" http://docs.python.org/reference/lexical_analysis.html#numeric-literals
+if !exists("python_no_number_highlight")
" numbers (including longs and complex)
- syn match pythonNumber "\<0x\x\+[Ll]\=\>"
- syn match pythonNumber "\<\d\+[LljJ]\=\>"
- syn match pythonNumber "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>"
- syn match pythonNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=[jJ]\=\>"
- syn match pythonNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>"
+ syn match pythonNumber "\<0[oO]\=\o\+[Ll]\=\>"
+ syn match pythonNumber "\<0[xX]\x\+[Ll]\=\>"
+ syn match pythonNumber "\<0[bB][01]\+[Ll]\=\>"
+ syn match pythonNumber "\<\%([1-9]\d*\|0\)[Ll]\=\>"
+ syn match pythonNumber "\<\d\+[jJ]\>"
+ syn match pythonNumber "\<\d\+[eE][+-]\=\d\+[jJ]\=\>"
+ syn match pythonNumber
+ \ "\<\d\+\.\%([eE][+-]\=\d\+\)\=[jJ]\=\%(\W\|$\)\@="
+ syn match pythonNumber
+ \ "\%(^\|\W\)\@<=\d*\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>"
endif
-if exists("python_highlight_builtins")
- " builtin functions, types and objects, not really part of the syntax
- syn keyword pythonBuiltin True False bool enumerate set frozenset help
- syn keyword pythonBuiltin reversed sorted sum
- syn keyword pythonBuiltin Ellipsis None NotImplemented __import__ abs
- syn keyword pythonBuiltin apply buffer callable chr classmethod cmp
- syn keyword pythonBuiltin coerce compile complex delattr dict dir divmod
- syn keyword pythonBuiltin eval execfile file filter float getattr globals
- syn keyword pythonBuiltin hasattr hash hex id input int intern isinstance
- syn keyword pythonBuiltin issubclass iter len list locals long map max
- syn keyword pythonBuiltin min object oct open ord pow property range
- syn keyword pythonBuiltin raw_input reduce reload repr round setattr
- syn keyword pythonBuiltin slice staticmethod str super tuple type unichr
- syn keyword pythonBuiltin unicode vars xrange zip
+" Group the built-ins in the order in the 'Python Library Reference' for
+" easier comparison.
+" http://docs.python.org/library/constants.html
+" http://docs.python.org/library/functions.html
+" http://docs.python.org/library/functions.html#non-essential-built-in-functions
+" Python built-in functions are in alphabetical order.
+if !exists("python_no_builtin_highlight")
+ " built-in constants
+ " 'False', 'True', and 'None' are also reserved words in Python 3.0
+ syn keyword pythonBuiltin False True None
+ syn keyword pythonBuiltin NotImplemented Ellipsis __debug__
+ " built-in functions
+ syn keyword pythonBuiltin abs all any bin bool chr classmethod
+ syn keyword pythonBuiltin compile complex delattr dict dir divmod
+ syn keyword pythonBuiltin enumerate eval filter float format
+ syn keyword pythonBuiltin frozenset getattr globals hasattr hash
+ syn keyword pythonBuiltin help hex id input int isinstance
+ syn keyword pythonBuiltin issubclass iter len list locals map max
+ syn keyword pythonBuiltin min next object oct open ord pow print
+ syn keyword pythonBuiltin property range repr reversed round set
+ syn keyword pythonBuiltin setattr slice sorted staticmethod str
+ syn keyword pythonBuiltin sum super tuple type vars zip __import__
+ " Python 2.6 only
+ syn keyword pythonBuiltin basestring callable cmp execfile file
+ syn keyword pythonBuiltin long raw_input reduce reload unichr
+ syn keyword pythonBuiltin unicode xrange
+ " Python 3.0 only
+ syn keyword pythonBuiltin ascii bytearray bytes exec memoryview
+ " non-essential built-in functions; Python 2.6 only
+ syn keyword pythonBuiltin apply buffer coerce intern
endif
-if exists("python_highlight_exceptions")
- " builtin exceptions and warnings
- syn keyword pythonException ArithmeticError AssertionError AttributeError
- syn keyword pythonException DeprecationWarning EOFError EnvironmentError
- syn keyword pythonException Exception FloatingPointError IOError
- syn keyword pythonException ImportError IndentationError IndexError
- syn keyword pythonException KeyError KeyboardInterrupt LookupError
- syn keyword pythonException MemoryError NameError NotImplementedError
- syn keyword pythonException OSError OverflowError OverflowWarning
- syn keyword pythonException ReferenceError RuntimeError RuntimeWarning
- syn keyword pythonException StandardError StopIteration SyntaxError
- syn keyword pythonException SyntaxWarning SystemError SystemExit TabError
- syn keyword pythonException TypeError UnboundLocalError UnicodeError
- syn keyword pythonException UnicodeEncodeError UnicodeDecodeError
- syn keyword pythonException UnicodeTranslateError
- syn keyword pythonException UserWarning ValueError Warning WindowsError
- syn keyword pythonException ZeroDivisionError
+" From the 'Python Library Reference' class hierarchy at the bottom.
+" http://docs.python.org/library/exceptions.html
+if !exists("python_no_exception_highlight")
+ " builtin base exceptions (only used as base classes for other exceptions)
+ syn keyword pythonExceptions BaseException Exception
+ syn keyword pythonExceptions ArithmeticError EnvironmentError
+ syn keyword pythonExceptions LookupError
+ " builtin base exception removed in Python 3.0
+ syn keyword pythonExceptions StandardError
+ " builtin exceptions (actually raised)
+ syn keyword pythonExceptions AssertionError AttributeError BufferError
+ syn keyword pythonExceptions EOFError FloatingPointError GeneratorExit
+ syn keyword pythonExceptions IOError ImportError IndentationError
+ syn keyword pythonExceptions IndexError KeyError KeyboardInterrupt
+ syn keyword pythonExceptions MemoryError NameError NotImplementedError
+ syn keyword pythonExceptions OSError OverflowError ReferenceError
+ syn keyword pythonExceptions RuntimeError StopIteration SyntaxError
+ syn keyword pythonExceptions SystemError SystemExit TabError TypeError
+ syn keyword pythonExceptions UnboundLocalError UnicodeError
+ syn keyword pythonExceptions UnicodeDecodeError UnicodeEncodeError
+ syn keyword pythonExceptions UnicodeTranslateError ValueError VMSError
+ syn keyword pythonExceptions WindowsError ZeroDivisionError
+ " builtin warnings
+ syn keyword pythonExceptions BytesWarning DeprecationWarning FutureWarning
+ syn keyword pythonExceptions ImportWarning PendingDeprecationWarning
+ syn keyword pythonExceptions RuntimeWarning SyntaxWarning UnicodeWarning
+ syn keyword pythonExceptions UserWarning Warning
endif
-if exists("python_highlight_space_errors")
+if exists("python_space_error_highlight")
" trailing whitespace
- syn match pythonSpaceError display excludenl "\S\s\+$"ms=s+1
+ syn match pythonSpaceError display excludenl "\s\+$"
" mixed tabs and spaces
- syn match pythonSpaceError display " \+\t"
- syn match pythonSpaceError display "\t\+ "
+ syn match pythonSpaceError display " \+\t"
+ syn match pythonSpaceError display "\t\+ "
endif
-" This is fast but code inside triple quoted strings screws it up. It
-" is impossible to fix because the only way to know if you are inside a
-" triple quoted string is to start from the beginning of the file. If
-" you have a fast machine you can try uncommenting the "sync minlines"
-" and commenting out the rest.
-syn sync match pythonSync grouphere NONE "):$"
-syn sync maxlines=200
-"syn sync minlines=2000
+" Do not spell doctests inside strings.
+" Notice that the end of a string, either ''', or """, will end the contained
+" doctest too. Thus, we do *not* need to have it as an end pattern.
+if !exists("python_no_doctest_highlight")
+ if !exists("python_no_doctest_code_higlight")
+ syn region pythonDoctest
+ \ start="^\s*>>>\s" end="^\s*$"
+ \ contained contains=ALLBUT,pythonDoctest,@Spell
+ syn region pythonDoctestValue
+ \ start=+^\s*\%(>>>\s\|\.\.\.\s\|"""\|'''\)\@!\S\++ end="$"
+ \ contained
+ else
+ syn region pythonDoctest
+ \ start="^\s*>>>" end="^\s*$"
+ \ contained contains=@NoSpell
+ endif
+endif
+
+" Sync at the beginning of class, function, or method definition.
+syn sync match pythonSync grouphere NONE "^\s*\%(def\|class\)\s\+\h\w*\s*("
if version >= 508 || !exists("did_python_syn_inits")
if version <= 508
@@ -147,35 +256,40 @@ if version >= 508 || !exists("did_python_syn_inits")
command -nargs=+ HiLink hi def link <args>
endif
- " The default methods for highlighting. Can be overridden later
+ " The default highlight links. Can be overridden later.
HiLink pythonStatement Statement
- HiLink pythonFunction Function
HiLink pythonConditional Conditional
HiLink pythonRepeat Repeat
- HiLink pythonString String
- HiLink pythonRawString String
- HiLink pythonEscape Special
HiLink pythonOperator Operator
- HiLink pythonPreCondit PreCondit
+ HiLink pythonException Exception
+ HiLink pythonInclude Include
+ HiLink pythonDecorator Define
+ HiLink pythonFunction Function
HiLink pythonComment Comment
HiLink pythonTodo Todo
- HiLink pythonDecorator Define
- if exists("python_highlight_numbers")
- HiLink pythonNumber Number
+ HiLink pythonString String
+ HiLink pythonRawString String
+ HiLink pythonEscape Special
+ if !exists("python_no_number_highlight")
+ HiLink pythonNumber Number
endif
- if exists("python_highlight_builtins")
+ if !exists("python_no_builtin_highlight")
HiLink pythonBuiltin Function
endif
- if exists("python_highlight_exceptions")
- HiLink pythonException Exception
+ if !exists("python_no_exception_highlight")
+ HiLink pythonExceptions Structure
endif
- if exists("python_highlight_space_errors")
+ if exists("python_space_error_highlight")
HiLink pythonSpaceError Error
endif
+ if !exists("python_no_doctest_highlight")
+ HiLink pythonDoctest Special
+ HiLink pythonDoctestValue Define
+ endif
delcommand HiLink
endif
let b:current_syntax = "python"
-" vim: ts=8
+" vim:set sw=2 sts=2 ts=8 noet:
diff --git a/runtime/syntax/rcs.vim b/runtime/syntax/rcs.vim
index 0b56011b..04a2cce9 100644
--- a/runtime/syntax/rcs.vim
+++ b/runtime/syntax/rcs.vim
@@ -2,7 +2,7 @@
" Language: RCS file
" Maintainer: Dmitry Vasiliev <dima at hlabs dot spb dot ru>
" URL: http://www.hlabs.spb.ru/vim/rcs.vim
-" Revision: $Id$
+" Revision: $Id: rcs.vim,v 1.2 2006/03/27 16:41:00 vimboss Exp $
" Filenames: *,v
" Version: 1.11
diff --git a/runtime/syntax/readline.vim b/runtime/syntax/readline.vim
index 1972e5af..91094c79 100644
--- a/runtime/syntax/readline.vim
+++ b/runtime/syntax/readline.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: readline(3) configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2007-06-17
+" Latest Revision: 2009-05-25
" readline_has_bash - if defined add support for bash specific
" settings/functions
@@ -128,6 +128,7 @@ syn keyword readlineFunctions contained display
\ arrow-key-prefix vi-back-to-indent vi-bword
\ vi-bWord vi-eword vi-eWord vi-fword vi-fWord
\ vi-next-word
+ \ vi-movement-mode
if exists("readline_has_bash")
syn keyword readlineFunctions contained
diff --git a/runtime/syntax/remind.vim b/runtime/syntax/remind.vim
index 001868e1..93a71784 100644
--- a/runtime/syntax/remind.vim
+++ b/runtime/syntax/remind.vim
@@ -1,12 +1,13 @@
" Vim syntax file
" Language: Remind
" Maintainer: Davide Alberani <alberanid@libero.it>
-" Last Change: 10 May 2006
-" Version: 0.3
+" Last Change: 18 Sep 2009
+" Version: 0.5
" URL: http://erlug.linux.it/~da/vim/syntax/remind.vim
"
-" remind is a sophisticated reminder service; you can download remind from:
-" http://www.roaringpenguin.com/penguin/open_source_remind.php
+" remind is a sophisticated reminder service
+" you can download remind from:
+" http://www.roaringpenguin.com/penguin/open_source_remind.php
if version < 600
syntax clear
@@ -14,24 +15,30 @@ elseif exists("b:current_syntax")
finish
endif
-" shut case off
+" shut case off.
syn case ignore
syn keyword remindCommands REM OMIT SET FSET UNSET
-syn keyword remindExpiry UNTIL SCANFROM SCAN WARN SCHED
+syn keyword remindExpiry UNTIL FROM SCANFROM SCAN WARN SCHED
syn keyword remindTag PRIORITY TAG
syn keyword remindTimed AT DURATION
syn keyword remindMove ONCE SKIP BEFORE AFTER
-syn keyword remindSpecial INCLUDE INC BANNER PUSH-OMIT-CONTEXT PUSH CLEAR-OMIT-CONTEXT CLEAR POP-OMIT-CONTEXT POP
+syn keyword remindSpecial INCLUDE INC BANNER PUSH-OMIT-CONTEXT PUSH CLEAR-OMIT-CONTEXT CLEAR POP-OMIT-CONTEXT POP COLOR
syn keyword remindRun MSG MSF RUN CAL SATISFY SPECIAL PS PSFILE SHADE MOON
syn keyword remindConditional IF ELSE ENDIF IFTRIG
+syn keyword remindDebug DEBUG DUMPVARS DUMP ERRMSG FLUSH PRESERVE
syn match remindComment "#.*$"
syn region remindString start=+'+ end=+'+ skip=+\\\\\|\\'+ oneline
syn region remindString start=+"+ end=+"+ skip=+\\\\\|\\"+ oneline
-syn keyword remindDebug DEBUG DUMPVARS DUMP ERRMSG FLUSH PRESERVE
syn match remindVar "\$[_a-zA-Z][_a-zA-Z0-9]*"
syn match remindSubst "%[^ ]"
syn match remindAdvanceNumber "\(\*\|+\|-\|++\|--\)[0-9]\+"
+" XXX: use different separators for dates and times?
+syn match remindDateSeparators "[/:@\.-]" contained
+syn match remindTimes "[0-9]\{1,2}[:\.][0-9]\{1,2}" contains=remindDateSeparators
+" XXX: why not match only valid dates? Ok, checking for 'Feb the 30' would
+" be impossible, but at least check for valid months and times.
+syn match remindDates "'[0-9]\{4}[/-][0-9]\{1,2}[/-][0-9]\{1,2}\(@[0-9]\{1,2}[:\.][0-9]\{1,2}\)\?'" contains=remindDateSeparators
" This will match trailing whitespaces that seem to break rem2ps.
" Courtesy of Michael Dunn.
syn match remindWarning display excludenl "\S\s\+$"ms=s+1
@@ -54,11 +61,14 @@ if version >= 508 || !exists("did_remind_syn_inits")
HiLink remindRun Function
HiLink remindConditional Conditional
HiLink remindComment Comment
+ HiLink remindTimes String
HiLink remindString String
HiLink remindDebug Debug
HiLink remindVar Identifier
HiLink remindSubst Constant
HiLink remindAdvanceNumber Number
+ HiLink remindDateSeparators Comment
+ HiLink remindDates String
HiLink remindWarning Error
delcommand HiLink
diff --git a/runtime/syntax/rhelp.vim b/runtime/syntax/rhelp.vim
index f1b8d88e..fa585b28 100644
--- a/runtime/syntax/rhelp.vim
+++ b/runtime/syntax/rhelp.vim
@@ -1,13 +1,14 @@
" Vim syntax file
" Language: R Help File
" Maintainer: Johannes Ranke <jranke@uni-bremen.de>
-" Last Change: 2008 Apr 10
-" Version: 0.7.1
-" SVN: $Id$
+" Last Change: 2009 Mai 12
+" Version: 0.7.2
+" SVN: $Id: rhelp.vim 86 2009-05-12 19:23:47Z ranke $
" Remarks: - Now includes R syntax highlighting in the appropriate
" sections if an r.vim file is in the same directory or in the
" default debian location.
" - There is no Latex markup in equations
+" - Thanks to Will Gray for finding and fixing a bug
" Version Clears: {{{1
" For version 5.x: Clear all syntax items
@@ -57,7 +58,7 @@ syn match rhelpKeyword ">"
" Links {{{1
syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend
-syn region rhelpLink matchgroup=rhelpSection start="\\link\[.*\]{" end="}" contained keepend
+syn region rhelpLink matchgroup=rhelpSection start="\\link\[.\{-}\]{" end="}" contained keepend
syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend
" Type Styles {{{1
diff --git a/runtime/syntax/rnoweb.vim b/runtime/syntax/rnoweb.vim
index 9b1dfc7e..7d42395b 100644
--- a/runtime/syntax/rnoweb.vim
+++ b/runtime/syntax/rnoweb.vim
@@ -1,9 +1,9 @@
" Vim syntax file
" Language: R noweb Files
" Maintainer: Johannes Ranke <jranke@uni-bremen.de>
-" Last Change: 2007 Mär 30
-" Version: 0.8
-" SVN: $Id$
+" Last Change: 2009 May 05
+" Version: 0.9
+" SVN: $Id: rnoweb.vim 84 2009-05-03 19:52:47Z ranke $
" Remarks: - This file is inspired by the proposal of
" Fernando Henrique Ferraz Pereira da Rosa <feferraz@ime.usp.br>
" http://www.ime.usp.br/~feferraz/en/sweavevim.html
@@ -25,6 +25,7 @@ runtime syntax/tex.vim
unlet b:current_syntax
syn cluster texMatchGroup add=@rnoweb
+syn cluster texMathMatchGroup add=rnowebSexpr
syn cluster texEnvGroup add=@rnoweb
syn cluster texFoldGroup add=@rnoweb
syn cluster texDocGroup add=@rnoweb
diff --git a/runtime/syntax/rst.vim b/runtime/syntax/rst.vim
index d5a76a2b..245c3aed 100644
--- a/runtime/syntax/rst.vim
+++ b/runtime/syntax/rst.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: reStructuredText documentation format
" Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2006-07-04
+" Latest Revision: 2009-05-25
if exists("b:current_syntax")
finish
@@ -12,12 +12,9 @@ set cpo&vim
syn case ignore
-" FIXME: The problem with these two is that Vim doesn’t seem to like
-" matching across line boundaries.
-"
-" syn match rstSections /^.*\n[=`:.'"~^_*+#-]\+$/
+syn match rstSections "^\%(\([=`:.'"~^_*+#-]\)\1\+\n\)\=.\+\n\([=`:.'"~^_*+#-]\)\2\+$"
-" syn match rstTransition /^\s*[=`:.'"~^_*+#-]\{4,}\s*$/
+syn match rstTransition /^[=`:.'"~^_*+#-]\{4,}\s*$/
syn cluster rstCruft contains=rstEmphasis,rstStrongEmphasis,
\ rstInterpretedText,rstInlineLiteral,rstSubstitutionReference,
@@ -144,8 +141,8 @@ syn sync minlines=50
hi def link rstTodo Todo
hi def link rstComment Comment
-"hi def link rstSections Type
-"hi def link rstTransition Type
+hi def link rstSections Type
+hi def link rstTransition Type
hi def link rstLiteralBlock String
hi def link rstQuotedLiteralBlock String
hi def link rstDoctestBlock PreProc
diff --git a/runtime/syntax/ruby.vim b/runtime/syntax/ruby.vim
index a5a118e4..f82b4c2c 100644
--- a/runtime/syntax/ruby.vim
+++ b/runtime/syntax/ruby.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Ruby
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Info: $Id$
+" Info: $Id: ruby.vim,v 1.152 2008/06/29 04:33:41 tpope Exp $
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
diff --git a/runtime/syntax/samba.vim b/runtime/syntax/samba.vim
index 31570e09..dae4040e 100644
--- a/runtime/syntax/samba.vim
+++ b/runtime/syntax/samba.vim
@@ -2,8 +2,10 @@
" Language: samba configuration files (smb.conf)
" Maintainer: Rafael Garcia-Suarez <rgarciasuarez@free.fr>
" URL: http://rgarciasuarez.free.fr/vim/syntax/samba.vim
-" Last change: 2004 September 21
-
+" Last change: 2009 Aug 06
+"
+" New maintainer wanted!
+"
" Don't forget to run your config file through testparm(1)!
" For version 5.x: Clear all syntax items
@@ -51,7 +53,7 @@ syn keyword sambaKeyword contained message min mode modes mux name names
syn keyword sambaKeyword contained netbios nis notify nt null offset ok ole
syn keyword sambaKeyword contained only open oplock oplocks options order os
syn keyword sambaKeyword contained output packet page panic passwd password
-syn keyword sambaKeyword contained passwords path permissions pipe port
+syn keyword sambaKeyword contained passwords path permissions pipe port ports
syn keyword sambaKeyword contained postexec postscript prediction preexec
syn keyword sambaKeyword contained prefered preferred preload preserve print
syn keyword sambaKeyword contained printable printcap printer printers
diff --git a/runtime/syntax/scheme.vim b/runtime/syntax/scheme.vim
index 6f6927f6..f9870344 100644
--- a/runtime/syntax/scheme.vim
+++ b/runtime/syntax/scheme.vim
@@ -1,6 +1,6 @@
" Vim syntax file
-" Language: Scheme (R5RS)
-" Last Change: 2007 Jun 16
+" Language: Scheme (R5RS + some R6RS extras)
+" Last Change: 2009 Nov 27
" Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
" Original author: Dirk van Deun <dirk@igwe.vub.ac.be>
@@ -26,8 +26,8 @@ syn case ignore
" Fascist highlighting: everything that doesn't fit the rules is an error...
-syn match schemeError oneline ![^ \t()\[\]";]*!
-syn match schemeError oneline ")"
+syn match schemeError ![^ \t()\[\]";]*!
+syn match schemeError ")"
" Quoted and backquoted stuff
@@ -71,6 +71,8 @@ syn keyword schemeSyntax lambda and or if cond case define let let* letrec
syn keyword schemeSyntax begin do delay set! else =>
syn keyword schemeSyntax quote quasiquote unquote unquote-splicing
syn keyword schemeSyntax define-syntax let-syntax letrec-syntax syntax-rules
+" R6RS
+syn keyword schemeSyntax define-record-type fields protocol
syn keyword schemeFunc not boolean? eq? eqv? equal? pair? cons car cdr set-car!
syn keyword schemeFunc set-cdr! caar cadr cdar cddr caaar caadr cadar caddr
@@ -109,30 +111,39 @@ syn keyword schemeFunc char-ready? load transcript-on transcript-off eval
syn keyword schemeFunc dynamic-wind port? values call-with-values
syn keyword schemeFunc scheme-report-environment null-environment
syn keyword schemeFunc interaction-environment
+" R6RS
+syn keyword schemeFunc make-eq-hashtable make-eqv-hashtable make-hashtable
+syn keyword schemeFunc hashtable? hashtable-size hashtable-ref hashtable-set!
+syn keyword schemeFunc hashtable-delete! hashtable-contains? hashtable-update!
+syn keyword schemeFunc hashtable-copy hashtable-clear! hashtable-keys
+syn keyword schemeFunc hashtable-entries hashtable-equivalence-function hashtable-hash-function
+syn keyword schemeFunc hashtable-mutable? equal-hash string-hash string-ci-hash symbol-hash
+syn keyword schemeFunc find for-all exists filter partition fold-left fold-right
+syn keyword schemeFunc remp remove remv remq memp assp cons*
" ... so that a single + or -, inside a quoted context, would not be
" interpreted as a number (outside such contexts, it's a schemeFunc)
-syn match schemeDelimiter oneline !\.[ \t\[\]()";]!me=e-1
-syn match schemeDelimiter oneline !\.$!
+syn match schemeDelimiter !\.[ \t\[\]()";]!me=e-1
+syn match schemeDelimiter !\.$!
" ... and a single dot is not a number but a delimiter
" This keeps all other stuff unhighlighted, except *stuff* and <stuff>:
-syn match schemeOther oneline ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*,
-syn match schemeError oneline ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
+syn match schemeOther ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*,
+syn match schemeError ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
-syn match schemeOther oneline "\.\.\."
-syn match schemeError oneline !\.\.\.[^ \t\[\]()";]\+!
+syn match schemeOther "\.\.\."
+syn match schemeError !\.\.\.[^ \t\[\]()";]\+!
" ... a special identifier
-syn match schemeConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[ \t\[\]()";],me=e-1
-syn match schemeConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*$,
-syn match schemeError oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
+syn match schemeConstant ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]\+\*[ \t\[\]()";],me=e-1
+syn match schemeConstant ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]\+\*$,
+syn match schemeError ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
-syn match schemeConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[ \t\[\]()";],me=e-1
-syn match schemeConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>$,
-syn match schemeError oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
+syn match schemeConstant ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[ \t\[\]()";],me=e-1
+syn match schemeConstant ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>$,
+syn match schemeError ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
" Non-quoted lists, and strings:
@@ -153,23 +164,27 @@ syn match schemeComment ";.*$"
" Writing out the complete description of Scheme numerals without
" using variables is a day's work for a trained secretary...
-syn match schemeOther oneline ![+-][ \t\[\]()";]!me=e-1
-syn match schemeOther oneline ![+-]$!
+syn match schemeOther ![+-][ \t\[\]()";]!me=e-1
+syn match schemeOther ![+-]$!
"
" This is a useful lax approximation:
-syn match schemeNumber oneline "[-#+0-9.][-#+/0-9a-f@i.boxesfdl]*"
-syn match schemeError oneline ![-#+0-9.][-#+/0-9a-f@i.boxesfdl]*[^-#+/0-9a-f@i.boxesfdl \t\[\]()";][^ \t\[\]()";]*!
+syn match schemeNumber "[-#+.]\=[0-9][-#+/0-9a-f@i.boxesfdl]*"
+syn match schemeError ![-#+0-9.][-#+/0-9a-f@i.boxesfdl]*[^-#+/0-9a-f@i.boxesfdl \t\[\]()";][^ \t\[\]()";]*!
-syn match schemeBoolean oneline "#[tf]"
-syn match schemeError oneline !#[tf][^ \t\[\]()";]\+!
+syn match schemeBoolean "#[tf]"
+syn match schemeError !#[tf][^ \t\[\]()";]\+!
+
+syn match schemeCharacter "#\\"
+syn match schemeCharacter "#\\."
+syn match schemeError !#\\.[^ \t\[\]()";]\+!
+syn match schemeCharacter "#\\space"
+syn match schemeError !#\\space[^ \t\[\]()";]\+!
+syn match schemeCharacter "#\\newline"
+syn match schemeError !#\\newline[^ \t\[\]()";]\+!
+
+" R6RS
+syn match schemeCharacter "#\\x[0-9a-fA-F]\+"
-syn match schemeChar oneline "#\\"
-syn match schemeChar oneline "#\\."
-syn match schemeError oneline !#\\.[^ \t\[\]()";]\+!
-syn match schemeChar oneline "#\\space"
-syn match schemeError oneline !#\\space[^ \t\[\]()";]\+!
-syn match schemeChar oneline "#\\newline"
-syn match schemeError oneline !#\\newline[^ \t\[\]()";]\+!
if exists("b:is_mzscheme") || exists("is_mzscheme")
" MzScheme extensions
@@ -177,11 +192,11 @@ if exists("b:is_mzscheme") || exists("is_mzscheme")
syn region schemeComment start="#|" end="|#"
" #%xxx are the special MzScheme identifiers
- syn match schemeOther oneline "#%[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
+ syn match schemeOther "#%[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
" anything limited by |'s is identifier
- syn match schemeOther oneline "|[^|]\+|"
+ syn match schemeOther "|[^|]\+|"
- syn match schemeChar oneline "#\\\%(return\|tab\)"
+ syn match schemeCharacter "#\\\%(return\|tab\)"
" Modules require stmt
syn keyword schemeExtSyntax module require dynamic-require lib prefix all-except prefix-all-except rename
@@ -234,8 +249,8 @@ if exists("b:is_chicken") || exists("is_chicken")
" multiline comment
syntax region schemeMultilineComment start=/#|/ end=/|#/ contains=schemeMultilineComment
- syn match schemeOther oneline "##[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
- syn match schemeExtSyntax oneline "#:[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
+ syn match schemeOther "##[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
+ syn match schemeExtSyntax "#:[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
syn keyword schemeExtSyntax unit uses declare hide foreign-declare foreign-parse foreign-parse/spec
syn keyword schemeExtSyntax foreign-lambda foreign-lambda* define-external define-macro load-library
@@ -266,7 +281,7 @@ if exists("b:is_chicken") || exists("is_chicken")
endif
" suggested by Alex Queiroz
- syn match schemeExtSyntax oneline "#![-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
+ syn match schemeExtSyntax "#![-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
syn region schemeString start=+#<#\s*\z(.*\)+ end=+^\z1$+
endif
@@ -290,7 +305,7 @@ if version >= 508 || !exists("did_scheme_syntax_inits")
HiLink schemeFunc Function
HiLink schemeString String
- HiLink schemeChar Character
+ HiLink schemeCharacter Character
HiLink schemeNumber Number
HiLink schemeBoolean Boolean
diff --git a/runtime/syntax/sdc.vim b/runtime/syntax/sdc.vim
new file mode 100644
index 00000000..0ca9becf
--- /dev/null
+++ b/runtime/syntax/sdc.vim
@@ -0,0 +1,41 @@
+" Vim syntax file
+" Language: SDC - Synopsys Design Constraints
+" Maintainer: Maurizio Tranchero - maurizio.tranchero@gmail.com
+" Last Change: Thu Mar 25 17:35:16 CET 2009
+" Credits: based on TCL Vim syntax file
+" Version: 0.3
+
+" Quit when a syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
+" Read the TCL syntax to start with
+runtime! syntax/tcl.vim
+
+" SDC-specific keywords
+syn keyword sdcCollections foreach_in_collection
+syn keyword sdcObjectsQuery get_clocks get_ports
+syn keyword sdcObjectsInfo get_point_info get_node_info get_path_info
+syn keyword sdcObjectsInfo get_timing_paths set_attribute
+syn keyword sdcConstraints set_false_path
+syn keyword sdcNonIdealities set_min_delay set_max_delay
+syn keyword sdcNonIdealities set_input_delay set_output_delay
+syn keyword sdcNonIdealities set_load set_min_capacitance set_max_capacitance
+syn keyword sdcCreateOperations create_clock create_timing_netlist update_timing_netlist
+
+" command flags highlighting
+syn match sdcFlags "[[:space:]]-[[:alpha:]]*\>"
+
+" Define the default highlighting.
+hi def link sdcCollections Repeat
+hi def link sdcObjectsInfo Operator
+hi def link sdcCreateOperations Operator
+hi def link sdcObjectsQuery Operator
+hi def link sdcConstraints Operator
+hi def link sdcNonIdealities Operator
+hi def link sdcFlags Special
+
+let b:current_syntax = "sdc"
+
+" vim: ts=8
diff --git a/runtime/syntax/sgml.vim b/runtime/syntax/sgml.vim
index bcc46c34..c0c3643d 100644
--- a/runtime/syntax/sgml.vim
+++ b/runtime/syntax/sgml.vim
@@ -3,7 +3,7 @@
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Tue, 27 Apr 2004 15:05:21 CEST
" Filenames: *.sgml,*.sgm
-" $Id$
+" $Id: sgml.vim,v 1.1 2004/06/13 17:52:57 vimboss Exp $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/sgmllnx.vim b/runtime/syntax/sgmllnx.vim
index 419e904e..99e6ea2a 100644
--- a/runtime/syntax/sgmllnx.vim
+++ b/runtime/syntax/sgmllnx.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: SGML-linuxdoc (supported by old sgmltools-1.x)
" (for more information, visit www.sgmltools.org)
-" Maintainer: Nam SungHyun <namsh@kldp.org>
-" Last Change: 2001 Apr 26
+" Maintainer: SungHyun Nam <goweol@gmail.com>
+" Last Change: 2008 Sep 17
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index 5fa8d938..6ef4fba1 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -2,8 +2,8 @@
" 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: Jul 11, 2008
-" Version: 102
+" Last Change: Nov 17, 2009
+" Version: 110
" 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)
@@ -67,13 +67,13 @@ syn case match
" Clusters: contains=@... clusters {{{1
"==================================
-syn cluster shErrorList contains=shDoError,shIfError,shInError,shCaseError,shEsacError,shCurlyError,shParenError,shTestError
+syn cluster shErrorList contains=shDoError,shIfError,shInError,shCaseError,shEsacError,shCurlyError,shParenError,shTestError,shOK
if exists("b:is_kornshell")
syn cluster ErrorList add=shDTestError
endif
-syn cluster shArithParenList contains=shArithmetic,shDeref,shDerefSimple,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen
+syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shDeref,shDerefSimple,shEcho,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement
syn cluster shArithList contains=@shArithParenList,shParenError
-syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial
+syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
syn cluster shColonList contains=@shCaseList
syn cluster shCommandSubList contains=shArithmetic,shDeref,shDerefSimple,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shSingleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest,shCtrlSeq,shSpecial
@@ -84,7 +84,7 @@ syn cluster shDerefVarList contains=shDerefOp,shDerefVarArray,shDerefOpError
syn cluster shEchoList contains=shArithmetic,shCommandSub,shDeref,shDerefSimple,shExpr,shExSingleQuote,shSingleQuote,shDoubleQuote,shCtrlSeq,shEchoQuote
syn cluster shExprList1 contains=shCharClass,shNumber,shOperator,shExSingleQuote,shSingleQuote,shDoubleQuote,shExpr,shDblBrace,shDeref,shDerefSimple,shCtrlSeq
syn cluster shExprList2 contains=@shExprList1,@shCaseList,shTest
-syn cluster shFunctionList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shOperator,shCtrlSeq
+syn cluster shFunctionList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shOption,shRedir,shSetList,shSource,shStatement,shVariable,shOperator,shCtrlSeq
if exists("b:is_kornshell") || exists("b:is_bash")
syn cluster shFunctionList add=shRepeat
syn cluster shFunctionList add=shDblBrace,shDblParen
@@ -94,19 +94,18 @@ syn cluster shHereList contains=shBeginHere,shHerePayload
syn cluster shHereListDQ contains=shBeginHere,@shDblQuoteList,shHerePayload
syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDeref,shDerefSimple,shRedir,shExSingleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial
syn cluster shLoopList contains=@shCaseList,shTestOpr,shExpr,shDblBrace,shConditional,shCaseEsac,shTest,@shErrorList,shSet
-syn cluster shSubShList contains=@shCaseList,shOperator
+syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDerefSimple,shDoubleQuote,shExpr,shExpr,shNumber,shOperator,shExSingleQuote,shSingleQuote,shTestOpr,shTest,shCtrlSeq
-
" 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="#"me=e-1 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="#"me=e-1 contains=@shEchoList skipwhite nextgroup=shQuickComment
-syn match shEchoQuote contained '\%(\\\\\)*\\["`']'
+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 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="#"me=e-1 contains=shNumber,shExSingleQuote,shSingleQuote,shDeref,shDerefSimple,shSpecialVar,shOperator,shDoubleQuote,shCharClass,shCtrlSeq
+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
" Alias: {{{1
" =====
@@ -125,6 +124,7 @@ syn match shCaseError ";;"
syn match shEsacError "\<esac\>"
syn match shCurlyError "}"
syn match shParenError ")"
+syn match shOK '\.\(done\|fi\|in\|esac\)'
if exists("b:is_kornshell")
syn match shDTestError "]]"
endif
@@ -152,14 +152,13 @@ syn match shPattern "\<\S\+\())\)\@=" contained contains=shExSingleQuote,shSin
" Subshells: {{{1
" ==========
-syn region shExpr transparent matchgroup=shExprRegion start="{" end="}" contains=@shExprList2
-syn region shSubSh transparent matchgroup=shSubShRegion start="(" end=")" contains=@shSubShList
+syn region shExpr transparent matchgroup=shExprRegion start="{" end="}" contains=@shExprList2 nextgroup=shMoreSpecial
+syn region shSubSh transparent matchgroup=shSubShRegion start="(" end=")" contains=@shSubShList nextgroup=shMoreSpecial
" Tests: {{{1
"=======
-"syn region shExpr transparent matchgroup=shRange start="\[" skip=+\\\\\|\\$+ end="\]" contains=@shTestList
-syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$+ end="\]" contains=@shTestList
-syn region shTest transparent matchgroup=shStatement start="\<test\>" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
+syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$+ end="\]" contains=@shTestList,shSpecial
+syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
syn match shTestOpr contained "<=\|>=\|!=\|==\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
syn match shTestOpr contained '=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
syn match shTestPattern contained '\w\+'
@@ -203,10 +202,11 @@ syn match shComma contained ","
" ====
syn match shCaseBar contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|" nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar
-syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
if (g:sh_fold_enabled % (s:sh_fold_ifdofor * 2))/s:sh_fold_ifdofor
+ syn region shCase fold contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
syn region shCaseEsac fold matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
else
+ syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
endif
syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
@@ -218,6 +218,7 @@ 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 shCaseCommandSub start=+`+ skip=+\\\\\|\\.+ end=+`+ contains=@shCommandSubList skipwhite skipnl nextgroup=shCaseBar contained
+syn region shCaseRange matchgroup=Delimiter start=+\[+ skip=+\\\\+ end=+]+ contained
" Misc: {{{1
"======
@@ -256,34 +257,36 @@ endif
syn match shSource "^\.\s"
syn match shSource "\s\.\s"
-syn region shColon start="^\s*:" end="$\|" end="#"me=e-1 contains=@shColonList
+"syn region shColon start="^\s*:" end="$" end="\s#"me=e-2 contains=@shColonList
+syn region shColon start="^\s*\zs:" end="$" end="\s#"me=e-2
" String And Character Constants: {{{1
"================================
syn match shNumber "-\=\<\d\+\>#\="
syn match shCtrlSeq "\\\d\d\d\|\\[abcfnrtv0]" contained
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
if exists("b:is_bash")
syn region shExSingleQuote matchgroup=shOperator 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=shStringSpecial,@Spell
+syn region shSingleQuote matchgroup=shOperator start=+'+ end=+'+ contains=@Spell
syn region shDoubleQuote matchgroup=shOperator start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
syn match shStringSpecial "[^[:print:] \t]" contained
syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]"
-syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
+syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]"
+syn match shMoreSpecial "\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained
" Comments: {{{1
"==========
-syn cluster shCommentGroup contains=shTodo,@Spell
-syn keyword shTodo contained COMBAK FIXME TODO XXX
-syn match shComment "^\s*\zs#.*$" contains=@shCommentGroup
-syn match shComment "\s\zs#.*$" contains=@shCommentGroup
-syn match shQuickComment contained "#.*$"
+syn cluster shCommentGroup contains=shTodo,@Spell
+syn keyword shTodo contained COMBAK FIXME TODO XXX
+syn match shComment "^\s*\zs#.*$" contains=@shCommentGroup
+syn match shComment "\s\zs#.*$" contains=@shCommentGroup
+syn match shQuickComment contained "#.*$"
" Here Documents: {{{1
" =========================================
@@ -338,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#\|=" contains=@shIdList
- syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="\ze[;|)]\|$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze[#=]" contains=@shIdList
+ 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
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[#=]" contains=@shIdList
- syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze[#=]" contains=@shIdList
+ 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
else
- syn region shSetList oneline matchgroup=shSet start="\<\(set\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze[#=]" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<\(set\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
endif
" Functions: {{{1
@@ -492,7 +495,7 @@ hi def link shCaseIn shConditional
hi def link shCaseSingleQuote shSingleQuote
hi def link shCaseStart shConditional
hi def link shCmdSubRegion shShellVariables
-hi def link shColon shStatement
+hi def link shColon shComment
hi def link shDerefOp shOperator
hi def link shDerefPOL shDerefOp
hi def link shDerefPPS shDerefOp
@@ -511,6 +514,7 @@ hi def link shFunction Function
hi def link shHereDoc shString
hi def link shHerePayload shHereDoc
hi def link shLoop shStatement
+hi def link shMoreSpecial shSpecial
hi def link shOption shCommandSub
hi def link shPattern shString
hi def link shParen shArithmetic
diff --git a/runtime/syntax/sisu.vim b/runtime/syntax/sisu.vim
index f29bc268..c7cdf2df 100644
--- a/runtime/syntax/sisu.vim
+++ b/runtime/syntax/sisu.vim
@@ -1,6 +1,6 @@
"SiSU Vim syntax file
"SiSU Maintainer: Ralph Amissah <ralph@amissah.com>
-"SiSU Markup: SiSU (sisu-0.66.0, 2008-02-24)
+"SiSU Markup: SiSU (sisu-0.69.0, 2008-09-16)
"(originally looked at Ruby Vim by Mirko Nasato)
if version < 600
@@ -81,6 +81,7 @@ syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endn
syn region sisu_comment matchgroup=sisu_comment start="^%\{1,2\} " end="$"
"font face curly brackets
"syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_sem start="\S\+:{" end="}:[^<>,.!?:; ]\+" oneline
+syn region sisu_index matchgroup=sisu_index_block start="^={" end="}"
syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\*{" end="}\*"
syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="!{" end="}!"
syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="_{" end="}_"
@@ -162,7 +163,6 @@ hi def link sisu_linked String
hi def link sisu_fontface Include
hi def link sisu_strikeout DiffDelete
hi def link sisu_content_alt Special
-hi def link sisu_sem_content String
hi def link sisu_sem_content SpecialKey
hi def link sisu_sem_block Special
hi def link sisu_sem_marker Visual
@@ -173,6 +173,8 @@ hi def link sisu_sem_ex_marker_block Folded
hi def link sisu_sem_ex_content Comment
"hi def link sisu_sem_ex_content SpecialKey
hi def link sisu_sem_ex_block Comment
+hi def link sisu_index SpecialKey
+hi def link sisu_index_block Visual
hi def link sisu_content_endnote Special
hi def link sisu_control Define
hi def link sisu_ocn Include
diff --git a/runtime/syntax/spec.vim b/runtime/syntax/spec.vim
index cb2f3047..8c9dd1ff 100644
--- a/runtime/syntax/spec.vim
+++ b/runtime/syntax/spec.vim
@@ -1,8 +1,7 @@
" Filename: spec.vim
" Purpose: Vim syntax file
" Language: SPEC: Build/install scripts for Linux RPM packages
-" Maintainer: Donovan Rebbechi elflord@pegasus.rutgers.edu
-" URL: http://pegasus.rutgers.edu/~elflord/vim/syntax/spec.vim
+" Maintainer: Donovan Rebbechi elflord@panix.com
" Last Change: Fri Dec 3 11:54 EST 2004 Marcin Dalecki
" For version 5.x: Clear all syntax items
diff --git a/runtime/syntax/splint.vim b/runtime/syntax/splint.vim
index 2f283809..dc09d8b9 100644
--- a/runtime/syntax/splint.vim
+++ b/runtime/syntax/splint.vim
@@ -2,8 +2,8 @@
" Language: splint (C with lclint/splint Annotations)
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
" Splint Home: http://www.splint.org/
-" Last Change: $Date$
-" $Revision$
+" Last Change: $Date: 2004/06/13 20:08:47 $
+" $Revision: 1.1 $
" Note: Splint annotated files are not detected by default.
" If you want to use this file for highlighting C code,
diff --git a/runtime/syntax/spyce.vim b/runtime/syntax/spyce.vim
index 641aa865..e76cb1a1 100644
--- a/runtime/syntax/spyce.vim
+++ b/runtime/syntax/spyce.vim
@@ -2,7 +2,7 @@
" Language: SPYCE
" Maintainer: Rimon Barr <rimon AT acm DOT org>
" URL: http://spyce.sourceforge.net
-" Last Change: 2003 May 11
+" Last Change: 2009 Nov 11
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -25,6 +25,7 @@ if version < 600
else
runtime! syntax/html.vim
unlet b:current_syntax
+ syntax spell default " added by Bram
endif
" include python
diff --git a/runtime/syntax/sqlanywhere.vim b/runtime/syntax/sqlanywhere.vim
index 81fa060f..5abab381 100644
--- a/runtime/syntax/sqlanywhere.vim
+++ b/runtime/syntax/sqlanywhere.vim
@@ -2,10 +2,11 @@
" Vim syntax file
" Language: SQL, Adaptive Server Anywhere
" Maintainer: David Fishburn <fishburn at ianywhere dot com>
-" Last Change: Tue 29 Jan 2008 12:54:19 PM Eastern Standard Time
-" Version: 10.0.1
+" Last Change: 2009 Mar 15
+" Version: 11.0.1
-" Description: Updated to Adaptive Server Anywhere 10.0.1
+" Description: Updated to Adaptive Server Anywhere 11.0.1
+" Updated to Adaptive Server Anywhere 10.0.1
" Updated to Adaptive Server Anywhere 9.0.2
" Updated to Adaptive Server Anywhere 9.0.1
" Updated to Adaptive Server Anywhere 9.0.0
@@ -54,20 +55,24 @@ syn keyword sqlFunction get_identity lookup newid uuidtostr
syn keyword sqlFunction strtouuid varexists
" 9.0.1 functions
-syn keyword sqlFunction acos asin atan atn2 cast ceiling convert cos cot
+syn keyword sqlFunction acos asin atan atn2 cast ceiling convert cos cot
syn keyword sqlFunction char_length coalesce dateformat datetime degrees exp
-syn keyword sqlFunction floor getdate insertstr
+syn keyword sqlFunction floor getdate insertstr
syn keyword sqlFunction log log10 lower mod pi power
-syn keyword sqlFunction property radians replicate round sign sin
+syn keyword sqlFunction property radians replicate round sign sin
syn keyword sqlFunction sqldialect tan truncate truncnum
syn keyword sqlFunction base64_encode base64_decode
syn keyword sqlFunction hash compress decompress encrypt decrypt
+" 11.0.1 functions
+syn keyword sqlFunction connection_extended_property text_handle_vector_match
+syn keyword sqlFunction read_client_file write_client_file
+
" string functions
syn keyword sqlFunction ascii char left ltrim repeat
syn keyword sqlFunction space right rtrim trim lcase ucase
syn keyword sqlFunction locate charindex patindex replace
-syn keyword sqlFunction errormsg csconvert
+syn keyword sqlFunction errormsg csconvert
" property functions
syn keyword sqlFunction db_id db_name property_name
@@ -358,125 +363,135 @@ syn keyword sqlFunction next_http_header next_http_variable
syn keyword sqlFunction sa_set_http_header sa_set_http_option
syn keyword sqlFunction sa_http_variable_info sa_http_header_info
-" http functions 9.0.1
+" http functions 9.0.1
syn keyword sqlFunction http_encode http_decode
syn keyword sqlFunction html_encode html_decode
" keywords
-syn keyword sqlKeyword absolute accent action activ add address after
-syn keyword sqlKeyword algorithm allow_dup_row
-syn keyword sqlKeyword alter and any as append asc ascii ase at atomic
-syn keyword sqlKeyword attach attended audit authorization
+syn keyword sqlKeyword absolute accent action active add address aes_decrypt
+syn keyword sqlKeyword after aggregate algorithm allow_dup_row allowed
+syn keyword sqlKeyword alter and ansi_substring any as append apply asc ascii ase
+syn keyword sqlKeyword assign at atan2 atomic attach attended audit authorization
syn keyword sqlKeyword autoincrement autostop batch bcp before
-syn keyword sqlKeyword between blank blanks block
-syn keyword sqlKeyword both bottom unbounded break bufferpool
+syn keyword sqlKeyword between bit_and bit_length bit_or bit_substr bit_xor
+syn keyword sqlKeyword blank blanks block
+syn keyword sqlKeyword both bottom unbounded break breaker bufferpool
syn keyword sqlKeyword build bulk by byte bytes cache calibrate calibration
syn keyword sqlKeyword cancel capability cascade cast
-syn keyword sqlKeyword catalog changes char char_convert check checksum
+syn keyword sqlKeyword catalog ceil changes char char_convert check checksum
syn keyword sqlKeyword class classes client cmp
-syn keyword sqlKeyword cluster clustered collation column columns
+syn keyword sqlKeyword cluster clustered collation
+syn keyword sqlKeyword column columns
syn keyword sqlKeyword command comment committed comparisons
syn keyword sqlKeyword compatible component compressed compute computes
-syn keyword sqlKeyword concat confirm conflict connection
+syn keyword sqlKeyword concat configuration confirm conflict connection
syn keyword sqlKeyword console consolidate consolidated
-syn keyword sqlKeyword constraint constraints continue
-syn keyword sqlKeyword convert copy count crc cross cube
+syn keyword sqlKeyword constraint constraints content continue
+syn keyword sqlKeyword convert coordinator copy count count_set_bits
+syn keyword sqlKeyword crc createtime cross cube cume_dist
syn keyword sqlKeyword current cursor data data database
syn keyword sqlKeyword current_timestamp current_user
-syn keyword sqlKeyword datatype dba dbfile
-syn keyword sqlKeyword dbspace dbspacename debug decoupled
-syn keyword sqlKeyword decrypted default defaults deferred definition
+syn keyword sqlKeyword databases datatype dba dbfile
+syn keyword sqlKeyword dbspace dbspaces dbspacename debug decoupled
+syn keyword sqlKeyword decrypted default defaults default_dbspace deferred
+syn keyword sqlKeyword definer definition
syn keyword sqlKeyword delay deleting delimited dependencies desc
syn keyword sqlKeyword description detach deterministic directory
-syn keyword sqlKeyword disable disabled distinct do domain download
+syn keyword sqlKeyword disable disabled distinct do domain download duplicate
syn keyword sqlKeyword dsetpass dttm dynamic each editproc ejb
-syn keyword sqlKeyword else elseif enable encapsulated encrypted end
-syn keyword sqlKeyword encoding endif engine erase error escape escapes event
-syn keyword sqlKeyword every except exception exclude exclusive exec
-syn keyword sqlKeyword existing exists expanded express
+syn keyword sqlKeyword else elseif empty enable encapsulated encrypted end
+syn keyword sqlKeyword encoding endif engine environment erase error escape escapes event
+syn keyword sqlKeyword event_parameter every except exception exclude excluded exclusive exec
+syn keyword sqlKeyword existing exists expanded expiry express exprtype extended_property
syn keyword sqlKeyword external externlogin factor failover false
-syn keyword sqlKeyword fastfirstrow fieldproc file filler
-syn keyword sqlKeyword fillfactor finish first first_keyword
-syn keyword sqlKeyword following force foreign format
-syn keyword sqlKeyword freepage french fresh full function go global
-syn keyword sqlKeyword group handler hash having header hexadecimal
-syn keyword sqlKeyword hidden high history hold holdlock
-syn keyword sqlKeyword hours id identified identity ignore
+syn keyword sqlKeyword fastfirstrow fieldproc file files filler
+syn keyword sqlKeyword fillfactor finish first first_keyword first_value
+syn keyword sqlKeyword following force foreign format forxml forxml_sep fp frame
+syn keyword sqlKeyword freepage french fresh full function gb get_bit go global
+syn keyword sqlKeyword group handler hash having header hexadecimal
+syn keyword sqlKeyword hidden high history hg hng hold holdlock host
+syn keyword sqlKeyword hours http_body http_session_timeout id identified identity ignore
syn keyword sqlKeyword ignore_dup_key ignore_dup_row immediate
-syn keyword sqlKeyword in inactive inactivity incremental index info
+syn keyword sqlKeyword in inactiv inactive inactivity included incremental
+syn keyword sqlKeyword index index_enabled index_lparen indexonly info
syn keyword sqlKeyword inline inner inout insensitive inserting
syn keyword sqlKeyword instead integrated
-syn keyword sqlKeyword internal into introduced iq is isolation jar java
+syn keyword sqlKeyword internal intersection into introduced invoker iq is isolation
+syn keyword sqlKeyword jar java java_location java_main_userid java_vm_options
syn keyword sqlKeyword jconnect jdk join kb key keep kerberos language last
-syn keyword sqlKeyword last_keyword lateral left level like
-syn keyword sqlKeyword limit local location log
-syn keyword sqlKeyword logging login logscan long low lru main
-syn keyword sqlKeyword match materialized max maximum membership
-syn keyword sqlKeyword minutes mirror mode modify monitor mru
-syn keyword sqlKeyword name named national native natural new next no
+syn keyword sqlKeyword last_keyword last_value lateral ld left len lf ln level like
+syn keyword sqlKeyword limit local location log
+syn keyword sqlKeyword logging login logscan long low lru main manual mark
+syn keyword sqlKeyword match matched materialized max maximum mb membership
+syn keyword sqlKeyword merge metadata methods minimum minutes mirror mode modify monitor move mru
+syn keyword sqlKeyword multiplex name named national native natural new next no
syn keyword sqlKeyword noholdlock nolock nonclustered none not
-syn keyword sqlKeyword notify null nulls of off old on
-syn keyword sqlKeyword only optimization optimizer option
+syn keyword sqlKeyword notify null nullable_constant nulls object oem_string of off offline
+syn keyword sqlKeyword old on online only openstring optimization optimizer option
syn keyword sqlKeyword or order others out outer over
syn keyword sqlKeyword package packetsize padding page pages
-syn keyword sqlKeyword paglock parallel part partition partner password path
-syn keyword sqlKeyword pctfree plan preceding precision prefetch prefix
-syn keyword sqlKeyword preserve preview primary
-syn keyword sqlKeyword prior priqty private privileges procedure profile
-syn keyword sqlKeyword public publication publish publisher
-syn keyword sqlKeyword quote quotes range readcommitted readonly
+syn keyword sqlKeyword paglock parallel part partial partition partitions partner password path
+syn keyword sqlKeyword pctfree plan policy populate port postfilter preceding precision
+syn keyword sqlKeyword prefetch prefilter prefix preserve preview primary
+syn keyword sqlKeyword prior priority priqty private privileges procedure profile
+syn keyword sqlKeyword property_is_cumulative property_is_numeric public publication publish publisher
+syn keyword sqlKeyword quiesce quote quotes range readclientfile readcommitted reader readfile readonly
syn keyword sqlKeyword readpast readuncommitted readwrite rebuild
syn keyword sqlKeyword received recompile recover recursive references
-syn keyword sqlKeyword referencing refresh relative relocate
+syn keyword sqlKeyword referencing refresh regex regexp regexp_substr relative relocate
syn keyword sqlKeyword rename repeatable repeatableread
-syn keyword sqlKeyword replicate rereceive resend reserve reset
+syn keyword sqlKeyword replicate request_timeout required rereceive resend reserve reset
syn keyword sqlKeyword resizing resolve resource respect
syn keyword sqlKeyword restrict result retain
-syn keyword sqlKeyword returns right
-syn keyword sqlKeyword rollup root row rowlock rows save
-syn keyword sqlKeyword schedule schema scripted scroll seconds secqty
+syn keyword sqlKeyword returns reverse right role
+syn keyword sqlKeyword rollup root row row_number rowlock rows save
+syn keyword sqlKeyword sa_index_hash sa_internal_fk_verify sa_internal_termbreak
+syn keyword sqlKeyword sa_order_preserving_hash sa_order_preserving_hash_big sa_order_preserving_hash_prefix
+syn keyword sqlKeyword schedule schema scope scripted scroll seconds secqty security
syn keyword sqlKeyword send sensitive sent serializable
-syn keyword sqlKeyword server server session sets
+syn keyword sqlKeyword server server session set_bit set_bits sets
syn keyword sqlKeyword share simple since site size skip
-syn keyword sqlKeyword snapshot soapheader some sorted_data
-syn keyword sqlKeyword sqlcode sqlid sqlstate stacker stale statement
-syn keyword sqlKeyword statistics status stogroup store
-syn keyword sqlKeyword strip subpages subscribe subscription
-syn keyword sqlKeyword subtransaction synchronization
+syn keyword sqlKeyword snapshot soapheader soap_header split some sorted_data
+syn keyword sqlKeyword sqlcode sqlid sqlflagger sqlstate sqrt square
+syn keyword sqlKeyword stacker stale statement statistics status stddev_pop stddev_samp
+syn keyword sqlKeyword stemmer stogroup stoplist store
+syn keyword sqlKeyword strip stripesizekb striping subpages subscribe subscription
+syn keyword sqlKeyword subtransaction suser_id suser_name synchronization
syn keyword sqlKeyword syntax_error table tablock
-syn keyword sqlKeyword tablockx tb temp template temporary then
-syn keyword sqlKeyword ties timezone to top tracing
-syn keyword sqlKeyword transaction transactional tries true
+syn keyword sqlKeyword tablockx tb temp template temporary term then
+syn keyword sqlKeyword ties timezone to to_char to_nchar top traced_plan tracing
+syn keyword sqlKeyword transfer transaction transactional tries true
syn keyword sqlKeyword tsequal type tune uncommitted unconditionally
-syn keyword sqlKeyword unenforced unique union unknown unload
-syn keyword sqlKeyword updating updlock upgrade upload use user
+syn keyword sqlKeyword unenforced unicode unique union unistr unknown unlimited unload
+syn keyword sqlKeyword unpartition unquiesce updatetime updating updlock upgrade upload
+syn keyword sqlKeyword upper use user
syn keyword sqlKeyword using utc utilities validproc
syn keyword sqlKeyword value values varchar variable
-syn keyword sqlKeyword varying vcat verify view virtual wait
-syn keyword sqlKeyword warning web when where window with with_auto
+syn keyword sqlKeyword varying var_pop var_samp vcat verify versions view virtual wait
+syn keyword sqlKeyword warning wd web when where window with with_auto
syn keyword sqlKeyword with_auto with_cube with_rollup without
-syn keyword sqlKeyword with_lparen within word work workload writefile
-syn keyword sqlKeyword writers writeserver xlock zeros
+syn keyword sqlKeyword with_lparen within word work workload write writefile
+syn keyword sqlKeyword writeclientfile writer writers writeserver xlock zeros
" XML function support
-syn keyword sqlFunction openxml xmlelement xmlforest xmlgen xmlconcat xmlagg
-syn keyword sqlFunction xmlattributes
+syn keyword sqlFunction openxml xmlelement xmlforest xmlgen xmlconcat xmlagg
+syn keyword sqlFunction xmlattributes
syn keyword sqlKeyword raw auto elements explicit
" HTTP support
-syn keyword sqlKeyword authorization secure url service
+syn keyword sqlKeyword authorization secure url service next_soap_header
" HTTP 9.0.2 new procedure keywords
syn keyword sqlKeyword namespace certificate clientport proxy
" OLAP support 9.0.0
-syn keyword sqlKeyword covar_pop covar_samp corr regr_slope regr_intercept
+syn keyword sqlKeyword covar_pop covar_samp corr regr_slope regr_intercept
syn keyword sqlKeyword regr_count regr_r2 regr_avgx regr_avgy
syn keyword sqlKeyword regr_sxx regr_syy regr_sxy
" Alternate keywords
syn keyword sqlKeyword character dec options proc reference
-syn keyword sqlKeyword subtrans tran syn keyword
+syn keyword sqlKeyword subtrans tran syn keyword
syn keyword sqlOperator in any some all between exists
-syn keyword sqlOperator like escape not is and or
+syn keyword sqlOperator like escape not is and or
syn keyword sqlOperator intersect minus
syn keyword sqlOperator prior distinct
@@ -496,43 +511,38 @@ syn keyword sqlStatement validate waitfor whenever while writetext
syn keyword sqlType char long varchar text
-syn keyword sqlType bigint decimal double float int integer numeric
+syn keyword sqlType bigint decimal double float int integer numeric
syn keyword sqlType smallint tinyint real
syn keyword sqlType money smallmoney
-syn keyword sqlType bit
-syn keyword sqlType date datetime smalldate time timestamp
+syn keyword sqlType bit
+syn keyword sqlType date datetime smalldate time timestamp
syn keyword sqlType binary image varbinary uniqueidentifier
syn keyword sqlType xml unsigned
" New types 10.0.0
syn keyword sqlType varbit nchar nvarchar
syn keyword sqlOption Allow_nulls_by_default
+syn keyword sqlOption Allow_read_client_file
+syn keyword sqlOption Allow_snapshot_isolation
+syn keyword sqlOption Allow_write_client_file
syn keyword sqlOption Ansi_blanks
syn keyword sqlOption Ansi_close_cursors_on_rollback
-syn keyword sqlOption Ansi_integer_overflow
syn keyword sqlOption Ansi_permissions
+syn keyword sqlOption Ansi_substring
syn keyword sqlOption Ansi_update_constraints
syn keyword sqlOption Ansinull
-syn keyword sqlOption Assume_distinct_servers
syn keyword sqlOption Auditing
syn keyword sqlOption Auditing_options
-syn keyword sqlOption Auto_commit
-syn keyword sqlOption Auto_refetch
-syn keyword sqlOption Automatic_timestamp
syn keyword sqlOption Background_priority
-syn keyword sqlOption Bell
-syn keyword sqlOption Blob_threshold
syn keyword sqlOption Blocking
syn keyword sqlOption Blocking_timeout
syn keyword sqlOption Chained
-syn keyword sqlOption Char_OEM_Translation
syn keyword sqlOption Checkpoint_time
syn keyword sqlOption Cis_option
syn keyword sqlOption Cis_rowset_size
syn keyword sqlOption Close_on_endtrans
-syn keyword sqlOption Command_delimiter
-syn keyword sqlOption Commit_on_exit
-syn keyword sqlOption Compression
+syn keyword sqlOption Collect_statistics_on_dml_updates
+syn keyword sqlOption Conn_auditing
syn keyword sqlOption Connection_authentication
syn keyword sqlOption Continue_after_raiserror
syn keyword sqlOption Conversion_error
@@ -543,125 +553,90 @@ syn keyword sqlOption Date_format
syn keyword sqlOption Date_order
syn keyword sqlOption Debug_messages
syn keyword sqlOption Dedicated_task
+syn keyword sqlOption Default_dbspace
syn keyword sqlOption Default_timestamp_increment
syn keyword sqlOption Delayed_commit_timeout
syn keyword sqlOption Delayed_commits
-syn keyword sqlOption Delete_old_logs
-syn keyword sqlOption Describe_Java_Format
-syn keyword sqlOption Divide_by_zero_error
-syn keyword sqlOption Echo
syn keyword sqlOption Escape_character
syn keyword sqlOption Exclude_operators
syn keyword sqlOption Extended_join_syntax
-syn keyword sqlOption External_remote_options
syn keyword sqlOption Fire_triggers
syn keyword sqlOption First_day_of_week
-syn keyword sqlOption Float_as_double
syn keyword sqlOption For_xml_null_treatment
syn keyword sqlOption Force_view_creation
syn keyword sqlOption Global_database_id
-syn keyword sqlOption Headings
-syn keyword sqlOption Input_format
+syn keyword sqlOption Http_session_timeout
syn keyword sqlOption Integrated_server_name
syn keyword sqlOption Isolation_level
-syn keyword sqlOption ISQL_command_timing
-syn keyword sqlOption ISQL_escape_character
-syn keyword sqlOption ISQL_field_separator
-syn keyword sqlOption ISQL_log
-syn keyword sqlOption ISQL_plan
-syn keyword sqlOption ISQL_plan_cursor_sensitivity
-syn keyword sqlOption ISQL_plan_cursor_writability
-syn keyword sqlOption ISQL_quote
-syn keyword sqlOption Java_heap_size
-syn keyword sqlOption Java_input_output
-syn keyword sqlOption Java_namespace_size
-syn keyword sqlOption Java_page_buffer_size
+syn keyword sqlOption Java_location
+syn keyword sqlOption Java_main_userid
+syn keyword sqlOption Java_vm_options
syn keyword sqlOption Lock_rejected_rows
syn keyword sqlOption Log_deadlocks
-syn keyword sqlOption Log_detailed_plans
-syn keyword sqlOption Log_max_requests
syn keyword sqlOption Login_mode
syn keyword sqlOption Login_procedure
+syn keyword sqlOption Materialized_view_optimization
+syn keyword sqlOption Max_client_statements_cached
syn keyword sqlOption Max_cursor_count
syn keyword sqlOption Max_hash_size
syn keyword sqlOption Max_plans_cached
+syn keyword sqlOption Max_priority
+syn keyword sqlOption Max_query_tasks
syn keyword sqlOption Max_recursive_iterations
syn keyword sqlOption Max_statement_count
-syn keyword sqlOption Max_work_table_hash_size
+syn keyword sqlOption Max_temp_space
syn keyword sqlOption Min_password_length
syn keyword sqlOption Nearest_century
syn keyword sqlOption Non_keywords
-syn keyword sqlOption NULLS
-syn keyword sqlOption ODBC_describe_binary_as_varbinary
-syn keyword sqlOption ODBC_distinguish_char_and_varchar
-syn keyword sqlOption On_Charset_conversion_failure
-syn keyword sqlOption On_error
+syn keyword sqlOption Odbc_describe_binary_as_varbinary
+syn keyword sqlOption Odbc_distinguish_char_and_varchar
+syn keyword sqlOption Oem_string
+syn keyword sqlOption On_charset_conversion_failure
syn keyword sqlOption On_tsql_error
-syn keyword sqlOption Optimistic_wait_for_commit
syn keyword sqlOption Optimization_goal
syn keyword sqlOption Optimization_level
-syn keyword sqlOption Optimization_logging
syn keyword sqlOption Optimization_workload
-syn keyword sqlOption Output_format
-syn keyword sqlOption Output_length
-syn keyword sqlOption Output_nulls
-syn keyword sqlOption Percent_as_comment
syn keyword sqlOption Pinned_cursor_percent_of_cache
+syn keyword sqlOption Post_login_procedure
syn keyword sqlOption Precision
syn keyword sqlOption Prefetch
syn keyword sqlOption Preserve_source_format
syn keyword sqlOption Prevent_article_pkey_update
-syn keyword sqlOption Qualify_owners
-syn keyword sqlOption Query_plan_on_open
-syn keyword sqlOption Quiet
-syn keyword sqlOption Quote_all_identifiers
+syn keyword sqlOption Priority
+syn keyword sqlOption Query_mem_timeout
syn keyword sqlOption Quoted_identifier
syn keyword sqlOption Read_past_deleted
syn keyword sqlOption Recovery_time
syn keyword sqlOption Remote_idle_timeout
syn keyword sqlOption Replicate_all
-syn keyword sqlOption Replication_error
-syn keyword sqlOption Replication_error_piece
+syn keyword sqlOption Request_timeout
syn keyword sqlOption Return_date_time_as_string
-syn keyword sqlOption Return_java_as_string
-syn keyword sqlOption RI_Trigger_time
syn keyword sqlOption Rollback_on_deadlock
syn keyword sqlOption Row_counts
-syn keyword sqlOption Save_remote_passwords
syn keyword sqlOption Scale
-syn keyword sqlOption Screen_format
-syn keyword sqlOption Sort_Collation
-syn keyword sqlOption SQL_flagger_error_level
-syn keyword sqlOption SQL_flagger_warning_level
-syn keyword sqlOption SQLConnect
-syn keyword sqlOption SQLStart
-syn keyword sqlOption SR_Date_Format
-syn keyword sqlOption SR_Time_Format
-syn keyword sqlOption SR_TimeStamp_Format
-syn keyword sqlOption Statistics
+syn keyword sqlOption Secure_feature_key
+syn keyword sqlOption Sort_collation
+syn keyword sqlOption Sql_flagger_error_level
+syn keyword sqlOption Sql_flagger_warning_level
syn keyword sqlOption String_rtruncation
-syn keyword sqlOption Subscribe_by_remote
syn keyword sqlOption Subsume_row_locks
-syn keyword sqlOption Suppress_TDS_debugging
-syn keyword sqlOption TDS_Empty_string_is_null
+syn keyword sqlOption Suppress_tds_debugging
+syn keyword sqlOption Synchronize_mirror_on_commit
+syn keyword sqlOption Tds_empty_string_is_null
syn keyword sqlOption Temp_space_limit_check
-syn keyword sqlOption Thread_count
-syn keyword sqlOption Thread_stack
-syn keyword sqlOption Thread_swaps
syn keyword sqlOption Time_format
syn keyword sqlOption Time_zone_adjustment
syn keyword sqlOption Timestamp_format
-syn keyword sqlOption Truncate_date_values
syn keyword sqlOption Truncate_timestamp_values
-syn keyword sqlOption Truncate_with_auto_commit
-syn keyword sqlOption Truncation_length
-syn keyword sqlOption Tsql_hex_constant
+syn keyword sqlOption Tsql_outer_joins
syn keyword sqlOption Tsql_variables
+syn keyword sqlOption Updatable_statement_isolation
syn keyword sqlOption Update_statistics
+syn keyword sqlOption Upgrade_database_capability
syn keyword sqlOption User_estimates
-syn keyword sqlOption Verify_all_columns
-syn keyword sqlOption Verify_threshold
+syn keyword sqlOption Verify_password_function
syn keyword sqlOption Wait_for_commit
+syn keyword sqlOption Webservice_namespace_host
" Strings and characters:
syn region sqlString start=+"+ end=+"+ contains=@Spell
diff --git a/runtime/syntax/sshconfig.vim b/runtime/syntax/sshconfig.vim
index 44f23d76..45947f20 100644
--- a/runtime/syntax/sshconfig.vim
+++ b/runtime/syntax/sshconfig.vim
@@ -1,23 +1,21 @@
" Vim syntax file
-" This is a GENERATED FILE. Please always refer to source file at the URI below.
-" Language: OpenSSH server configuration file (ssh_config)
-" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
-" Last Change: 2006-03-05
-" URL: http://trific.ath.cx/Ftp/vim/syntax/sshconfig.vim
+" Language: OpenSSH client configuration file (ssh_config)
+" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
+" Last Change: 2009-07-09
" Setup
if version >= 600
- if exists("b:current_syntax")
- finish
- endif
+ if exists("b:current_syntax")
+ finish
+ endif
else
- syntax clear
+ syntax clear
endif
if version >= 600
- setlocal iskeyword=_,-,a-z,A-Z,48-57
+ setlocal iskeyword=_,-,a-z,A-Z,48-57
else
- set iskeyword=_,-,a-z,A-Z,48-57
+ set iskeyword=_,-,a-z,A-Z,48-57
endif
syn case ignore
@@ -28,19 +26,21 @@ syn keyword sshconfigTodo TODO FIXME NOT contained
" Constants
syn keyword sshconfigYesNo yes no ask
-syn keyword sshconfigCipher blowfish des 3des
+syn keyword sshconfigYesNo any auto
syn keyword sshconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
syn keyword sshconfigCipher aes192-cbc aes256-cbc aes128-ctr aes256-ctr
syn keyword sshconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
syn keyword sshconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
syn keyword sshconfigMAC hmac-md5-96
+syn match sshconfigMAC "\<umac-64@openssh\.com\>"
syn keyword sshconfigHostKeyAlg ssh-rsa ssh-dss
syn keyword sshconfigPreferredAuth hostbased publickey password
syn keyword sshconfigPreferredAuth keyboard-interactive
syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
-syn keyword sshconfigSysLogFacility DAEMON USER AUTH LOCAL0 LOCAL1 LOCAL2
-syn keyword sshconfigSysLogFacility LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
+syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
+syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
+syn match sshconfigVar "%[rhpldun]\>"
syn match sshconfigSpecial "[*?]"
syn match sshconfigNumber "\d\+"
syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
@@ -49,57 +49,68 @@ syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>"
" Keywords
syn keyword sshconfigHostSect Host
-syn keyword sshconfigKeyword AddressFamily BatchMode BindAddress
+syn keyword sshconfigKeyword AddressFamily
+syn keyword sshconfigKeyword BatchMode BindAddress
syn keyword sshconfigKeyword ChallengeResponseAuthentication CheckHostIP
syn keyword sshconfigKeyword Cipher Ciphers ClearAllForwardings
syn keyword sshconfigKeyword Compression CompressionLevel ConnectTimeout
syn keyword sshconfigKeyword ConnectionAttempts ControlMaster
-syn keyword sshconfigKeyword ControlPath DynamicForward EnableSSHKeysign
-syn keyword sshconfigKeyword EscapeChar ForwardAgent ForwardX11
-syn keyword sshconfigKeyword ForwardX11Trusted GSSAPIAuthentication
+syn keyword sshconfigKeyword ControlPath DynamicForward
+syn keyword sshconfigKeyword EnableSSHKeysign EscapeChar ExitOnForwardFailure
+syn keyword sshconfigKeyword ForwardAgent ForwardX11
+syn keyword sshconfigKeyword ForwardX11Trusted
+syn keyword sshconfigKeyword GSSAPIAuthentication
syn keyword sshconfigKeyword GSSAPIDelegateCredentials GatewayPorts
-syn keyword sshconfigKeyword GlobalKnownHostsFile HostKeyAlgorithms
-syn keyword sshconfigKeyword HashKnownHosts KbdInteractiveDevices
+syn keyword sshconfigKeyword GlobalKnownHostsFile
+syn keyword sshconfigKeyword HostKeyAlgorithms HashKnownHosts
syn keyword sshconfigKeyword HostKeyAlias HostName HostbasedAuthentication
-syn keyword sshconfigKeyword IdentitiesOnly IdentityFile LocalForward
-syn keyword sshconfigKeyword LogLevel MACs NoHostAuthenticationForLocalhost
-syn keyword sshconfigKeyword NumberOfPasswordPrompts PasswordAuthentication
+syn keyword sshconfigKeyword IdentitiesOnly IdentityFile
+syn keyword sshconfigKeyword KbdInteractiveAuthentication KbdInteractiveDevices
+syn keyword sshconfigKeyword LocalCommand LocalForward LogLevel
+syn keyword sshconfigKeyword MACs
+syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
+syn keyword sshconfigKeyword NumberOfPasswordPrompts
+syn keyword sshconfigKeyword PasswordAuthentication PermitLocalCommand
syn keyword sshconfigKeyword Port PreferredAuthentications Protocol
syn keyword sshconfigKeyword ProxyCommand PubkeyAuthentication
-syn keyword sshconfigKeyword RSAAuthentication RemoteForward
-syn keyword sshconfigKeyword RhostsAuthentication RhostsRSAAuthentication
+syn keyword sshconfigKeyword PermitLocalCommand
+syn keyword sshconfigKeyword RSAAuthentication RemoteForward RekeyLimit
+syn keyword sshconfigKeyword RhostsRSAAuthentication
syn keyword sshconfigKeyword SendEnv ServerAliveCountMax ServerAliveInterval
syn keyword sshconfigKeyword SmartcardDevice StrictHostKeyChecking
+syn keyword sshconfigKeyword Tunnel TunnelDevice
syn keyword sshconfigKeyword TCPKeepAlive UsePrivilegedPort User
-syn keyword sshconfigKeyword UserKnownHostsFile VerifyHostKeyDNS XAuthLocation
+syn keyword sshconfigKeyword UserKnownHostsFile
+syn keyword sshconfigKeyword VerifyHostKeyDNS VisualHostKey
+syn keyword sshconfigKeyword XAuthLocation
" Define the default highlighting
if version >= 508 || !exists("did_sshconfig_syntax_inits")
- if version < 508
- let did_sshconfig_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
+ if version < 508
+ let did_sshconfig_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
- HiLink sshconfigComment Comment
- HiLink sshconfigTodo Todo
- HiLink sshconfigHostPort sshconfigConstant
- HiLink sshconfigNumber sshconfigConstant
- HiLink sshconfigConstant Constant
- HiLink sshconfigYesNo sshconfigEnum
- HiLink sshconfigCipher sshconfigEnum
- HiLink sshconfigMAC sshconfigEnum
- HiLink sshconfigHostKeyAlg sshconfigEnum
- HiLink sshconfigLogLevel sshconfigEnum
- HiLink sshconfigSysLogFacility sshconfigEnum
- HiLink sshconfigPreferredAuth sshconfigEnum
- HiLink sshconfigEnum Function
- HiLink sshconfigSpecial Special
- HiLink sshconfigKeyword Keyword
- HiLink sshconfigHostSect Type
- delcommand HiLink
+ HiLink sshconfigComment Comment
+ HiLink sshconfigTodo Todo
+ HiLink sshconfigHostPort sshconfigConstant
+ HiLink sshconfigNumber sshconfigConstant
+ HiLink sshconfigConstant Constant
+ HiLink sshconfigYesNo sshconfigEnum
+ HiLink sshconfigCipher sshconfigEnum
+ HiLink sshconfigMAC sshconfigEnum
+ HiLink sshconfigHostKeyAlg sshconfigEnum
+ HiLink sshconfigLogLevel sshconfigEnum
+ HiLink sshconfigSysLogFacility sshconfigEnum
+ HiLink sshconfigPreferredAuth sshconfigEnum
+ HiLink sshconfigVar sshconfigEnum
+ HiLink sshconfigEnum Identifier
+ HiLink sshconfigSpecial Special
+ HiLink sshconfigKeyword Keyword
+ HiLink sshconfigHostSect Type
+ delcommand HiLink
endif
let b:current_syntax = "sshconfig"
-
diff --git a/runtime/syntax/sshdconfig.vim b/runtime/syntax/sshdconfig.vim
index 2217e096..97ee8f87 100644
--- a/runtime/syntax/sshdconfig.vim
+++ b/runtime/syntax/sshdconfig.vim
@@ -1,23 +1,21 @@
" Vim syntax file
-" This is a GENERATED FILE. Please always refer to source file at the URI below.
" Language: OpenSSH server configuration file (sshd_config)
-" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
-" Last Change: 2006-03-05
-" URL: http://trific.ath.cx/Ftp/vim/syntax/sshdconfig.vim
+" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
+" Last Change: 2009-07-09
" Setup
if version >= 600
- if exists("b:current_syntax")
- finish
- endif
+ if exists("b:current_syntax")
+ finish
+ endif
else
- syntax clear
+ syntax clear
endif
if version >= 600
- setlocal iskeyword=_,-,a-z,A-Z,48-57
+ setlocal iskeyword=_,-,a-z,A-Z,48-57
else
- set iskeyword=_,-,a-z,A-Z,48-57
+ set iskeyword=_,-,a-z,A-Z,48-57
endif
syn case ignore
@@ -27,78 +25,87 @@ syn match sshdconfigComment "#.*$" contains=sshdconfigTodo
syn keyword sshdconfigTodo TODO FIXME NOT contained
" Constants
-syn keyword sshdconfigYesNo yes no
+syn keyword sshdconfigYesNo yes no none
+syn keyword sshdconfigAddressFamily any inet inet6
syn keyword sshdconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes256-ctr
syn keyword sshdconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
syn keyword sshdconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
syn keyword sshdconfigMAC hmac-md5-96
+syn match sshdconfigMAC "\<umac-64@openssh\.com\>"
syn keyword sshdconfigRootLogin without-password forced-commands-only
syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
-syn keyword sshdconfigSysLogFacility DAEMON USER AUTH LOCAL0 LOCAL1 LOCAL2
-syn keyword sshdconfigSysLogFacility LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
+syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
+syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
syn match sshdconfigSpecial "[*?]"
syn match sshdconfigNumber "\d\+"
syn match sshdconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
syn match sshdconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
+" FIXME: this matches quite a few things which are NOT valid IPv6 addresses
syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>"
syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>"
" Keywords
-syn keyword sshdconfigKeyword AcceptEnv AddressFamily
+syn keyword sshdconfigMatch Host User Group Address
+syn keyword sshdconfigKeyword AcceptEnv AddressFamily AllowAgentForwarding
syn keyword sshdconfigKeyword AllowGroups AllowTcpForwarding
-syn keyword sshdconfigKeyword AllowUsers AuthorizedKeysFile Banner
-syn keyword sshdconfigKeyword ChallengeResponseAuthentication
+syn keyword sshdconfigKeyword AllowUsers AuthorizedKeysFile
+syn keyword sshdconfigKeyword Banner
+syn keyword sshdconfigKeyword ChallengeResponseAuthentication ChrootDirectory
syn keyword sshdconfigKeyword Ciphers ClientAliveCountMax
syn keyword sshdconfigKeyword ClientAliveInterval Compression
-syn keyword sshdconfigKeyword DenyGroups DenyUsers GSSAPIAuthentication
-syn keyword sshdconfigKeyword GSSAPICleanupCredentials GatewayPorts
-syn keyword sshdconfigKeyword HostKey HostbasedAuthentication
+syn keyword sshdconfigKeyword DenyGroups DenyUsers
+syn keyword sshdconfigKeyword ForceCommand
+syn keyword sshdconfigKeyword GatewayPorts GSSAPIAuthentication
+syn keyword sshdconfigKeyword GSSAPICleanupCredentials
+syn keyword sshdconfigKeyword HostbasedAuthentication HostKey
syn keyword sshdconfigKeyword IgnoreRhosts IgnoreUserKnownHosts
-syn keyword sshdconfigKeyword KerberosAuthentication KerberosOrLocalPasswd
-syn keyword sshdconfigKeyword KerberosTgtPassing KerberosTicketCleanup
-syn keyword sshdconfigKeyword KerberosGetAFSToken
-syn keyword sshdconfigKeyword KeyRegenerationInterval ListenAddress
-syn keyword sshdconfigKeyword LogLevel LoginGraceTime MACs MaxAuthTries
-syn keyword sshdconfigKeyword MaxStartups PasswordAuthentication
-syn keyword sshdconfigKeyword PermitEmptyPasswords PermitRootLogin
+syn keyword sshdconfigKeyword KerberosAuthentication KerberosGetAFSToken
+syn keyword sshdconfigKeyword KerberosOrLocalPasswd KerberosTicketCleanup
+syn keyword sshdconfigKeyword KeyRegenerationInterval
+syn keyword sshdconfigKeyword ListenAddress LoginGraceTime LogLevel
+syn keyword sshdconfigKeyword MACs Match MaxAuthTries MaxSessions MaxStartups
+syn keyword sshdconfigKeyword PasswordAuthentication PermitEmptyPasswords
+syn keyword sshdconfigKeyword PermitRootLogin PermitOpen PermitTunnel
syn keyword sshdconfigKeyword PermitUserEnvironment PidFile Port
syn keyword sshdconfigKeyword PrintLastLog PrintMotd Protocol
-syn keyword sshdconfigKeyword PubkeyAuthentication RSAAuthentication
-syn keyword sshdconfigKeyword RhostsAuthentication RhostsRSAAuthentication
-syn keyword sshdconfigKeyword ServerKeyBits StrictModes Subsystem
-syn keyword sshdconfigKeyword ShowPatchLevel
-syn keyword sshdconfigKeyword SyslogFacility TCPKeepAlive UseDNS
-syn keyword sshdconfigKeyword UseLogin UsePAM UsePrivilegeSeparation
+syn keyword sshdconfigKeyword PubkeyAuthentication
+syn keyword sshdconfigKeyword RhostsRSAAuthentication RSAAuthentication
+syn keyword sshdconfigKeyword ServerKeyBits ShowPatchLevel StrictModes
+syn keyword sshdconfigKeyword Subsystem SyslogFacility
+syn keyword sshdconfigKeyword TCPKeepAlive
+syn keyword sshdconfigKeyword UseDNS UseLogin UsePAM UsePrivilegeSeparation
syn keyword sshdconfigKeyword X11DisplayOffset X11Forwarding
syn keyword sshdconfigKeyword X11UseLocalhost XAuthLocation
" Define the default highlighting
if version >= 508 || !exists("did_sshdconfig_syntax_inits")
- if version < 508
- let did_sshdconfig_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
+ if version < 508
+ let did_sshdconfig_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
- HiLink sshdconfigComment Comment
- HiLink sshdconfigTodo Todo
- HiLink sshdconfigHostPort sshdconfigConstant
- HiLink sshdconfigTime sshdconfigConstant
- HiLink sshdconfigNumber sshdconfigConstant
- HiLink sshdconfigConstant Constant
- HiLink sshdconfigYesNo sshdconfigEnum
- HiLink sshdconfigCipher sshdconfigEnum
- HiLink sshdconfigMAC sshdconfigEnum
- HiLink sshdconfigRootLogin sshdconfigEnum
- HiLink sshdconfigLogLevel sshdconfigEnum
- HiLink sshdconfigSysLogFacility sshdconfigEnum
- HiLink sshdconfigEnum Function
- HiLink sshdconfigSpecial Special
- HiLink sshdconfigKeyword Keyword
- delcommand HiLink
+ HiLink sshdconfigComment Comment
+ HiLink sshdconfigTodo Todo
+ HiLink sshdconfigHostPort sshdconfigConstant
+ HiLink sshdconfigTime sshdconfigConstant
+ HiLink sshdconfigNumber sshdconfigConstant
+ HiLink sshdconfigConstant Constant
+ HiLink sshdconfigYesNo sshdconfigEnum
+ HiLink sshdconfigAddressFamily sshdconfigEnum
+ HiLink sshdconfigCipher sshdconfigEnum
+ HiLink sshdconfigMAC sshdconfigEnum
+ HiLink sshdconfigRootLogin sshdconfigEnum
+ HiLink sshdconfigLogLevel sshdconfigEnum
+ HiLink sshdconfigSysLogFacility sshdconfigEnum
+ HiLink sshdconfigEnum Function
+ HiLink sshdconfigSpecial Special
+ HiLink sshdconfigKeyword Keyword
+ HiLink sshdconfigMatch Type
+ delcommand HiLink
endif
let b:current_syntax = "sshdconfig"
diff --git a/runtime/syntax/svn.vim b/runtime/syntax/svn.vim
index bb4f5944..0cd770a2 100644
--- a/runtime/syntax/svn.vim
+++ b/runtime/syntax/svn.vim
@@ -2,7 +2,7 @@
" Language: Subversion (svn) commit file
" Maintainer: Dmitry Vasiliev <dima at hlabs dot spb dot ru>
" URL: http://www.hlabs.spb.ru/vim/svn.vim
-" Revision: $Id$
+" Revision: $Id: svn.vim 683 2008-07-30 11:52:38Z hdima $
" Filenames: svn-commit*.tmp
" Version: 1.6
diff --git a/runtime/syntax/tads.vim b/runtime/syntax/tads.vim
index 70ffe6f2..260ff360 100644
--- a/runtime/syntax/tads.vim
+++ b/runtime/syntax/tads.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: TADS
" Maintainer: Amir Karger <karger@post.harvard.edu>
-" $Date$
-" $Revision$
+" $Date: 2004/06/13 19:28:45 $
+" $Revision: 1.1 $
" Stolen from: Bram Moolenaar's C language file
" Newest version at: http://www.hec.utah.edu/~karger/vim/syntax/tads.vim
" History info at the bottom of the file
diff --git a/runtime/syntax/taskdata.vim b/runtime/syntax/taskdata.vim
new file mode 100644
index 00000000..79186e0a
--- /dev/null
+++ b/runtime/syntax/taskdata.vim
@@ -0,0 +1,43 @@
+" Vim syntax file
+" Language: task data
+" Maintainer: John Florian <jflorian@doubledog.org>
+" Updated: Wed Jul 8 19:46:20 EDT 2009
+
+
+" For version 5.x: Clear all syntax items.
+" For version 6.x: Quit when a syntax file was already loaded.
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" Key Names for values.
+syn keyword taskdataKey description due end entry imask mask parent
+syn keyword taskdataKey priority project recur start status tags uuid
+syn match taskdataKey "annotation_\d\+"
+syn match taskdataUndo "^time.*$"
+syn match taskdataUndo "^\(old \|new \|---\)"
+
+" Values associated with key names.
+"
+" Strings
+syn region taskdataString matchgroup=Normal start=+"+ end=+"+
+ \ contains=taskdataEncoded,taskdataUUID,@Spell
+"
+" Special Embedded Characters (e.g., "&comma;")
+syn match taskdataEncoded "&\a\+;" contained
+" UUIDs
+syn match taskdataUUID "\x\{8}-\(\x\{4}-\)\{3}\x\{12}" contained
+
+
+" The default methods for highlighting. Can be overridden later.
+hi def link taskdataEncoded Function
+hi def link taskdataKey Statement
+hi def link taskdataString String
+hi def link taskdataUUID Special
+hi def link taskdataUndo Type
+
+let b:current_syntax = "taskdata"
+
+" vim:noexpandtab
diff --git a/runtime/syntax/taskedit.vim b/runtime/syntax/taskedit.vim
new file mode 100644
index 00000000..c7e0ea75
--- /dev/null
+++ b/runtime/syntax/taskedit.vim
@@ -0,0 +1,35 @@
+" Vim syntax file
+" Language: support for 'task 42 edit'
+" Maintainer: John Florian <jflorian@doubledog.org>
+" Updated: Wed Jul 8 19:46:32 EDT 2009
+
+
+" For version 5.x: Clear all syntax items.
+" For version 6.x: Quit when a syntax file was already loaded.
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+syn match taskeditHeading "^\s*#\s*Name\s\+Editable details\s*$" contained
+syn match taskeditHeading "^\s*#\s*-\+\s\+-\+\s*$" contained
+syn match taskeditReadOnly "^\s*#\s*\(UU\)\?ID:.*$" contained
+syn match taskeditReadOnly "^\s*#\s*Status:.*$" contained
+syn match taskeditReadOnly "^\s*#\s*i\?Mask:.*$" contained
+syn match taskeditKey "^ *.\{-}:" nextgroup=taskeditString
+syn match taskeditComment "^\s*#.*$"
+ \ contains=taskeditReadOnly,taskeditHeading
+syn match taskeditString ".*$" contained contains=@Spell
+
+
+" The default methods for highlighting. Can be overridden later.
+hi def link taskeditComment Comment
+hi def link taskeditHeading Function
+hi def link taskeditKey Statement
+hi def link taskeditReadOnly Special
+hi def link taskeditString String
+
+let b:current_syntax = "taskedit"
+
+" vim:noexpandtab
diff --git a/runtime/syntax/tcl.vim b/runtime/syntax/tcl.vim
index e9562d65..d15422da 100644
--- a/runtime/syntax/tcl.vim
+++ b/runtime/syntax/tcl.vim
@@ -1,13 +1,16 @@
" Vim syntax file
-" Language: TCL/TK
-" Maintainer: Brett Cannon <brett@python.org>
+" Language: Tcl/Tk
+" Maintainer: Taylor Venable <taylor@metasyntax.net>
+" (previously Brett Cannon <brett@python.org>)
" (previously Dean Copsey <copsey@cs.ucdavis.edu>)
" (previously Matt Neumann <mattneu@purpleturtle.com>)
" (previously Allan Kelly <allan@fruitloaf.co.uk>)
" Original: Robin Becker <robin@jessikat.demon.co.uk>
-" Last Change: 2006 Nov 17
+" Last Change: 2009/04/06 02:38:36
+" Version: 1.13
+" URL: http://real.metasyntax.net:2357/cvs/cvsweb.cgi/Config/vim/syntax/tcl.vim
"
-" Keywords TODO: format clock click anchor
+" Keywords TODO: click anchor
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -17,19 +20,40 @@ elseif exists("b:current_syntax")
finish
endif
-" A bunch of useful keywords
-syn keyword tclStatement tell socket subst open eof pwd glob list exec pid
-syn keyword tclStatement auto_load_index time unknown eval lrange fblocked
-syn keyword tclStatement lsearch auto_import gets lappend proc variable llength
-syn keyword tclStatement auto_execok return linsert error catch clock info
-syn keyword tclStatement split array fconfigure concat join lreplace source
-syn keyword tclStatement fcopy global auto_qualify update close cd auto_load
-syn keyword tclStatement file append format read package set binary namespace
-syn keyword tclStatement scan trace seek flush after vwait uplevel lset rename
-syn keyword tclStatement fileevent regexp upvar unset encoding expr load regsub
-syn keyword tclStatement interp exit puts incr lindex lsort tclLog string
+" Basic Tcl commands: http://www.tcl.tk/man/tcl8.5/TclCmd/contents.htm
+syn keyword tclCommand after append apply array bgerror binary catch cd chan clock
+syn keyword tclCommand close concat dde dict encoding eof error eval exec exit
+syn keyword tclCommand expr fblocked fconfigure fcopy file fileevent filename flush
+syn keyword tclCommand format gets glob global history incr info interp join
+syn keyword tclCommand lappend lassign lindex linsert list llength load lrange lrepeat
+syn keyword tclCommand lreplace lreverse lsearch lset lsort memory namespace open package
+syn keyword tclCommand pid proc puts pwd read regexp registry regsub rename return
+syn keyword tclCommand scan seek set socket source split string subst tell time
+syn keyword tclCommand trace unknown unload unset update uplevel upvar variable vwait
+
+" The 'Tcl Standard Library' commands: http://www.tcl.tk/man/tcl8.5/TclCmd/library.htm
+syn keyword tclCommand auto_execok auto_import auto_load auto_mkindex auto_mkindex_old
+syn keyword tclCommand auto_qualify auto_reset parray tcl_endOfWord tcl_findLibrary
+syn keyword tclCommand tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter
+syn keyword tclCommand tcl_wordBreakBefore
+
+" Commands that were added in Tcl 8.6
+
+syn keyword tclCommand my oo::copy oo::define oo::objdefine self
+syn keyword tclCommand coroutine tailcall throw yield
+
+" Global variables used by Tcl: http://www.tcl.tk/man/tcl8.5/TclCmd/tclvars.htm
+syn keyword tclVars env errorCode errorInfo tcl_library tcl_patchLevel tcl_pkgPath
+syn keyword tclVars tcl_platform tcl_precision tcl_rcFileName tcl_traceCompile
+syn keyword tclVars tcl_traceExec tcl_wordchars tcl_nonwordchars tcl_version argc argv
+syn keyword tclVars argv0 tcl_interactive geometry
+
+" Strings which expr accepts as boolean values, aside from zero / non-zero.
+syn keyword tclBoolean true false on off yes no
+
syn keyword tclLabel case default
syn keyword tclConditional if then else elseif switch
+syn keyword tclConditional try finally
syn keyword tclRepeat while for foreach break continue
syn keyword tcltkSwitch contained insert create polygon fill outline tag
@@ -63,9 +87,14 @@ syn keyword tcltkWidgetSwitch contained activerelief elementborderwidth
syn keyword tcltkWidgetSwitch contained delete names types create
" variable reference
" ::optional::namespaces
-syn match tclVarRef "$\(\(::\)\?\([[:alnum:]_.]*::\)*\)\a[a-zA-Z0-9_.]*"
+syn match tclVarRef "$\(\(::\)\?\([[:alnum:]_]*::\)*\)\a[[:alnum:]_]*"
" ${...} may contain any character except '}'
syn match tclVarRef "${[^}]*}"
+
+" The syntactic unquote-splicing replacement for [expand].
+syn match tclExpand '\s{\*}'
+syn match tclExpand '^{\*}'
+
" menu, mane add
syn keyword tcltkWidgetSwitch contained active end last none cascade checkbutton command radiobutton separator
syn keyword tcltkWidgetSwitch contained activebackground actveforeground accelerator background bitmap columnbreak
@@ -130,11 +159,10 @@ syn region tcltkCommand matchgroup=tcltkCommandColor start="\<namespace\>" match
" EXPR
" commands associated with expr
-syn keyword tcltkMaths contained acos cos hypot sinh
-syn keyword tcltkMaths contained asin cosh log sqrt
-syn keyword tcltkMaths contained atan exp log10 tan
-syn keyword tcltkMaths contained atan2 floor pow tanh
-syn keyword tcltkMaths contained ceil fmod sin
+syn keyword tcltkMaths contained abs acos asin atan atan2 bool ceil cos cosh double entier
+syn keyword tcltkMaths contained exp floor fmod hypot int isqrt log log10 max min pow rand
+syn keyword tcltkMaths contained round sin sinh sqrt srand tan tanh wide
+
syn region tcltkCommand matchgroup=tcltkCommandColor start="\<expr\>" matchgroup=NONE skip="^\s*$" end="]\|[^\\]*\s*$"me=e-1 contains=tclLineContinue,tcltkMaths,tclNumber,tclVarRef,tclString,tcltlWidgetSwitch,tcltkCommand,tcltkPackConf
" format
@@ -165,17 +193,26 @@ syn region tcltkCommand matchgroup=tcltkCommandColor start="\<lsort\>" matchgrou
syn keyword tclTodo contained TODO
+" Sequences which are backslash-escaped: http://www.tcl.tk/man/tcl8.5/TclCmd/Tcl.htm#M16
+" Octal, hexadecimal, unicode codepoints, and the classics.
+" Tcl takes as many valid characters in a row as it can, so \xAZ in a string is newline followed by 'Z'.
+syn match tclSpecial contained '\\\([0-7]\{1,3}\|x\x\{1,2}\|u\x\{1,4}\|[abfnrtv]\)'
+syn match tclSpecial contained '\\[\[\]\{\}\"\$]'
-" String and Character contstants
-" Highlight special characters (those which have a backslash) differently
-syn match tclSpecial contained "\\\d\d\d\=\|\\."
+" Command appearing inside another command or inside a string.
+syn region tclEmbeddedStatement start='\[' end='\]' contained contains=tclCommand,tclNumber,tclLineContinue,tclString,tclVarRef,tclEmbeddedStatement
" A string needs the skip argument as it may legitimately contain \".
" Match at start of line
syn region tclString start=+^"+ end=+"+ contains=tclSpecial skip=+\\\\\|\\"+
"Match all other legal strings.
-syn region tclString start=+[^\\]"+ms=s+1 end=+"+ contains=tclSpecial skip=+\\\\\|\\"+
+syn region tclString start=+[^\\]"+ms=s+1 end=+"+ contains=tclSpecial,tclVarRef,tclEmbeddedStatement skip=+\\\\\|\\"+
-syn match tclLineContinue "\\\s*$"
+" Line continuation is backslash immediately followed by newline.
+syn match tclLineContinue '\\$'
+
+if exists('g:tcl_warn_continuation')
+ syn match tclNotLineContinue '\\\s\+$'
+endif
"integer number, or floating point number without a dot and with "f".
syn case ignore
@@ -208,13 +245,13 @@ if version >= 508 || !exists("did_tcl_syntax_inits")
endif
HiLink tcltkSwitch Special
+ HiLink tclExpand Special
HiLink tclLabel Label
HiLink tclConditional Conditional
HiLink tclRepeat Repeat
HiLink tclNumber Number
HiLink tclError Error
- HiLink tclStatement Statement
- "HiLink tclStatementColor Statement
+ HiLink tclCommand Statement
HiLink tclString String
HiLink tclComment Comment
HiLink tclSpecial Special
@@ -223,6 +260,9 @@ if version >= 508 || !exists("did_tcl_syntax_inits")
HiLink tcltkCommandColor Statement
HiLink tcltkWidgetColor Structure
HiLink tclLineContinue WarningMsg
+if exists('g:tcl_warn_continuation')
+ HiLink tclNotLineContinue ErrorMsg
+endif
HiLink tcltkStringSwitch Special
HiLink tcltkArraySwitch Special
HiLink tcltkLsortSwitch Special
@@ -232,7 +272,6 @@ if version >= 508 || !exists("did_tcl_syntax_inits")
HiLink tcltkNamespaceSwitch Special
HiLink tcltkWidgetSwitch Special
HiLink tcltkPackConfColor Identifier
- "HiLink tcltkLsort Statement
HiLink tclVarRef Identifier
delcommand HiLink
@@ -240,4 +279,4 @@ endif
let b:current_syntax = "tcl"
-" vim: ts=8
+" vim: ts=8 noet
diff --git a/runtime/syntax/tcsh.vim b/runtime/syntax/tcsh.vim
index 94c4181c..b535d11d 100644
--- a/runtime/syntax/tcsh.vim
+++ b/runtime/syntax/tcsh.vim
@@ -1,6 +1,6 @@
" tcsh.vim: Vim syntax file for tcsh scripts
-" Maintainer: Gautam Iyer <gi1242@users.sourceforge.net>
-" Modified: Sat 16 Jun 2007 04:52:12 PM PDT
+" Maintainer: Gautam Iyer <gi1242@gmail.com>
+" Modified: Thu 17 Dec 2009 06:05:07 PM EST
"
" Description: We break up each statement into a "command" and an "end" part.
" All groups are either a "command" or part of the "end" of a statement (ie
@@ -60,7 +60,7 @@ syn region tcshEnvEnd contained transparent matchgroup=tcshBuiltin start='' ski
" alias and unalias (contains special aliases)
syn keyword tcshAliases contained beepcmd cwdcmd jobcmd helpcommand periodic precmd postcmd shell
syn keyword tcshBuiltin nextgroup=tcshAliCmd skipwhite alias unalias
-syn match tcshAliCmd contained nextgroup=tcshAliEnd skipwhite '\v[\w-]+' contains=tcshAliases
+syn match tcshAliCmd contained nextgroup=tcshAliEnd skipwhite '\v(\w|-)+' contains=tcshAliases
syn region tcshAliEnd contained transparent matchgroup=tcshBuiltin start='' skip='\\$' end='$\|;' contains=@tcshStatementEnds
" if statements
@@ -197,7 +197,11 @@ syn match tcshSpecial contained '\v\\%([0-7]{3}|.)'
" ----- Synchronising -----
if exists('tcsh_minlines')
- exec 'syn sync minlines=' . tcsh_minlines
+ if tcsh_minlines == 'fromstart'
+ syn sync fromstart
+ else
+ exec 'syn sync minlines=' . tcsh_minlines
+ endif
else
syn sync minlines=100 " Some completions can be quite long
endif
diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim
index 1393a582..ff171d37 100644
--- a/runtime/syntax/tex.vim
+++ b/runtime/syntax/tex.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: TeX
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
-" Last Change: Jun 03, 2008
-" Version: 41
+" Last Change: Dec 28, 2009
+" Version: 46
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Notes: {{{1
@@ -103,6 +103,7 @@ endif
syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement
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
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
+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
syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter
if !exists("tex_no_math")
syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ
@@ -179,24 +180,24 @@ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
" \begin{}/\end{} section markers: {{{1
syn match texSectionMarker "\\begin\>\|\\end\>" nextgroup=texSectionName
-syn region texSectionName matchgroup=Delimiter start="{" end="}" contained nextgroup=texSectionModifier
-syn region texSectionModifier matchgroup=Delimiter start="\[" end="]" contained
+syn region texSectionName matchgroup=Delimiter start="{" end="}" contained nextgroup=texSectionModifier contains=texComment
+syn region texSectionModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment
" \documentclass, \documentstyle, \usepackage: {{{1
syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texSectionName,texDocTypeArgs
-syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texSectionName
+syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texSectionName contains=texComment
" Preamble syntax-based folding support: {{{1
if g:tex_fold_enabled && has("folding")
- syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=@texMatchGroup
+ syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=texStyle,@texMatchGroup
endif
" TeX input: {{{1
syn match texInput "\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7 contains=texStatement
-syn match texInputFile "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}" contains=texStatement,texInputCurlies
+syn match texInputFile "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
syn match texInputFile "\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
syn match texInputCurlies "[{}]" contained
-syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained
+syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained contains=texComment
" Type Styles (LaTeX 2.09): {{{1
syn match texTypeStyle "\\rm\>"
@@ -309,7 +310,7 @@ if !exists("tex_no_math")
exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
- exe 'HiLink '.grpname.' texMath'
+ exe 'hi def link '.grpname.' texMath'
if a:starform
let grpname = "texMathZone".a:sfx.'S'
let syncname = "texSyncMathZone".a:sfx.'S'
@@ -317,7 +318,7 @@ if !exists("tex_no_math")
exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
- exe 'HiLink '.grpname.' texMath'
+ exe 'hi def link '.grpname.' texMath'
endif
endfun
@@ -399,7 +400,7 @@ endif
" Separate lines used for verb` and verb# so that the end conditions {{{1
" will appropriately terminate. Ideally vim would let me save a
" character from the start pattern and re-use it in the end-pattern.
-syn region texZone start="\\begin{verbatim}" end="\\end{verbatim}\|%stopzone\>" contains=@Spell
+syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell
" listings package:
syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>" contains=@Spell
" moreverb package:
@@ -456,6 +457,14 @@ syn match texLength "\<\d\+\([.,]\d\+\)\=\s*\(true\)\=\s*\(bp\|cc\|cm\|dd\|em\
" TeX String Delimiters: {{{1
syn match texString "\(``\|''\|,,\)"
+" makeatletter -- makeatother sections
+if !exists("g:tex_no_error")
+ syn region texStyle matchgroup=texStatement start='\\makeatletter' end='\\makeatother' contains=@texStyleGroup contained
+ syn match texStyleStatement "\\[a-zA-Z@]\+" contained
+ syn region texStyleMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texStyleGroup,texError contained
+ syn region texStyleMatcher matchgroup=Delimiter start="\[" end="]" contains=@texStyleGroup,texError contained
+endif
+
" LaTeX synchronization: {{{1
syn sync maxlines=200
syn sync minlines=50
@@ -507,6 +516,7 @@ if did_tex_syntax_inits == 1
HiLink texMathDelimSet2 texMathDelim
HiLink texMathDelimKey texMathDelim
HiLink texMathMatcher texMath
+ HiLink texMathZoneV texMath
HiLink texMathZoneW texMath
HiLink texMathZoneX texMath
HiLink texMathZoneY texMath
@@ -516,6 +526,7 @@ if did_tex_syntax_inits == 1
HiLink texSectionMarker texCmdName
HiLink texSectionName texSection
HiLink texSpaceCode texStatement
+ HiLink texStyleStatement texStatement
HiLink texTypeSize texType
HiLink texTypeStyle texType
diff --git a/runtime/syntax/tilde.vim b/runtime/syntax/tilde.vim
index 56880501..3fdebf1e 100644
--- a/runtime/syntax/tilde.vim
+++ b/runtime/syntax/tilde.vim
@@ -3,7 +3,7 @@
" Language: Tilde
" Maintainer: Tobias Rundström <tobi@tildesoftware.net>
" URL: http://www.tildesoftware.net
-" CVS: $Id$
+" CVS: $Id: tilde.vim,v 1.1 2004/06/13 19:31:51 vimboss Exp $
if exists("b:current_syntax")
finish
diff --git a/runtime/syntax/uil.vim b/runtime/syntax/uil.vim
index bdc4e95b..a4399844 100644
--- a/runtime/syntax/uil.vim
+++ b/runtime/syntax/uil.vim
@@ -1,8 +1,9 @@
" Vim syntax file
" Language: Motif UIL (User Interface Language)
" Maintainer: Thomas Koehler <jean-luc@picard.franken.de>
-" Last Change: 2002 Sep 20
-" URL: http://jeanluc-picard.de/vim/syntax/uil.vim
+" Last Change: 2009 Dec 04
+" URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/uil.vim
+
" Quit when a syntax file was already loaded
if version < 600
diff --git a/runtime/syntax/updatedb.vim b/runtime/syntax/updatedb.vim
index 4f912d4d..7c082d62 100644
--- a/runtime/syntax/updatedb.vim
+++ b/runtime/syntax/updatedb.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: updatedb.conf(5) configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2007-10-25
+" Latest Revision: 2009-05-25
if exists("b:current_syntax")
finish
@@ -18,7 +18,11 @@ syn region updatedbComment display oneline start='^\s*#' end='$'
syn match updatedbBegin display '^'
\ nextgroup=updatedbName,updatedbComment skipwhite
-syn keyword updatedbName contained PRUNEFS PRUNEPATHS PRUNE_BIND_MOUNTS
+syn keyword updatedbName contained
+ \ PRUNEFS
+ \ PRUNENAMES
+ \ PRUNEPATHS
+ \ PRUNE_BIND_MOUNTS
\ nextgroup=updatedbNameEq
syn match updatedbNameEq contained display '=' nextgroup=updatedbValue
diff --git a/runtime/syntax/vhdl.vim b/runtime/syntax/vhdl.vim
index 96fbcd62..4ac3b6d8 100644
--- a/runtime/syntax/vhdl.vim
+++ b/runtime/syntax/vhdl.vim
@@ -2,7 +2,7 @@
" Language: VHDL
" Maintainer: Czo <Olivier.Sirol@lip6.fr>
" Credits: Stephan Hegel <stephan.hegel@snc.siemens.com.cn>
-" $Id$
+" $Id: vhdl.vim,v 1.1 2004/06/13 15:34:56 vimboss Exp $
" VHSIC Hardware Description Language
" Very High Scale Integrated Circuit
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 5bfcd660..22afcf40 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 7.2 script
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change: July 29, 2008
-" Version: 7.2-82
+" Last Change: Nov 18, 2009
+" Version: 7.2-95
" Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2
@@ -16,11 +16,11 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX
syn cluster vimCommentGroup contains=vimTodo,@Spell
" regular vim commands {{{2
-syn keyword vimCommand contained abc[lear] argdo argu[ment] bel[owright] bN[ext] breakd[el] b[uffer] caddb[uffer] cb[uffer] cex[pr] cg[etfile] checkt[ime] cnew[er] col[der] con[tinue] cq[uit] delc[ommand] diffoff diffu[pdate] dr[op] echom[sg] em[enu] endt[ry] exu[sage] fin[d] foldc[lose] fu[nction] ha[rdcopy] helpt[ags] if is[earch] ju[mps] kee[pmarks] lan[guage] lc[d] lefta[bove] lgetb[uffer] lgrepa[dd] lla[st] lmapc[lear] lnf[ile] loc[kmarks] lpf[ile] lt[ag] mak[e] menut[ranslate] mkvie[w] mzf[ile] n[ext] nu[mber] opt[ions] perld[o] pp[op] P[rint] promptr[epl] ptj[ump] ptp[revious] pw[d] q[uit] redi[r] reg[isters] rew[ind] rubyd[o] sal[l] sba[ll] sbn[ext] sb[uffer] setf[iletype] sfir[st] sim[alt] sm[ap] sn[ext] snor[emap] so[urce] spellr[epall] spr[evious] star[tinsert] stopi[nsert] sunmenu t tabe[dit] tabm[ove] tabo[nly] ta[g] tclf[ile] tj[ump] tn[ext] tr[ewind] tu[nmenu] undol[ist] verb[ose] vim[grep] vmapc[lear] wh[ile] win[size] wq wv[iminfo] xm[ap] XMLent xnoremenu
-syn keyword vimCommand contained abo[veleft] arge[dit] as[cii] bf[irst] bo[tright] breakl[ist] buffers cad[dexpr] cc cf[ile] c[hange] cla[st] cn[ext] colo[rscheme] cope[n] cr[ewind] d[elete] diffpatch dig[raphs] ds[earch] echon emenu* endw[hile] f[ile] fini[sh] folddoc[losed] go[to] h[elp] hid[e] ij[ump] isp[lit] k laddb[uffer] la[st] lch[dir] lex[pr] lgete[xpr] lh[elpgrep] lli[st] lnew[er] lNf[ile] lockv[ar] lp[revious] lv[imgrep] ma[rk] mk[exrc] mkv[imrc] mz[scheme] N[ext] omapc[lear] pc[lose] po[p] pre[serve] profd[el] ps[earch] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red[o] res[ize] ri[ght] rubyf[ile] san[dbox] sbf[irst] sbN[ext] scripte[ncoding] setg[lobal] sh[ell] sla[st] smapc[lear] sN[ext] snoreme spelld[ump] spellu[ndo] sre[wind] startr[eplace] sts[elect] sus[pend] tab tabf[ind] tabnew tabp[revious] tags te[aroff] tl[ast] tN[ext] try una[bbreviate] unh[ide] ve[rsion] vimgrepa[dd] vne[w] winc[md] wn[ext] wqa[ll] X xmapc[lear] XMLns xunme
-syn keyword vimCommand contained al[l] argg[lobal] bad[d] bl[ast] bp[revious] br[ewind] bun[load] caddf[ile] ccl[ose] cfir[st] changes cl[ist] cN[ext] comc[lear] co[py] cuna[bbrev] delf[unction] diffpu[t] di[splay] dsp[lit] e[dit] endfo[r] ene[w] files fir[st] foldd[oopen] gr[ep] helpf[ind] his[tory] il[ist] iuna[bbrev] keepalt lad[dexpr] later lcl[ose] lf[ile] lg[etfile] l[ist] lmak[e] lne[xt] ln[oremap] lol[der] lr[ewind] lvimgrepa[dd] marks mks[ession] mod[e] nbkey nmapc[lear] on[ly] ped[it] popu prev[ious] prof[ile] pta[g] ptn[ext] pts[elect] py[thon] r[ead] redr[aw] ret[ab] rightb[elow] ru[ntime] sa[rgument] sbl[ast] sbp[revious] scrip[tnames] setl[ocal] sign sl[eep] sme sni[ff] snoremenu spe[llgood] spellw[rong] sta[g] stj[ump] sun[hide] sv[iew] tabc[lose] tabfir[st] tabn[ext] tabr[ewind] tc[l] tf[irst] tm to[pleft] ts[elect] u[ndo] unlo[ckvar] vert[ical] vi[sual] vs[plit] windo wN[ext] w[rite] xa[ll] xme xn[oremap] xunmenu
-syn keyword vimCommand contained arga[dd] argl[ocal] ba[ll] bm[odified] brea[k] bro[wse] bw[ipeout] cal[l] cd cgetb[uffer] chd[ir] clo[se] cnf[ile] comp[iler] cpf[ile] cw[indow] delm[arks] diffsplit dj[ump] earlier el[se] endf[unction] ex filetype fix[del] foldo[pen] grepa[dd] helpg[rep] iabc[lear] imapc[lear] j[oin] keepj[umps] laddf[ile] lb[uffer] le[ft] lfir[st] lgr[ep] ll lm[ap] lN[ext] lo[adview] lop[en] ls lw[indow] mat[ch] mksp[ell] m[ove] new noh[lsearch] o[pen] pe[rl] popu[p] p[rint] promptf[ind] ptf[irst] ptN[ext] pu[t] qa[ll] rec[over] redraws[tatus] retu[rn] rub[y] rv[iminfo] sav[eas] sbm[odified] sbr[ewind] se[t] sf[ind] sil[ent] sm[agic] smenu sno[magic] sor[t] spelli[nfo] sp[lit] startg[replace] st[op] sunme syncbind tabd[o] tabl[ast] tabN[ext] tabs tcld[o] th[row] tm[enu] tp[revious] tu undoj[oin] up[date] vie[w] viu[sage] wa[ll] winp[os] wp[revious] ws[verb] x[it] xmenu xnoreme y[ank]
-syn keyword vimCommand contained argd[elete] ar[gs] bd[elete] bn[ext] breaka[dd] bufdo cabc[lear] cat[ch] ce[nter] cgete[xpr] che[ckpath] cmapc[lear] cNf[ile] conf[irm] cp[revious] debugg[reedy] diffg[et] diffthis dl[ist] echoe[rr] elsei[f] en[dif] exi[t] fina[lly] fo[ld] for
+syn keyword vimCommand contained abc[lear] argdo argu[ment] bel[owright] bN[ext] breakd[el] b[uffer] caddb[uffer] cb[uffer] cex[pr] cg[etfile] checkt[ime] cnew[er] col[der] con[tinue] cq[uit] delc[ommand] diffoff diffu[pdate] dr[op] echom[sg] em[enu] en[dif] ex files fini[sh] foldc[lose] for grepa[dd] helpg[rep] iabc[lear] imapc[lear] j[oin] keepj[umps] laddf[ile] lb[uffer] le[ft] lfir[st] lgr[ep] ll lmapc[lear] lnf[ile] lockv[ar] lp[revious] lv[imgrep] ma[rk] mk[exrc] mkv[imrc] mz[scheme] N[ext] ol[dfiles] opt[ions] perld[o] pp[op] P[rint] promptr[epl] ptj[ump] ptp[revious] pw[d] q[uit] redi[r] reg[isters] rew[ind] rubyd[o] sal[l] sba[ll] sbn[ext] sb[uffer] setf[iletype] sfir[st] sim[alt] sm[ap] sN[ext] snoremenu spe[llgood] spellw[rong] sta[g] stj[ump] sun[hide] sv[iew] tabc[lose] tabfir[st] tabn[ext] tabr[ewind] tc[l] tf[irst] tm to[pleft] ts[elect] u[ndo] unlo[ckvar] vert[ical] vi[sual] vs[plit] windo wN[ext] w[rite] xa[ll] xmenu xnoremenu
+syn keyword vimCommand contained abo[veleft] arge[dit] as[cii] bf[irst] bo[tright] breakl[ist] buffers cad[dexpr] cc cf[ile] c[hange] cla[st] cn[ext] colo[rscheme] cope[n] cr[ewind] d[elete] diffpatch dig[raphs] ds[earch] echon emenu* endt[ry] exi[t] filetype fir[st] folddoc[losed] fu[nction] ha[rdcopy] helpt[ags] if is[earch] ju[mps] kee[pmarks] lan[guage] lc[d] lefta[bove] lgetb[uffer] lgrepa[dd] lla[st] lnew[er] lNf[ile] lol[der] lr[ewind] lvimgrepa[dd] marks mks[ession] mod[e] nbkey nmapc[lear] omapc[lear] pc[lose] po[p] pre[serve] profd[el] ps[earch] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red[o] res[ize] ri[ght] rubyf[ile] san[dbox] sbf[irst] sbN[ext] scripte[ncoding] setg[lobal] sh[ell] sla[st] sme sni[ff] sor[t] spelli[nfo] sp[lit] startg[replace] st[op] sunme syncbind tabd[o] tabl[ast] tabN[ext] tabs tcld[o] th[row] tm[enu] tp[revious] tu undoj[oin] up[date] vie[w] viu[sage] wa[ll] winp[os] wp[revious] ws[verb] x[it] XMLent xunme
+syn keyword vimCommand contained al[l] argg[lobal] bad[d] bl[ast] bp[revious] br[ewind] bun[load] caddf[ile] ccl[ose] cfir[st] changes cl[ist] cN[ext] comc[lear] co[py] cuna[bbrev] delf[unction] diffpu[t] di[splay] dsp[lit] e[dit] endfo[r] endw[hile] exu[sage] fina[lly] fix[del] foldd[oopen] go[to] h[elp] hid[e] ij[ump] isp[lit] k laddb[uffer] la[st] lch[dir] lex[pr] lgete[xpr] lh[elpgrep] lli[st] lne[xt] lo[adview] lop[en] ls lw[indow] mat[ch] mksp[ell] m[ove] new noh[lsearch] on[ly] ped[it] popu prev[ious] prof[ile] pta[g] ptn[ext] pts[elect] py[thon] r[ead] redr[aw] ret[ab] rightb[elow] ru[ntime] sa[rgument] sbl[ast] sbp[revious] scrip[tnames] setl[ocal] sign sl[eep] smenu sno[magic] so[urce] spellr[epall] spr[evious] star[tinsert] stopi[nsert] sunmenu t tabe[dit] tabm[ove] tabo[nly] ta[g] tclf[ile] tj[ump] tn[ext] tr[ewind] tu[nmenu] undol[ist] verb[ose] vim[grep] vmapc[lear] wh[ile] win[size] wq wv[iminfo] xmapc[lear] XMLns xunmenu
+syn keyword vimCommand contained arga[dd] argl[ocal] ba[ll] bm[odified] brea[k] bro[wse] bw[ipeout] cal[l] cd cgetb[uffer] chd[ir] clo[se] cnf[ile] comp[iler] cpf[ile] cw[indow] delm[arks] diffsplit dj[ump] earlier el[se] endf[unction] ene[w] f[ile] fin[d] fo[ld] foldo[pen] gr[ep] helpf[ind] his[tory] il[ist] iuna[bbrev] keepalt lad[dexpr] later lcl[ose] lf[ile] lg[etfile] l[ist] lmak[e] lN[ext] loc[kmarks] lpf[ile] lt[ag] mak[e] menut[ranslate] mkvie[w] mzf[ile] n[ext] nu[mber] o[pen] pe[rl] popu[p] p[rint] promptf[ind] ptf[irst] ptN[ext] pu[t] qa[ll] rec[over] redraws[tatus] retu[rn] rub[y] rv[iminfo] sav[eas] sbm[odified] sbr[ewind] se[t] sf[ind] sil[ent] sm[agic] sn[ext] snoreme spelld[ump] spellu[ndo] sre[wind] startr[eplace] sts[elect] sus[pend] tab tabf[ind] tabnew tabp[revious] tags te[aroff] tl[ast] tN[ext] try una[bbreviate] unh[ide] ve[rsion] vimgrepa[dd] vne[w] winc[md] wn[ext] wqa[ll] X xme xnoreme y[ank]
+syn keyword vimCommand contained argd[elete] ar[gs] bd[elete] bn[ext] breaka[dd] bufdo cabc[lear] cat[ch] ce[nter] cgete[xpr] che[ckpath] cmapc[lear] cNf[ile] conf[irm] cp[revious] debugg[reedy] diffg[et] diffthis dl[ist] echoe[rr] elsei[f]
syn match vimCommand contained "\<z[-+^.=]"
" vimOptions are caught only when contained in a vimSet {{{2
@@ -33,7 +33,7 @@ syn keyword vimOption contained allowrevins arab autoread backup balloonexpr bh
syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt cd ci cinw co completefunc cp cscopetag csto debug dict dir eb enc errorbells expandtab fdl fenc fileformat fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatekey iminsert inde insertmode iskeyword keymodel laststatus lisp lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt ri
" vimOptions: These are the turn-off setting variants {{{2
-syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscopeverbose nocuc nocursorline nodg nodisable noeb noedcompatible noendofline noequalalways noesckeys noex noexrc nofk nofoldenable nogdefault nohid nohk nohkmapp nohls noic noignorecase noimc noimd noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw noremap norevins norightleft norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx novisualbell nowarn noweirdinvert nowfw nowinfixheight nowiv nowrap nowrite nowritebackup
+syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscopeverbose nocuc nocursorline nodg noimdisable noeb noedcompatible noendofline noequalalways noesckeys noex noexrc nofk nofoldenable nogdefault nohid nohk nohkmapp nohls noic noignorecase noimc noimd noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw noremap norevins norightleft norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx novisualbell nowarn noweirdinvert nowfw nowinfixheight nowiv nowrap nowrite nowritebackup
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocst nocul nodeco nodiff noea noed noek noeol noerrorbells noet noexpandtab nofen nofkmap nogd noguipty nohidden nohkmap nohkp nohlsearch noicon noim noimcmdline noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly norestorescreen nori norightleftcmd norlc nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast novb nowa nowb nowfh nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocscopetag nocsverb nocursorcolumn nodelcombine nodigraph
@@ -62,7 +62,7 @@ syn case ignore
syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold CursorHoldI CursorMoved CursorMovedI EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertEnter InsertLeave MenuPopup QuickFixCmdPost QuickFixCmdPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabEnter TabLeave TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave
" Highlight commonly used Groupnames {{{2
-syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
+syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo None
" Default highlighting groups {{{2
syn keyword vimHLGroup contained Cursor CursorColumn CursorIM CursorLine DiffAdd DiffChange DiffDelete DiffText Directory ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
@@ -99,8 +99,9 @@ syn match vimNumber "#\x\{6}"
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=vimAddress,vimAutoCmd,vimCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
syn match vimIsCommand "\<\h\w*\>" contains=vimCommand
syn match vimVar "\<[bwglsav]:\K\k*\>"
-syn match vimVar contained "\<\K\k*\>"
-syn keyword vimCommand contained in
+syn match vimVar contained "\<\K\k*\>"
+syn match vimFBVar contained "\<[bwglsav]:\K\k*\>"
+syn keyword vimCommand contained in
" Insertions And Appends: insert append {{{2
" =======================
@@ -127,7 +128,7 @@ syn keyword vimFTOption contained detect indent off on plugin
" Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2
" ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
-syn cluster vimAugroupList contains=vimIsCommand,vimFunction,vimFunctionError,vimLineComment,vimSpecFile,vimOper,vimNumber,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
+syn cluster vimAugroupList contains=vimIsCommand,vimFuncName,vimFunction,vimFunctionError,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'a'
syn region vimAugroup fold start="\<aug\%[roup]\>\s\+\K\k*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>" contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
else
@@ -141,156 +142,154 @@ syn keyword vimAugroupKey contained aug[roup]
" Operators: {{{2
" =========
-syn cluster vimOperGroup contains=vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
-syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
-syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
-syn region vimOperParen oneline matchgroup=vimOper start="(" end=")" contains=@vimOperGroup
-syn region vimOperParen oneline matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar
+syn cluster vimOperGroup contains=vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
+syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
+syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
+syn region vimOperParen oneline matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
+syn region vimOperParen oneline matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
if !exists("g:vimsyn_noerror")
- syn match vimOperError ")"
+ syn match vimOperError ")"
endif
" Functions : Tag is provided for those who wish to highlight tagged functions {{{2
" =========
-syn cluster vimFuncList contains=vimCommand,vimFuncKey,Tag,vimFuncSID
-syn cluster vimFuncBodyList contains=vimAddress,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimFunc,vimFunction,vimFunctionError,vimFuncVar,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUserCommand
-if !exists("g:vimsyn_noerror")
- syn match vimFunctionError "\<fu\%[nction]!\=\s\+\zs\U\i\{-}\ze\s*(" contains=vimFuncKey,vimFuncBlank nextgroup=vimFuncBody
-endif
-syn match vimFunction "\<fu\%[nction]!\=\s\+\(\(<[sS][iI][dD]>\|[Ss]:\|\u\|\i\+#\)\i*\|\(g:\)\=\(\I\i*\.\)\+\I\i*\)\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
+syn cluster vimFuncList contains=vimCommand,vimFunctionError,vimFuncKey,Tag,vimFuncSID
+syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUserCommand
+syn match vimFunction "\<fu\%[nction]!\=\s\+\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
+
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'f'
- syn region vimFuncBody contained fold start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
+ syn region vimFuncBody contained fold start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
else
- syn region vimFuncBody contained start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
+ syn region vimFuncBody contained start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
endif
-syn match vimFuncVar contained "a:\(\I\i*\|\d\+\)"
-syn match vimFuncSID contained "\c<sid>\|\<s:"
-syn keyword vimFuncKey contained fu[nction]
-syn match vimFuncBlank contained "\s\+"
+syn match vimFuncVar contained "a:\(\K\k*\|\d\+\)"
+syn match vimFuncSID contained "\c<sid>\|\<s:"
+syn keyword vimFuncKey contained fu[nction]
+syn match vimFuncBlank contained "\s\+"
-syn keyword vimPattern contained start skip end
+syn keyword vimPattern contained start skip end
" Special Filenames, Modifiers, Extension Removal: {{{2
" ===============================================
-syn match vimSpecFile "<c\(word\|WORD\)>" nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFile "<\([acs]file\|amatch\|abuf\)>" nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFile "\s%[ \t:]"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFile "\s%$"ms=s+1 nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFile "\s%<"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFileMod "\(:[phtre]\)\+" contained
+syn match vimSpecFile "<c\(word\|WORD\)>" nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFile "<\([acs]file\|amatch\|abuf\)>" nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFile "\s%[ \t:]"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFile "\s%$"ms=s+1 nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFile "\s%<"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFileMod "\(:[phtre]\)\+" contained
" User-Specified Commands: {{{2
" =======================
-syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimCtrlChar,vimEscapeBrace,vimFilter,vimFunc,vimFunction,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
-syn keyword vimUserCommand contained com[mand]
-syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserCommand,@vimUserCmdList
-syn match vimUserAttrb contained "-n\%[args]=[01*?+]" contains=vimUserAttrbKey,vimOper
-syn match vimUserAttrb contained "-com\%[plete]=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
-syn match vimUserAttrb contained "-ra\%[nge]\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
-syn match vimUserAttrb contained "-cou\%[nt]=\d\+" contains=vimNumber,vimOper,vimUserAttrbKey
-syn match vimUserAttrb contained "-bang\=\>" contains=vimOper,vimUserAttrbKey
-syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
-syn match vimUserAttrb contained "-re\%[gister]\>" contains=vimOper,vimUserAttrbKey
+syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimCtrlChar,vimEscapeBrace,vimFilter,vimFunc,vimFuncName,vimFunction,vimFunctionError,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
+syn keyword vimUserCommand contained com[mand]
+syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserCommand,@vimUserCmdList
+syn match vimUserAttrb contained "-n\%[args]=[01*?+]" contains=vimUserAttrbKey,vimOper
+syn match vimUserAttrb contained "-com\%[plete]=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
+syn match vimUserAttrb contained "-ra\%[nge]\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
+syn match vimUserAttrb contained "-cou\%[nt]=\d\+" contains=vimNumber,vimOper,vimUserAttrbKey
+syn match vimUserAttrb contained "-bang\=\>" contains=vimOper,vimUserAttrbKey
+syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
+syn match vimUserAttrb contained "-re\%[gister]\>" contains=vimOper,vimUserAttrbKey
if !exists("g:vimsyn_noerror")
- syn match vimUserCmdError contained "\S\+\>"
+ syn match vimUserCmdError contained "\S\+\>"
endif
syn case ignore
-syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister]
-syn keyword vimUserAttrbCmplt contained augroup buffer command dir environment event expression file function help highlight mapping menu option something tag tag_listfiles var
-syn keyword vimUserAttrbCmplt contained custom customlist nextgroup=vimUserAttrbCmpltFunc,vimUserCmdError
-syn match vimUserAttrbCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%(#\u\w*\)\+\|\u\w*\)"hs=s+1 nextgroup=vimUserCmdError
+syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister]
+syn keyword vimUserAttrbCmplt contained augroup buffer command dir environment event expression file function help highlight mapping menu option shellcmd something tag tag_listfiles var
+syn keyword vimUserAttrbCmplt contained custom customlist nextgroup=vimUserAttrbCmpltFunc,vimUserCmdError
+syn match vimUserAttrbCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%(#\u\w*\)\+\|\u\w*\)"hs=s+1 nextgroup=vimUserCmdError
syn case match
-syn match vimUserAttrbCmplt contained "custom,\u\w*"
+syn match vimUserAttrbCmplt contained "custom,\u\w*"
" Lower Priority Comments: after some vim commands... {{{2
" =======================
-syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
-syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
-syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
-syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
+syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
+syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
+syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
+syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
" Environment Variables: {{{2
" =====================
-syn match vimEnvvar "\$\I\i*"
-syn match vimEnvvar "\${\I\i*}"
+syn match vimEnvvar "\$\I\i*"
+syn match vimEnvvar "\${\I\i*}"
" In-String Specials: {{{2
" Try to catch strings, if nothing else matches (therefore it must precede the others!)
" vimEscapeBrace handles ["] []"] (ie. "s don't terminate string inside [])
-syn region vimEscapeBrace oneline contained transparent start="[^\\]\(\\\\\)*\[\zs\^\=\]\=" skip="\\\\\|\\\]" end="]"me=e-1
-syn match vimPatSepErr contained "\\)"
-syn match vimPatSep contained "\\|"
-syn region vimPatSepZone oneline contained matchgroup=vimPatSepZ start="\\%\=\ze(" skip="\\\\" end="\\)\|[^\]['"]" contains=@vimStringGroup
-syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline
-syn match vimNotPatSep contained "\\\\"
-syn cluster vimStringGroup contains=vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell
-syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=@vimStringGroup
-syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]'+lc=1 end=+'+
-syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup
-syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup
-syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
-syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
-syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
+syn region vimEscapeBrace oneline contained transparent start="[^\\]\(\\\\\)*\[\zs\^\=\]\=" skip="\\\\\|\\\]" end="]"me=e-1
+syn match vimPatSepErr contained "\\)"
+syn match vimPatSep contained "\\|"
+syn region vimPatSepZone oneline contained matchgroup=vimPatSepZ start="\\%\=\ze(" skip="\\\\" end="\\)\|[^\]['"]" contains=@vimStringGroup
+syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline
+syn match vimNotPatSep contained "\\\\"
+syn cluster vimStringGroup contains=vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell
+syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=@vimStringGroup
+syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]'+lc=1 end=+'+
+syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup
+syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup
+syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
+syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
+syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
" Substitutions: {{{2
" =============
-syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
-syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
-syn cluster vimSubstList add=vimCollection
-syn match vimSubst "\(:\+\s*\|^\s*\||\s*\)\<s\%[ubstitute][:[:alpha:]]\@!" nextgroup=vimSubstPat
-syn match vimSubst "s\%[ubstitute][:[:alpha:]]\@!" nextgroup=vimSubstPat contained
-syn match vimSubst "/\zss\%[ubstitute]\ze/" nextgroup=vimSubstPat
-syn match vimSubst1 contained "s\%[ubstitute]\>" nextgroup=vimSubstPat
-syn region vimSubstPat contained matchgroup=vimSubstDelim start="\z([^a-zA-Z( \t[\]&]\)"rs=s+1 skip="\\\\\|\\\z1" end="\z1"re=e-1,me=e-1 contains=@vimSubstList nextgroup=vimSubstRep4 oneline
-syn region vimSubstRep4 contained matchgroup=vimSubstDelim start="\z(.\)" skip="\\\\\|\\\z1" end="\z1" matchgroup=vimNotation end="<[cC][rR]>" contains=@vimSubstRepList nextgroup=vimSubstFlagErr oneline
-syn region vimCollection contained transparent start="\\\@<!\[" skip="\\\[" end="\]" contains=vimCollClass
-syn match vimCollClassErr contained "\[:.\{-\}:\]"
-syn match vimCollClass contained transparent "\[:\(alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\|return\|tab\|escape\|backspace\):\]"
-syn match vimSubstSubstr contained "\\z\=\d"
-syn match vimSubstTwoBS contained "\\\\"
-syn match vimSubstFlagErr contained "[^< \t\r|]\+" contains=vimSubstFlags
-syn match vimSubstFlags contained "[&cegiIpr]\+"
+syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
+syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
+syn cluster vimSubstList add=vimCollection
+syn match vimSubst "\(:\+\s*\|^\s*\||\s*\)\<s\%[ubstitute][:[:alpha:]]\@!" nextgroup=vimSubstPat
+syn match vimSubst "s\%[ubstitute][:#[:alpha:]]\@!" nextgroup=vimSubstPat contained
+syn match vimSubst "/\zss\%[ubstitute]\ze/" nextgroup=vimSubstPat
+syn match vimSubst1 contained "s\%[ubstitute]\>" nextgroup=vimSubstPat
+syn region vimSubstPat contained matchgroup=vimSubstDelim start="\z([^a-zA-Z( \t[\]&]\)"rs=s+1 skip="\\\\\|\\\z1" end="\z1"re=e-1,me=e-1 contains=@vimSubstList nextgroup=vimSubstRep4 oneline
+syn region vimSubstRep4 contained matchgroup=vimSubstDelim start="\z(.\)" skip="\\\\\|\\\z1" end="\z1" matchgroup=vimNotation end="<[cC][rR]>" contains=@vimSubstRepList nextgroup=vimSubstFlagErr oneline
+syn region vimCollection contained transparent start="\\\@<!\[" skip="\\\[" end="\]" contains=vimCollClass
+syn match vimCollClassErr contained "\[:.\{-\}:\]"
+syn match vimCollClass contained transparent "\[:\(alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\|return\|tab\|escape\|backspace\):\]"
+syn match vimSubstSubstr contained "\\z\=\d"
+syn match vimSubstTwoBS contained "\\\\"
+syn match vimSubstFlagErr contained "[^< \t\r|]\+" contains=vimSubstFlags
+syn match vimSubstFlags contained "[&cegiIpr]\+"
" 'String': {{{2
-syn match vimString "[^(,]'[^']\{-}\zs'"
+syn match vimString "[^(,]'[^']\{-}\zs'"
" Marks, Registers, Addresses, Filters: {{{2
-syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimOper,vimMarkNumber,vimSubst
-syn match vimMark "'[<>]\ze[-+,!]" nextgroup=vimOper,vimMarkNumber,vimSubst
-syn match vimMark ",\zs'[<>]\ze" nextgroup=vimOper,vimMarkNumber,vimSubst
-syn match vimMark "[!,:]\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumber,vimSubst
-syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumber,vimSubst
-syn match vimMarkNumber "[-+]\d\+" nextgroup=vimSubst contained contains=vimOper
-syn match vimPlainMark contained "'[a-zA-Z0-9]"
-
-syn match vimRegister '[^,;]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":]'
-syn match vimRegister '\<norm\s\+\zs"[a-zA-Z0-9]'
-syn match vimRegister '\<normal\s\+\zs"[a-zA-Z0-9]'
-syn match vimRegister '@"'
-syn match vimPlainRegister contained '"[a-zA-Z0-9\-:.%#*+=]'
-
-syn match vimAddress ",\zs[.$]" skipwhite nextgroup=vimSubst1
-syn match vimAddress "%\ze\a" skipwhite nextgroup=vimString,vimSubst1
-
-syn match vimFilter contained "^!.\{-}\(|\|$\)" contains=vimSpecFile
-syn match vimFilter contained "\A!.\{-}\(|\|$\)"ms=s+1 contains=vimSpecFile
+syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimOper,vimMarkNumber,vimSubst
+syn match vimMark "'[<>]\ze[-+,!]" nextgroup=vimOper,vimMarkNumber,vimSubst
+syn match vimMark ",\zs'[<>]\ze" nextgroup=vimOper,vimMarkNumber,vimSubst
+syn match vimMark "[!,:]\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumber,vimSubst
+syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumber,vimSubst
+syn match vimMarkNumber "[-+]\d\+" nextgroup=vimSubst contained contains=vimOper
+syn match vimPlainMark contained "'[a-zA-Z0-9]"
+
+syn match vimRegister '[^,;[{]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":]'
+syn match vimRegister '\<norm\s\+\zs"[a-zA-Z0-9]'
+syn match vimRegister '\<normal\s\+\zs"[a-zA-Z0-9]'
+syn match vimRegister '@"'
+syn match vimPlainRegister contained '"[a-zA-Z0-9\-:.%#*+=]'
+
+syn match vimAddress ",\zs[.$]" skipwhite nextgroup=vimSubst1
+syn match vimAddress "%\ze\a" skipwhite nextgroup=vimString,vimSubst1
+
+syn match vimFilter contained "^!.\{-}\(|\|$\)" contains=vimSpecFile
+syn match vimFilter contained "\A!.\{-}\(|\|$\)"ms=s+1 contains=vimSpecFile
" Complex repeats (:h complex-repeat) {{{2
-"syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]'lc=1
-"syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\)'
+syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]'lc=1
+syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\)'
" Set command and associated set-options (vimOptions) with comment {{{2
-syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|set\)\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
-syn region vimSetEqual contained start="=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation oneline
-syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
-syn match vimSetSep contained "[,:]"
-syn match vimSetMod contained "&vim\|[!&]\|all&"
+syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|set\)\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
+syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation oneline
+syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
+syn match vimSetSep contained "[,:]"
+syn match vimSetMod contained "&vim\=\|[!&?<]\|all&"
" Let {{{2
" ===
-syn keyword vimLet let unl[et] skipwhite nextgroup=vimVar
+syn keyword vimLet let unl[et] skipwhite nextgroup=vimVar,vimFuncVar
" Abbreviations {{{2
" =============
@@ -298,232 +297,235 @@ syn keyword vimAbb ab[breviate] ca[bbrev] inorea[bbrev] cnorea[bbrev] norea[bbre
" Autocmd {{{2
" =======
-syn match vimAutoEventList contained "\(!\s\+\)\=\(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace
-syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList
-syn match vimAutoCmdSfxList contained "\S*"
-syn keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList
+syn match vimAutoEventList contained "\(!\s\+\)\=\(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace
+syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList
+syn match vimAutoCmdSfxList contained "\S*"
+syn keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList
" Echo and Execute -- prefer strings! {{{2
" ================
-syn region vimEcho oneline excludenl matchgroup=vimCommand start="\<ec\%[ho]\>" skip="\(\\\\\)*\\|" end="$\||" contains=vimFunc,vimString,varVar
-syn region vimExecute oneline excludenl matchgroup=vimCommand start="\<exe\%[cute]\>" skip="\(\\\\\)*\\|" end="$\||\|<[cC][rR]>" contains=vimIsCommand,vimString,vimOper,vimVar,vimNotation,vimOperParen
-syn match vimEchoHL "echohl\=" skipwhite nextgroup=vimGroup,vimHLGroup,vimEchoHLNone
+syn region vimEcho oneline excludenl matchgroup=vimCommand start="\<ec\%[ho]\>" skip="\(\\\\\)*\\|" end="$\||" contains=vimFunc,vimFuncVar,vimString,vimVar
+syn region vimExecute oneline excludenl matchgroup=vimCommand start="\<exe\%[cute]\>" skip="\(\\\\\)*\\|" end="$\||\|<[cC][rR]>" contains=vimFuncVar,vimIsCommand,vimOper,vimNotation,vimOperParen,vimString,vimVar
+syn match vimEchoHL "echohl\=" skipwhite nextgroup=vimGroup,vimHLGroup,vimEchoHLNone
syn case ignore
-syn keyword vimEchoHLNone none
+syn keyword vimEchoHLNone none
syn case match
" Maps {{{2
" ====
-syn match vimMap "\<map\>!\=\ze\s*[^(]" skipwhite nextgroup=vimMapMod,vimMapLhs
-syn keyword vimMap cm[ap] cno[remap] im[ap] ino[remap] ln[oremap] nm[ap] nn[oremap] no[remap] om[ap] ono[remap] snor[emap] vm[ap] vn[oremap] xn[oremap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
-syn keyword vimMap mapc[lear]
-syn match vimMapLhs contained "\S\+" contains=vimNotation,vimCtrlChar skipwhite nextgroup=vimMapRhs
-syn match vimMapBang contained "!" skipwhite nextgroup=vimMapMod,vimMapLhs
-syn match vimMapMod contained "\c<\(buffer\|expr\|\(local\)\=leader\|plug\|script\|sid\|unique\|silent\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs
-syn match vimMapRhs contained ".*" contains=vimNotation,vimCtrlChar skipnl nextgroup=vimMapRhsExtend
-syn match vimMapRhsExtend contained "^\s*\\.*$" contains=vimContinue
+syn match vimMap "\<map\>!\=\ze\s*[^(]" skipwhite nextgroup=vimMapMod,vimMapLhs
+syn keyword vimMap cm[ap] cno[remap] im[ap] ino[remap] lm[ap] ln[oremap] nm[ap] nn[oremap] no[remap] om[ap] ono[remap] smap snor[emap] vm[ap] vn[oremap] xm[ap] xn[oremap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
+syn keyword vimMap mapc[lear]
+syn keyword vimUnmap cu[nmap] iu[nmap] lu[nmap] nun[map] ou[nmap] sunm[ap] unm[ap] unm[ap] vu[nmap] xu[nmap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
+syn match vimMapLhs contained "\S\+" contains=vimNotation,vimCtrlChar skipwhite nextgroup=vimMapRhs
+syn match vimMapBang contained "!" skipwhite nextgroup=vimMapMod,vimMapLhs
+syn match vimMapMod contained "\c<\(buffer\|expr\|\(local\)\=leader\|plug\|script\|sid\|unique\|silent\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs
+syn match vimMapRhs contained ".*" contains=vimNotation,vimCtrlChar skipnl nextgroup=vimMapRhsExtend
+syn match vimMapRhsExtend contained "^\s*\\.*$" contains=vimContinue
syn case ignore
-syn keyword vimMapModKey contained buffer expr leader localleader plug script sid silent unique
+syn keyword vimMapModKey contained buffer expr leader localleader plug script sid silent unique
syn case match
" Menus {{{2
" =====
-syn cluster vimMenuList contains=vimMenuBang,vimMenuPriority,vimMenuName,vimMenuMod
-syn keyword vimCommand am[enu] an[oremenu] aun[menu] cme[nu] cnoreme[nu] cunme[nu] ime[nu] inoreme[nu] iunme[nu] me[nu] nme[nu] nnoreme[nu] noreme[nu] nunme[nu] ome[nu] onoreme[nu] ounme[nu] unme[nu] vme[nu] vnoreme[nu] vunme[nu] skipwhite nextgroup=@vimMenuList
-syn match vimMenuName "[^ \t\\<]\+" contained nextgroup=vimMenuNameMore,vimMenuMap
-syn match vimMenuPriority "\d\+\(\.\d\+\)*" contained skipwhite nextgroup=vimMenuName
-syn match vimMenuNameMore "\c\\\s\|<tab>\|\\\." contained nextgroup=vimMenuName,vimMenuNameMore contains=vimNotation
-syn match vimMenuMod contained "\c<\(script\|silent\)\+>" skipwhite contains=vimMapModKey,vimMapModErr nextgroup=@vimMenuList
-syn match vimMenuMap "\s" contained skipwhite nextgroup=vimMenuRhs
-syn match vimMenuRhs ".*$" contained contains=vimString,vimComment,vimIsCommand
-syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList
+syn cluster vimMenuList contains=vimMenuBang,vimMenuPriority,vimMenuName,vimMenuMod
+syn keyword vimCommand am[enu] an[oremenu] aun[menu] cme[nu] cnoreme[nu] cunme[nu] ime[nu] inoreme[nu] iunme[nu] me[nu] nme[nu] nnoreme[nu] noreme[nu] nunme[nu] ome[nu] onoreme[nu] ounme[nu] unme[nu] vme[nu] vnoreme[nu] vunme[nu] skipwhite nextgroup=@vimMenuList
+syn match vimMenuName "[^ \t\\<]\+" contained nextgroup=vimMenuNameMore,vimMenuMap
+syn match vimMenuPriority "\d\+\(\.\d\+\)*" contained skipwhite nextgroup=vimMenuName
+syn match vimMenuNameMore "\c\\\s\|<tab>\|\\\." contained nextgroup=vimMenuName,vimMenuNameMore contains=vimNotation
+syn match vimMenuMod contained "\c<\(script\|silent\)\+>" skipwhite contains=vimMapModKey,vimMapModErr nextgroup=@vimMenuList
+syn match vimMenuMap "\s" contained skipwhite nextgroup=vimMenuRhs
+syn match vimMenuRhs ".*$" contained contains=vimString,vimComment,vimIsCommand
+syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList
" Angle-Bracket Notation (tnx to Michael Geddes) {{{2
" ======================
syn case ignore
-syn match vimNotation "\(\\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|space\|k\=\(page\)\=\(\|down\|up\)\)>" contains=vimBracket
-syn match vimNotation "\(\\\|<lt>\)\=<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\)\=\(drag\|release\)\=>" contains=vimBracket
-syn match vimNotation "\(\\\|<lt>\)\=<\(bslash\|plug\|sid\|space\|bar\|nop\|nul\|lt\)>" contains=vimBracket
-syn match vimNotation '\(\\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket
-syn match vimNotation '\(\\\|<lt>\)\=<\%(q-\)\=\(line[12]\|count\|bang\|reg\|args\|f-args\|lt\)>' contains=vimBracket
-syn match vimNotation "\(\\\|<lt>\)\=<\([cas]file\|abuf\|amatch\|cword\|cWORD\|client\)>" contains=vimBracket
-syn match vimBracket contained "[\\<>]"
+syn match vimNotation "\(\\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|space\|k\=\(page\)\=\(\|down\|up\)\)>" contains=vimBracket
+syn match vimNotation "\(\\\|<lt>\)\=<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\)\=\(drag\|release\)\=>" contains=vimBracket
+syn match vimNotation "\(\\\|<lt>\)\=<\(bslash\|plug\|sid\|space\|bar\|nop\|nul\|lt\)>" contains=vimBracket
+syn match vimNotation '\(\\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket
+syn match vimNotation '\(\\\|<lt>\)\=<\%(q-\)\=\(line[12]\|count\|bang\|reg\|args\|f-args\|lt\)>' contains=vimBracket
+syn match vimNotation "\(\\\|<lt>\)\=<\([cas]file\|abuf\|amatch\|cword\|cWORD\|client\)>" contains=vimBracket
+syn match vimBracket contained "[\\<>]"
syn case match
" User Function Highlighting {{{2
" (following Gautam Iyer's suggestion)
" ==========================
-syn match vimFunc "\%(\%([gGsS]:\|<[sS][iI][dD]>\)\=\%([a-zA-Z0-9_.]\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncName,vimUserFunc,vimExecute
-syn match vimUserFunc contained "\%(\%([gGsS]:\|<[sS][iI][dD]>\)\=\%([a-zA-Z0-9_.]\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation
-syn match vimNotFunc "\<if\>\|\<el\%[seif]\>"
+syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%([a-zA-Z0-9_.]\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncName,vimUserFunc,vimExecute
+syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%([a-zA-Z0-9_.]\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation
+syn match vimNotFunc "\<if\>\|\<el\%[seif]\>\|\<return\>\|\<while\>"
" Errors And Warnings: {{{2
" ====================
if !exists("g:vimsyn_noerror")
- syn match vimElseIfErr "\<else\s\+if\>"
- syn match vimBufnrWarn /\<bufnr\s*(\s*["']\.['"]\s*)/
+ syn match vimFunctionError "\s\zs[a-z0-9]\i\{-}\ze\s*(" contained contains=vimFuncKey,vimFuncBlank
+" syn match vimFunctionError "\s\zs\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)[0-9]\i\{-}\ze\s*(" contained contains=vimFuncKey,vimFuncBlank
+ syn match vimElseIfErr "\<else\s\+if\>"
+ syn match vimBufnrWarn /\<bufnr\s*(\s*["']\.['"]\s*)/
endif
" Norm {{{2
" ====
-syn match vimNorm "\<norm\%[al]!\=" skipwhite nextgroup=vimNormCmds
-syn match vimNormCmds contained ".*$"
+syn match vimNorm "\<norm\%[al]!\=" skipwhite nextgroup=vimNormCmds
+syn match vimNormCmds contained ".*$"
" Syntax {{{2
"=======
-syn match vimGroupList contained "@\=[^ \t,]*" contains=vimGroupSpecial,vimPatSep
-syn match vimGroupList contained "@\=[^ \t,]*," nextgroup=vimGroupList contains=vimGroupSpecial,vimPatSep
-syn keyword vimGroupSpecial contained ALL ALLBUT
+syn match vimGroupList contained "@\=[^ \t,]*" contains=vimGroupSpecial,vimPatSep
+syn match vimGroupList contained "@\=[^ \t,]*," nextgroup=vimGroupList contains=vimGroupSpecial,vimPatSep
+syn keyword vimGroupSpecial contained ALL ALLBUT CONTAINED TOP
if !exists("g:vimsyn_noerror")
- syn match vimSynError contained "\i\+"
- syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
+ syn match vimSynError contained "\i\+"
+ syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
endif
-syn match vimSynContains contained "\<contain\(s\|edin\)=" nextgroup=vimGroupList
-syn match vimSynKeyContainedin contained "\<containedin=" nextgroup=vimGroupList
-syn match vimSynNextgroup contained "nextgroup=" nextgroup=vimGroupList
+syn match vimSynContains contained "\<contain\(s\|edin\)=" nextgroup=vimGroupList
+syn match vimSynKeyContainedin contained "\<containedin=" nextgroup=vimGroupList
+syn match vimSynNextgroup contained "nextgroup=" nextgroup=vimGroupList
-syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
-syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
+syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
+syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
" Syntax: case {{{2
-syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError
+syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError
if !exists("g:vimsyn_noerror")
- syn match vimSynCaseError contained "\i\+"
+ syn match vimSynCaseError contained "\i\+"
endif
-syn keyword vimSynCase contained ignore match
+syn keyword vimSynCase contained ignore match
" Syntax: clear {{{2
-syn keyword vimSynType contained clear skipwhite nextgroup=vimGroupList
+syn keyword vimSynType contained clear skipwhite nextgroup=vimGroupList
" Syntax: cluster {{{2
-syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
-syn region vimClusterName contained matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
-syn match vimGroupAdd contained "add=" nextgroup=vimGroupList
-syn match vimGroupRem contained "remove=" nextgroup=vimGroupList
+syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
+syn region vimClusterName contained matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
+syn match vimGroupAdd contained "add=" nextgroup=vimGroupList
+syn match vimGroupRem contained "remove=" nextgroup=vimGroupList
" Syntax: include {{{2
-syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
+syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
" Syntax: keyword {{{2
-syn cluster vimSynKeyGroup contains=vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
-syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
-syn region vimSynKeyRegion contained oneline keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
-syn match vimSynKeyOpt contained "\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
+syn cluster vimSynKeyGroup contains=vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
+syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
+syn region vimSynKeyRegion contained oneline keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
+syn match vimSynKeyOpt contained "\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
" Syntax: match {{{2
-syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
-syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
-syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\k\+" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
-syn match vimSynMtchOpt contained "\<\(conceal\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
+syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
+syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
+syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\k\+" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
+syn match vimSynMtchOpt contained "\<\(conceal\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
if has("conceal")
- syn match vimSynMtchOpt contained "\<cchar=" nextgroup=VimSynMtchCchar
- syn match vimSynMtchCchar contained "."
+ syn match vimSynMtchOpt contained "\<cchar=" nextgroup=VimSynMtchCchar
+ syn match vimSynMtchCchar contained "\S"
endif
" Syntax: off and on {{{2
-syn keyword vimSynType contained enable list manual off on reset
+syn keyword vimSynType contained enable list manual off on reset
" Syntax: region {{{2
-syn cluster vimSynRegPatGroup contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
-syn cluster vimSynRegGroup contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
-syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion
-syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" end="|\|$" contains=@vimSynRegGroup
-syn match vimSynRegOpt contained "\<\(conceal\(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
-syn match vimSynReg contained "\(start\|skip\|end\)="he=e-1 nextgroup=vimSynRegPat
-syn match vimSynMtchGrp contained "matchgroup=" nextgroup=vimGroup,vimHLGroup
-syn region vimSynRegPat contained extend start="\z([-`~!@#$%^&*_=+;:'",./?]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSynRegPatGroup skipwhite nextgroup=vimSynPatMod,vimSynReg
-syn match vimSynPatMod contained "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\="
-syn match vimSynPatMod contained "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\=," nextgroup=vimSynPatMod
-syn match vimSynPatMod contained "lc=\d\+"
-syn match vimSynPatMod contained "lc=\d\+," nextgroup=vimSynPatMod
-syn region vimSynPatRange contained start="\[" skip="\\\\\|\\]" end="]"
-syn match vimSynNotPatRange contained "\\\\\|\\\["
-syn match vimMtchComment contained '"[^"]\+$'
+syn cluster vimSynRegPatGroup contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
+syn cluster vimSynRegGroup contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
+syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion
+syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" end="|\|$" contains=@vimSynRegGroup
+syn match vimSynRegOpt contained "\<\(conceal\(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
+syn match vimSynReg contained "\(start\|skip\|end\)="he=e-1 nextgroup=vimSynRegPat
+syn match vimSynMtchGrp contained "matchgroup=" nextgroup=vimGroup,vimHLGroup
+syn region vimSynRegPat contained extend start="\z([-`~!@#$%^&*_=+;:'",./?]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSynRegPatGroup skipwhite nextgroup=vimSynPatMod,vimSynReg
+syn match vimSynPatMod contained "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\="
+syn match vimSynPatMod contained "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\=," nextgroup=vimSynPatMod
+syn match vimSynPatMod contained "lc=\d\+"
+syn match vimSynPatMod contained "lc=\d\+," nextgroup=vimSynPatMod
+syn region vimSynPatRange contained start="\[" skip="\\\\\|\\]" end="]"
+syn match vimSynNotPatRange contained "\\\\\|\\\["
+syn match vimMtchComment contained '"[^"]\+$'
" Syntax: sync {{{2
" ============
syn keyword vimSynType contained sync skipwhite nextgroup=vimSyncC,vimSyncLines,vimSyncMatch,vimSyncError,vimSyncLinebreak,vimSyncLinecont,vimSyncRegion
if !exists("g:vimsyn_noerror")
- syn match vimSyncError contained "\i\+"
-endif
-syn keyword vimSyncC contained ccomment clear fromstart
-syn keyword vimSyncMatch contained match skipwhite nextgroup=vimSyncGroupName
-syn keyword vimSyncRegion contained region skipwhite nextgroup=vimSynReg
-syn match vimSyncLinebreak contained "\<linebreaks=" skipwhite nextgroup=vimNumber
-syn keyword vimSyncLinecont contained linecont skipwhite nextgroup=vimSynRegPat
-syn match vimSyncLines contained "\(min\|max\)\=lines=" nextgroup=vimNumber
-syn match vimSyncGroupName contained "\k\+" skipwhite nextgroup=vimSyncKey
-syn match vimSyncKey contained "\<groupthere\|grouphere\>" skipwhite nextgroup=vimSyncGroup
-syn match vimSyncGroup contained "\k\+" skipwhite nextgroup=vimSynRegPat,vimSyncNone
-syn keyword vimSyncNone contained NONE
+ syn match vimSyncError contained "\i\+"
+endif
+syn keyword vimSyncC contained ccomment clear fromstart
+syn keyword vimSyncMatch contained match skipwhite nextgroup=vimSyncGroupName
+syn keyword vimSyncRegion contained region skipwhite nextgroup=vimSynReg
+syn match vimSyncLinebreak contained "\<linebreaks=" skipwhite nextgroup=vimNumber
+syn keyword vimSyncLinecont contained linecont skipwhite nextgroup=vimSynRegPat
+syn match vimSyncLines contained "\(min\|max\)\=lines=" nextgroup=vimNumber
+syn match vimSyncGroupName contained "\k\+" skipwhite nextgroup=vimSyncKey
+syn match vimSyncKey contained "\<groupthere\|grouphere\>" skipwhite nextgroup=vimSyncGroup
+syn match vimSyncGroup contained "\k\+" skipwhite nextgroup=vimSynRegPat,vimSyncNone
+syn keyword vimSyncNone contained NONE
" Additional IsCommand, here by reasons of precedence {{{2
" ====================
-syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotation
+syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotation
" Highlighting {{{2
" ============
-syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment
-syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
-syn match vimHiBang contained "!" skipwhite nextgroup=@vimHighlightCluster
-
-syn match vimHiGroup contained "\i\+"
+syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment
+syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
+syn match vimHiBang contained "!" skipwhite nextgroup=@vimHighlightCluster
+
+syn match vimHiGroup contained "\i\+"
syn case ignore
-syn keyword vimHiAttrib contained none bold inverse italic reverse standout underline undercurl
-syn keyword vimFgBgAttrib contained none bg background fg foreground
+syn keyword vimHiAttrib contained none bold inverse italic reverse standout underline undercurl
+syn keyword vimFgBgAttrib contained none bg background fg foreground
syn case match
-syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib
-syn match vimHiAttribList contained "\i\+,"he=e-1 contains=vimHiAttrib nextgroup=vimHiAttribList
+syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib
+syn match vimHiAttribList contained "\i\+,"he=e-1 contains=vimHiAttrib nextgroup=vimHiAttribList
syn case ignore
-syn keyword vimHiCtermColor contained black blue brown cyan darkBlue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred magenta red white yellow
+syn keyword vimHiCtermColor contained black blue brown cyan darkBlue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred magenta red white yellow
syn case match
-syn match vimHiFontname contained "[a-zA-Z\-*]\+"
-syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
-syn match vimHiGuiRgb contained "#\x\{6}"
+syn match vimHiFontname contained "[a-zA-Z\-*]\+"
+syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
+syn match vimHiGuiRgb contained "#\x\{6}"
if !exists("g:vimsyn_noerror")
- syn match vimHiCtermError contained "[^0-9]\i*"
+ syn match vimHiCtermError contained "[^0-9]\i*"
endif
" Highlighting: hi group key=arg ... {{{2
-syn cluster vimHiCluster contains=vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
-syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||" contains=@vimHiCluster
+syn cluster vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
+syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||" contains=@vimHiCluster
if !exists("g:vimsyn_noerror")
- syn match vimHiKeyError contained "\i\+="he=e-1
+ syn match vimHiKeyError contained "\i\+="he=e-1
endif
-syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
-syn match vimHiStartStop contained "\c\(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
-syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList
-syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimNumber,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
-syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList
-syn match vimHiGuiFont contained "\cfont="he=e-1 nextgroup=vimHiFontname
-syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
-syn match vimHiTermcap contained "\S\+" contains=vimNotation
+syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
+syn match vimHiStartStop contained "\c\(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
+syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList
+syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimNumber,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
+syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList
+syn match vimHiGuiFont contained "\cfont="he=e-1 nextgroup=vimHiFontname
+syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
+syn match vimHiTermcap contained "\S\+" contains=vimNotation
" Highlight: clear {{{2
-syn keyword vimHiClear contained clear nextgroup=vimHiGroup
+syn keyword vimHiClear contained clear nextgroup=vimHiGroup
" Highlight: link {{{2
-syn region vimHiLink contained oneline matchgroup=vimCommand start="\<\(def\s\+\)\=link\>\|\<def\>" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
+syn region vimHiLink contained oneline matchgroup=vimCommand start="\<\(def\s\+\)\=link\>\|\<def\>" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
" Control Characters {{{2
" ==================
-syn match vimCtrlChar "[- -]"
+syn match vimCtrlChar "[- -]"
" Beginners - Patterns that involve ^ {{{2
" =========
-syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
-syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
-syn match vimContinue "^\s*\\"
-syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
-syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
+syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
+syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
+syn match vimContinue "^\s*\\"
+syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
+syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
" Searches And Globals: {{{2
" ====================
-syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
-syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained
-syn region vimGlobal matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/'
-syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/'
+syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
+syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained
+syn region vimGlobal matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/'
+syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/'
" Scripts : perl,ruby : Benoit Cerrina {{{2
" ======= python,tcl: Johannes Zellner
@@ -541,94 +543,127 @@ if !exists("g:vimsyn_embed")
endif
" [-- perl --] {{{3
-if (g:vimsyn_embed =~ 'p' && has("perl")) && filereadable(expand("<sfile>:p:h")."/perl.vim")
+let s:perlpath= expand("<sfile>:p:h")."/perl.vim"
+if !filereadable(s:perlpath)
+ let s:perlpath= globpath(&rtp,"syntax/perl.vim")
+endif
+if (g:vimsyn_embed =~ 'p' && has("perl")) && filereadable(s:perlpath)
unlet! b:current_syntax
- syn include @vimPerlScript <sfile>:p:h/perl.vim
+ exe "syn include @vimPerlScript ".s:perlpath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'p'
- syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
- syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
+ syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
+ syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
else
- syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
- syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
+ syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
+ syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
endif
+ syn cluster vimFuncBodyList add=vimPerlRegion
else
syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+pe\%[rl]\s*<<\s*$+ end=+\.$+
endif
+unlet s:perlpath
" [-- ruby --] {{{3
-if (g:vimsyn_embed =~ 'r' && has("ruby")) && filereadable(expand("<sfile>:p:h")."/ruby.vim")
+let s:rubypath= expand("<sfile>:p:h")."/ruby.vim"
+if !filereadable(s:rubypath)
+ let s:rubypath= globpath(&rtp,"syntax/ruby.vim")
+endif
+if (g:vimsyn_embed =~ 'r' && has("ruby")) && filereadable(s:rubypath)
unlet! b:current_syntax
- syn include @vimRubyScript <sfile>:p:h/ruby.vim
+ exe "syn include @vimRubyScript ".s:rubypath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'r'
- syn region vimRubyRegion fold matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript
+ syn region vimRubyRegion fold matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript
else
- syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript
+ syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript
endif
- syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript
+ syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript
+ syn cluster vimFuncBodyList add=vimRubyRegion
else
syn region vimEmbedError start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+rub[y]\s*<<\s*$+ end=+\.$+
endif
+unlet s:rubypath
" [-- python --] {{{3
-if (g:vimsyn_embed =~ 'P' && has("python")) && filereadable(expand("<sfile>:p:h")."/python.vim")
+let s:pythonpath= expand("<sfile>:p:h")."/python.vim"
+if !filereadable(s:pythonpath)
+ let s:pythonpath= globpath(&rtp,"syntax/python.vim")
+endif
+if (g:vimsyn_embed =~ 'P' && has("python")) && filereadable(s:pythonpath)
unlet! b:current_syntax
- syn include @vimPythonScript <sfile>:p:h/python.vim
+ exe "syn include @vimPythonScript ".s:pythonpath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'P'
- syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
- syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
+ syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
+ syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
else
- syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
- syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
+ syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
+ syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
endif
+ syn cluster vimFuncBodyList add=vimPythonRegion
else
syn region vimEmbedError start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+py\%[thon]\s*<<\s*$+ end=+\.$+
endif
+unlet s:pythonpath
" [-- tcl --] {{{3
if has("win32") || has("win95") || has("win64") || has("win16")
" apparently has("tcl") has been hanging vim on some windows systems with cygwin
- let trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
+ let s:trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
else
- let trytcl= 1
+ let s:trytcl= 1
endif
-if trytcl
- if (g:vimsyn_embed =~ 't' && has("tcl")) && filereadable(expand("<sfile>:p:h")."/tcl.vim")
+if s:trytcl
+ let s:tclpath= expand("<sfile>:p:h")."/tcl.vim"
+ if !filereadable(s:tclpath)
+ let s:tclpath= globpath(&rtp,"syntax/tcl.vim")
+ endif
+ if (g:vimsyn_embed =~ 't' && has("tcl")) && filereadable(s:tclpath)
unlet! b:current_syntax
- syn include @vimTclScript <sfile>:p:h/tcl.vim
+ exe "syn include @vimTclScript ".s:tclpath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 't'
- syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
- syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
+ syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
+ syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
else
- syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
- syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
+ syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
+ syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
endif
+ syn cluster vimFuncBodyList add=vimTclScript
+ else
+ syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
+ syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
endif
+ unlet s:tclpath
else
syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
endif
-unlet trytcl
+unlet s:trytcl
" [-- mzscheme --] {{{3
-if (g:vimsyn_embed =~ 'm' && has("mzscheme")) && filereadable(expand("<sfile>:p:h")."/scheme.vim")
+let s:mzschemepath= expand("<sfile>:p:h")."/scheme.vim"
+if !filereadable(s:mzschemepath)
+ let s:mzschemepath= globpath(&rtp,"syntax/scheme.vim")
+endif
+if (g:vimsyn_embed =~ 'm' && has("mzscheme")) && filereadable(s:mzschemepath)
unlet! b:current_syntax
let iskKeep= &isk
- syn include @vimMzSchemeScript <sfile>:p:h/scheme.vim
+ exe "syn include @vimMzSchemeScript ".s:mzschemepath
let &isk= iskKeep
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'm'
- syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
- syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
+ syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
+ syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
else
- syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
- syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
+ syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
+ syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
endif
+ syn cluster vimFuncBodyList add=vimMzSchemeRegion
else
syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+
endif
+unlet s:mzschemepath
" Synchronize (speed) {{{2
"============
@@ -643,6 +678,7 @@ endif
syn sync linecont "^\s\+\\"
syn sync match vimAugroupSyncA groupthere NONE "\<aug\%[roup]\>\s\+[eE][nN][dD]"
+" ====================
" Highlighting Settings {{{2
" ====================
@@ -709,15 +745,15 @@ hi def link vimMenuMod vimMapMod
hi def link vimMenuNameMore vimMenuName
hi def link vimMtchComment vimComment
hi def link vimNorm vimCommand
+hi def link vimNotFunc vimCommand
hi def link vimNotPatSep vimString
-hi def link vimPatSepR vimPatSep
-hi def link vimPatSepZ vimPatSep
hi def link vimPatSepErr vimPatSep
+hi def link vimPatSepR vimPatSep
hi def link vimPatSepZone vimString
+hi def link vimPatSepZ vimPatSep
hi def link vimPlainMark vimMark
hi def link vimPlainRegister vimRegister
hi def link vimSearch vimString
-hi def link vimSearchDelim Statement
hi def link vimSetMod vimOption
hi def link vimSetString vimString
hi def link vimSpecFileMod vimSpecFile
@@ -738,11 +774,11 @@ hi def link vimSynRegOpt vimSynOption
hi def link vimSynRegPat vimString
hi def link vimSyntax vimCommand
hi def link vimSynType vimSpecial
+hi def link vimUnmap vimMap
hi def link vimUserAttrbCmplt vimSpecial
hi def link vimUserAttrbKey vimOption
hi def link vimUserAttrb vimSpecial
hi def link vimUserCommand vimCommand
-hi def link vimUserFunc Normal
hi def link vimAutoEvent Type
hi def link vimBracket Delimiter
@@ -759,24 +795,25 @@ hi def link vimFold Folded
hi def link vimFuncName Function
hi def link vimFuncSID Special
hi def link vimFuncVar Identifier
-hi def link vimGroup Type
hi def link vimGroupSpecial Special
-hi def link vimHLMod PreProc
+hi def link vimGroup Type
hi def link vimHiAttrib PreProc
hi def link vimHiTerm Type
+hi def link vimHLMod PreProc
hi def link vimKeyword Statement
hi def link vimMark Number
hi def link vimMenuName PreProc
hi def link vimNotation Special
-hi def link vimNotFunc vimCommand
hi def link vimNumber Number
+hi def link vimOperError Error
hi def link vimOper Operator
hi def link vimOption PreProc
-hi def link vimOperError Error
+hi def link vimParenSep Delimiter
hi def link vimPatSep SpecialChar
hi def link vimPattern Type
hi def link vimRegister SpecialChar
hi def link vimScriptDelim Comment
+hi def link vimSearchDelim Statement
hi def link vimSep Delimiter
hi def link vimSetSep Statement
hi def link vimSpecFile Identifier
@@ -786,18 +823,19 @@ hi def link vimString String
hi def link vimSubstDelim Delimiter
hi def link vimSubstFlags Special
hi def link vimSubstSubstr SpecialChar
-hi def link vimSynCase Type
hi def link vimSynCaseError Error
-hi def link vimSynError Error
-hi def link vimSynOption Special
-hi def link vimSynReg Type
+hi def link vimSynCase Type
hi def link vimSyncC Type
hi def link vimSyncError Error
hi def link vimSyncKey Type
hi def link vimSyncNone Type
+hi def link vimSynError Error
+hi def link vimSynOption Special
+hi def link vimSynReg Type
hi def link vimTodo Todo
-hi def link vimUserCmdError Error
hi def link vimUserAttrbCmpltFunc Special
+hi def link vimUserCmdError Error
+hi def link vimUserFunc Normal
hi def link vimWarn WarningMsg
" Current Syntax Variable: {{{2
diff --git a/runtime/syntax/xdefaults.vim b/runtime/syntax/xdefaults.vim
index cd3fed4a..d7f11723 100644
--- a/runtime/syntax/xdefaults.vim
+++ b/runtime/syntax/xdefaults.vim
@@ -4,7 +4,7 @@
" Author and previous maintainer:
" Gautam H. Mudunuri <gmudunur@informatica.com>
" Last Change: Di, 09 Mai 2006 23:10:23 CEST
-" $Id$
+" $Id: xdefaults.vim,v 1.2 2007/05/05 17:19:40 vimboss Exp $
"
" REFERENCES:
" xrdb manual page
diff --git a/runtime/syntax/xml.vim b/runtime/syntax/xml.vim
index 8f8e1559..58d6db03 100644
--- a/runtime/syntax/xml.vim
+++ b/runtime/syntax/xml.vim
@@ -3,9 +3,9 @@
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Author and previous maintainer:
" Paul Siegmann <pauls@euronet.nl>
-" Last Change: Mi, 13 Apr 2005 22:40:09 CEST
+" Last Change: 2009-07-13 21:26:55
" Filenames: *.xml
-" $Id$
+" $Id: xml.vim,v 1.3 2006/04/11 21:32:00 vimboss Exp $
" CONFIGURATION:
" syntax folding can be turned on by
@@ -216,7 +216,7 @@ if exists('g:xml_syntax_folding')
syn region xmlComment
\ start=+<!+
\ end=+>+
- \ contains=xmlCommentPart,xmlCommentError
+ \ contains=xmlCommentStart,xmlCommentError
\ extend
\ fold
@@ -228,11 +228,12 @@ else
syn region xmlComment
\ start=+<!+
\ end=+>+
- \ contains=xmlCommentPart,xmlCommentError
+ \ contains=xmlCommentStart,xmlCommentError
\ extend
endif
+syn match xmlCommentStart contained "<!" nextgroup=xmlCommentPart
syn keyword xmlTodo contained TODO FIXME XXX
syn match xmlCommentError contained "[^><!]"
syn region xmlCommentPart
@@ -320,6 +321,7 @@ hi def link xmlAttrib Type
hi def link xmlString String
hi def link xmlComment Comment
+hi def link xmlCommentStart xmlComment
hi def link xmlCommentPart Comment
hi def link xmlCommentError Error
hi def link xmlError Error
diff --git a/runtime/syntax/xquery.vim b/runtime/syntax/xquery.vim
index 67593b22..dcb2685c 100644
--- a/runtime/syntax/xquery.vim
+++ b/runtime/syntax/xquery.vim
@@ -4,7 +4,7 @@
" Last Change: mar jui 12 18:04:05 CEST 2005
" Filenames: *.xq
" URL: http://jmvanel.free.fr/vim/xquery.vim
-" $Id$
+" $Id: xquery.vim,v 1.1 2005/07/18 21:44:56 vimboss Exp $
" REFERENCES:
" [1] http://www.w3.org/TR/xquery/
diff --git a/runtime/syntax/xsd.vim b/runtime/syntax/xsd.vim
index c3431f42..5ba6b449 100644
--- a/runtime/syntax/xsd.vim
+++ b/runtime/syntax/xsd.vim
@@ -3,7 +3,7 @@
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Tue, 27 Apr 2004 14:54:59 CEST
" Filenames: *.xsd
-" $Id$
+" $Id: xsd.vim,v 1.1 2004/06/13 18:20:48 vimboss Exp $
" REFERENCES:
" [1] http://www.w3.org/TR/xmlschema-0
diff --git a/runtime/syntax/xslt.vim b/runtime/syntax/xslt.vim
index 98dd8691..3e0df6ac 100644
--- a/runtime/syntax/xslt.vim
+++ b/runtime/syntax/xslt.vim
@@ -3,7 +3,7 @@
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Sun, 28 Oct 2001 21:22:24 +0100
" Filenames: *.xsl
-" $Id$
+" $Id: xslt.vim,v 1.1 2004/06/13 15:52:10 vimboss Exp $
" REFERENCES:
" [1] http://www.w3.org/TR/xslt
diff --git a/runtime/syntax/yacc.vim b/runtime/syntax/yacc.vim
index d4bd0196..1797b7a6 100644
--- a/runtime/syntax/yacc.vim
+++ b/runtime/syntax/yacc.vim
@@ -1,95 +1,85 @@
" Vim syntax file
" Language: Yacc
" Maintainer: Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change: Jan 09, 2008
-" Version: 5
+" Last Change: Oct 21, 2008
+" Version: 7
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Options: {{{1
" g:yacc_uses_cpp : if this variable exists, then C++ is loaded rather than C
-" g:yacc_minlines : see :help :he syn-sync-minlines -- default 50
-" g:yacc_maxlines : see :help :he syn-sync-maxlines -- default 200
" ---------------------------------------------------------------------
-" For version 5.x: Clear all syntax items {{{1
-" For version 6.x: Quit when a syntax file was already loaded
+" this version of syntax/yacc.vim requires 6.0 or later
if version < 600
- syntax clear
-elseif exists("b:current_syntax")
- finish
+ finish
+endif
+if exists("b:current_syntax")
+ syntax clear
+endif
+
+" ---------------------------------------------------------------------
+" Folding Support {{{1
+if has("folding")
+ com! -nargs=+ HiFold <args> fold
+else
+ com! -nargs=+ HiFold <args>
endif
" ---------------------------------------------------------------------
" Read the C syntax to start with {{{1
-if version >= 600
- if exists("g:yacc_uses_cpp")
- runtime! syntax/cpp.vim
- else
- runtime! syntax/c.vim
- endif
-elseif exists("g:yacc_uses_cpp")
- so <sfile>:p:h/cpp.vim
+if exists("g:yacc_uses_cpp")
+ syn include @yaccCode <sfile>:p:h/cpp.vim
else
- so <sfile>:p:h/c.vim
+ syn include @yaccCode <sfile>:p:h/c.vim
endif
" ---------------------------------------------------------------------
-" Clusters {{{1
-syn cluster yaccActionGroup contains=yaccDelim,cInParen,cTodo,cIncluded,yaccDelim,yaccCurlyError,yaccUnionCurly,yaccUnion,cUserLabel,cOctalZero,cCppOut2,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCommentStartError,cParenError
-syn cluster yaccUnionGroup contains=yaccKey,cComment,yaccCurly,cType,cStructure,cStorageClass,yaccUnionCurly
+" Yacc Clusters: {{{1
+syn cluster yaccInitCluster contains=yaccKey,yaccKeyActn,yaccBrkt,yaccType,yaccString,yaccUnionStart,yaccHeader2,yaccComment
+syn cluster yaccRulesCluster contains=yaccNonterminal,yaccString
" ---------------------------------------------------------------------
-" Yacc stuff {{{1
-syn match yaccDelim "^\s*[:|;]"
-syn match yaccOper "@\d\+"
-
-syn match yaccKey "^\s*%\(token\|type\|left\|right\|start\|ident\|nonassoc\)\>"
-syn match yaccKey "\s%\(prec\|expect\)\>"
-syn match yaccKey "\$\(<[a-zA-Z_][a-zA-Z_0-9]*>\)\=[\$0-9]\+"
-syn keyword yaccKeyActn yyerrok yyclearin
-
-syn match yaccUnionStart "^%union" skipwhite skipnl nextgroup=yaccUnion
-syn region yaccUnion contained matchgroup=yaccCurly start="{" matchgroup=yaccCurly end="}" contains=@yaccUnionGroup
-syn region yaccUnionCurly contained matchgroup=yaccCurly start="{" matchgroup=yaccCurly end="}" contains=@yaccUnionGroup
-syn match yaccBrkt contained "[<>]"
-syn match yaccType "<[a-zA-Z_][a-zA-Z0-9_]*>" contains=yaccBrkt
-syn match yaccDefinition "^[A-Za-z][A-Za-z0-9_]*\_s*:"
+" Yacc Sections: {{{1
+HiFold syn region yaccInit start='.'ms=s-1,rs=s-1 matchgroup=yaccSectionSep end='^%%$'me=e-2,re=e-2 contains=@yaccInitCluster nextgroup=yaccRules skipwhite skipempty contained
+HiFold syn region yaccInit2 start='\%^.'ms=s-1,rs=s-1 matchgroup=yaccSectionSep end='^%%$'me=e-2,re=e-2 contains=@yaccInitCluster nextgroup=yaccRules skipwhite skipempty
+HiFold syn region yaccHeader2 matchgroup=yaccSep start="^\s*\zs%{" end="^\s*%}" contains=@yaccCode nextgroup=yaccInit skipwhite skipempty contained
+HiFold syn region yaccHeader matchgroup=yaccSep start="^\s*\zs%{" end="^\s*%}" contains=@yaccCode nextgroup=yaccInit skipwhite skipempty
+HiFold syn region yaccRules matchgroup=yaccSectionSep start='^%%$' end='^%%$'me=e-2,re=e-2 contains=@yaccRulesCluster nextgroup=yaccEndCode skipwhite skipempty contained
+HiFold syn region yaccEndCode matchgroup=yaccSectionSep start='^%%$' end='\%$' contains=@yaccCode contained
" ---------------------------------------------------------------------
-" special Yacc separators {{{1
-syn match yaccSectionSep "^[ \t]*%%"
-syn match yaccSep "^[ \t]*%{"
-syn match yaccSep "^[ \t]*%}"
+" Yacc Commands: {{{1
+syn match yaccDelim "[:|]" contained
+syn match yaccOper "@\d\+" contained
+
+syn match yaccKey "^\s*%\(token\|type\|left\|right\|start\|ident\|nonassoc\)\>" contained
+syn match yaccKey "\s%\(prec\|expect\)\>" contained
+syn match yaccKey "\$\(<[a-zA-Z_][a-zA-Z_0-9]*>\)\=[\$0-9]\+" contained
+syn keyword yaccKeyActn yyerrok yyclearin contained
+
+syn match yaccUnionStart "^%union" skipwhite skipnl nextgroup=yaccUnion contained
+HiFold syn region yaccUnion matchgroup=yaccCurly start="{" matchgroup=yaccCurly end="}" contains=@yaccCode contained
+syn match yaccBrkt "[<>]" contained
+syn match yaccType "<[a-zA-Z_][a-zA-Z0-9_]*>" contains=yaccBrkt contained
+
+HiFold syn region yaccNonterminal start="^\s*\a\w*\ze\_s*\(/\*\_.\{-}\*/\)\=\_s*:" matchgroup=yaccDelim end=";" matchgroup=yaccSectionSep end='^%%$'me=e-2,re=e-2 contains=yaccAction,yaccDelim,yaccString,yaccComment contained
+syn region yaccComment start="/\*" end="\*/"
+syn match yaccString "'[^']*'" contained
+
" ---------------------------------------------------------------------
" I'd really like to highlight just the outer {}. Any suggestions??? {{{1
-syn match yaccCurlyError "[{}]"
-syn region yaccAction matchgroup=yaccCurly start="{" end="}" contains=ALLBUT,@yaccActionGroup
+syn match yaccCurlyError "[{}]"
+HiFold syn region yaccAction matchgroup=yaccCurly start="{" end="}" contains=@yaccCode contained
" ---------------------------------------------------------------------
" Yacc synchronization: {{{1
-if exists("g:yacc_maxlines")
- exe "syn sync maxlines=".g:yacc_maxlines
-else
- syn sync maxlines=200
-endif
-if exists("g:yacc_minlines")
- exe "syn sync minlines=".g:yacc_minlines
-else
- syn sync minlines=50
-endif
+syn sync fromstart
" ---------------------------------------------------------------------
" Define the default highlighting. {{{1
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_yacc_syn_inits")
- if version < 508
- let did_yacchdl_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
+if !exists("did_yacc_syn_inits")
+ command -nargs=+ HiLink hi def link <args>
" Internal yacc highlighting links {{{2
HiLink yaccBrkt yaccStmt
@@ -98,13 +88,15 @@ if version >= 508 || !exists("did_yacc_syn_inits")
HiLink yaccUnionStart yaccKey
" External yacc highlighting links {{{2
+ HiLink yaccComment Comment
HiLink yaccCurly Delimiter
HiLink yaccCurlyError Error
- HiLink yaccDefinition Function
- HiLink yaccDelim Function
+ HiLink yaccNonterminal Function
+ HiLink yaccDelim Delimiter
HiLink yaccKeyActn Special
HiLink yaccSectionSep Todo
HiLink yaccSep Delimiter
+ HiLink yaccString String
HiLink yaccStmt Statement
HiLink yaccType Type
@@ -113,6 +105,10 @@ if version >= 508 || !exists("did_yacc_syn_inits")
delcommand HiLink
endif
+
+" ---------------------------------------------------------------------
+" Cleanup: {{{1
+delcommand HiFold
let b:current_syntax = "yacc"
" ---------------------------------------------------------------------