diff options
Diffstat (limited to 'runtime/syntax')
107 files changed, 2145 insertions, 1251 deletions
diff --git a/runtime/syntax/2html.vim b/runtime/syntax/2html.vim index ee66bf644..252a841f2 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 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 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 8d76fb8f4..4f04bd021 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 6846ec6bd..6696f96eb 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 e73d67491..07c129e46 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 9facdbe77..8db83f91d 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 8fdcd43f2..e7836d781 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 2968f79b1..82ab1d874 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 07df36ba3..94562127c 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 4dbff008c..0a1d511a6 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 750cfdea2..b278eca31 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 4dd5c3a11..ab9632944 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 dce2d3659..5315e7521 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 c02799d32..20ca19ced 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 8b63e48b0..2ba629f92 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 e751fbc72..040d48d0f 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 d56a34232..e886f0147 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 0ae05abd6..52ce6d733 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 48518d741..5efb41bc4 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 3ad48164c..da35406e8 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 b763fb0aa..73c1cb475 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 8c0129933..d9b1aa670 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 fb4d3cca4..1aea3bf72 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 9b3cb56f5..95c784314 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 678048968..621e063ff 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 e3d68363d..2f39d6143 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 46e570405..1e45ffd49 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 884c37ebf..8be1b65cc 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 726bf4756..19a47ed6b 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 8713a721a..e0e8b774d 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 1d160f284..3d323fbb9 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 830b8d014..9bee89433 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 c874a0465..aada70e54 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 fd76b7316..feb70848a 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 e75d04417..12db0a42a 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 f44ce2b57..dc14adc10 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 080252fd3..94361c17c 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 5f96dfbd0..d2f34968b 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 21fcf81f5..8afca048c 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 e600de73a..d0f447f90 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 f39c171d3..7f01d7fc1 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 2b7bc3b41..1a912c1d0 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 d5e32faed..18e4532d2 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 a68592ee7..a6ceb1712 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 903f8474b..cefbe39a2 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 f7144b929..68ae63273 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 7ff09e7b3..8cc1ded01 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 e3ba2af00..14bd940ee 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 55390aaa4..fd44f6073 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 5fcbb0974..7d90cd88e 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 ea4cb0038..2a0a72c5b 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 1157517f8..c89d2de52 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 6167b2379..4172a02fe 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 efd5fe0bd..4ffd22b98 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 c2125c155..40d644eef 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 9bba9759c..0e281c114 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 ca982d7a4..27dcc1884 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 6049e8a54..55ae137f2 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 12aac9cc4..f48dcceea 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 79cf4b5ab..86a6c07cb 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 15c74c8fa..2019c0372 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 d8eba30a8..9f15d1663 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 62dab3feb..f6fd66c22 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 1914a050f..aa3cb9e34 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 0d84d80d9..d86dce603 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 124d52457..4475417fd 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 fb2b16145..6816548a8 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 68b08bebc..58de71f4d 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 f06b2d3d7..7dc9b955b 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 5288d9bdc..d59074321 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 0b56011be..04a2cce9b 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 1972e5af5..91094c797 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 001868e15..93a717847 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 f1b8d88e1..fa585b286 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 9b1dfc7e8..7d42395b5 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 d5a76a2b6..245c3aedf 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 a5a118e4d..f82b4c2cb 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 31570e093..dae4040ec 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 6f6927f67..f98703446 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 000000000..0ca9becf7 --- /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 bcc46c342..c0c3643dd 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 419e904ee..99e6ea2af 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 5fa8d938f..6ef4fba10 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 f29bc2680..c7cdf2df1 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 cb2f30475..8c9dd1ffa 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 2f283809d..dc09d8b9d 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 641aa8659..e76cb1a1a 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 81fa060f4..5abab381e 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 44f23d761..45947f206 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 2217e096f..97ee8f877 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 bb4f59446..0cd770a27 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 70ffe6f21..260ff360f 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 000000000..79186e0ad --- /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., ",") +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 000000000..c7e0ea75a --- /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 e9562d650..d15422daa 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 94c4181c3..b535d11df 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 1393a5826..ff171d374 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 568805013..3fdebf1e2 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 bdc4e95b6..a4399844a 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 4f912d4d9..7c082d62d 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 96fbcd620..4ac3b6d8a 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 5bfcd6606..22afcf401 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 cd3fed4a6..d7f11723f 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 8f8e15590..58d6db03e 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 67593b22b..dcb2685c9 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 c3431f42e..5ba6b4499 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 98dd86919..3e0df6acf 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 d4bd0196b..1797b7a64 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" " --------------------------------------------------------------------- |