diff options
Diffstat (limited to 'runtime/syntax')
-rw-r--r-- | runtime/syntax/2html.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/autohotkey.vim | 11 | ||||
-rw-r--r-- | runtime/syntax/bzr.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/doxygen.vim | 22 | ||||
-rw-r--r-- | runtime/syntax/forth.vim | 110 | ||||
-rw-r--r-- | runtime/syntax/mailaliases.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/make.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/modconf.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/natural.vim | 252 | ||||
-rw-r--r-- | runtime/syntax/racc.vim | 14 | ||||
-rw-r--r-- | runtime/syntax/sas.vim | 115 | ||||
-rw-r--r-- | runtime/syntax/sh.vim | 9 | ||||
-rw-r--r-- | runtime/syntax/sieve.vim | 6 | ||||
-rw-r--r-- | runtime/syntax/svn.vim | 5 | ||||
-rw-r--r-- | runtime/syntax/updatedb.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/vim.vim | 19 | ||||
-rw-r--r-- | runtime/syntax/yaml.vim | 176 | ||||
-rw-r--r-- | runtime/syntax/zsh.vim | 43 |
18 files changed, 436 insertions, 370 deletions
diff --git a/runtime/syntax/2html.vim b/runtime/syntax/2html.vim index bd4016615..ee66bf644 100644 --- a/runtime/syntax/2html.vim +++ b/runtime/syntax/2html.vim @@ -1,6 +1,6 @@ " Vim syntax support file " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2007 Aug 31 +" Last Change: 2008 Jul 17 " (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>) @@ -238,7 +238,7 @@ let s:LeadingSpace = ' ' let s:HtmlEndline = '' if exists("html_no_pre") let s:HtmlEndline = '<br' . s:tag_close - let s:LeadingSpace = ' ' + let s:LeadingSpace = ' ' let s:HtmlSpace = '\' . s:LeadingSpace endif diff --git a/runtime/syntax/autohotkey.vim b/runtime/syntax/autohotkey.vim index bbefd6f7b..42d4cfdfe 100644 --- a/runtime/syntax/autohotkey.vim +++ b/runtime/syntax/autohotkey.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: AutoHotkey script file " Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2007-06-01 +" Latest Revision: 2008-06-22 if exists("b:current_syntax") finish @@ -246,6 +246,15 @@ syn keyword autohotkeyBoolean \ true \ false +" TODO: Shouldn't we look for g:, b:, variables before defaulting to +" something? +if exists("g:autohotkey_syntax_sync_minlines") + let b:autohotkey_syntax_sync_minlines = g:autohotkey_syntax_sync_minlines +else + let b:autohotkey_syntax_sync_minlines = 50 +endif +exec "syn sync ccomment autohotkeyComment minlines=" . b:autohotkey_syntax_sync_minlines + hi def link autohotkeyTodo Todo hi def link autohotkeyComment Comment hi def link autohotkeyCommentStart autohotkeyComment diff --git a/runtime/syntax/bzr.vim b/runtime/syntax/bzr.vim index afbae1a7d..2968f79b1 100644 --- a/runtime/syntax/bzr.vim +++ b/runtime/syntax/bzr.vim @@ -4,7 +4,7 @@ " URL: http://www.hlabs.spb.ru/vim/bzr.vim " Revision: $Id$ " Filenames: bzr_log.* -" Version: 1.0 +" Version: 1.1 " For version 5.x: Clear all syntax items. " For version 6.x: Quit when a syntax file was already loaded. @@ -14,7 +14,7 @@ elseif exists("b:current_syntax") finish endif -syn region bzrRegion start="^-\{14} This line and the following will be ignored -\{14}$" end="\%$" contains=ALL +syn region bzrRegion start="^-\{14} This line and the following will be ignored -\{14}$" end="\%$" contains=ALL contains=@NoSpell syn match bzrRemoved "^removed:$" contained syn match bzrAdded "^added:$" contained syn match bzrRenamed "^renamed:$" contained diff --git a/runtime/syntax/doxygen.vim b/runtime/syntax/doxygen.vim index 4916b4d36..fb4d3cca4 100644 --- a/runtime/syntax/doxygen.vim +++ b/runtime/syntax/doxygen.vim @@ -1,11 +1,11 @@ " DoxyGen syntax hilighting extension for c/c++/idl/java -" Language: doxygen on top of c, cpp, idl, java +" Language: doxygen on top of c, cpp, idl, java, php " Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net> " Author: Michael Geddes -" Last Change: April 2007 -" Version: 1.20 +" Last Change: July 2008 +" Version: 1.22 " -" Copyright 2004-2006 Michael Geddes +" Copyright 2004-2008 Michael Geddes " Please feel free to use, modify & distribute all or part of this script, " providing this copyright message remains. " I would appreciate being acknowledged in any derived scripts, and would @@ -30,12 +30,14 @@ " also be set to any highlight attribute. Alternatively, a highlight for doxygenCodeWord " can be used to override it. " -" By default, highlighting is done assumng you have the JAVADOC_AUTOBRIEF +" By default, highlighting is done assuming you have the JAVADOC_AUTOBRIEF " setting turned on in your Doxygen configuration. If you don't, you " can set the variable g:doxygen_javadoc_autobrief to 0 to have the " highlighting more accurately reflect the way Doxygen will interpret your " comments. " +" Support for cpp, c, idl, doxygen and php. +" " Special thanks to: Wu Yongwei, Toby Allsopp " @@ -56,10 +58,10 @@ try " " C/C++ Style line comments - syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend fold - syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenStartL keepend skipwhite skipnl nextgroup=doxygenComment2 fold - syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL keepend skipwhite skipnl fold - syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial fold + syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend fold containedin=phpRegion + syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenStartL,@Spell keepend skipwhite skipnl nextgroup=doxygenComment2 fold containedin=phpRegion + syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL,@Spell keepend skipwhite skipnl fold containedin=phpRegion + syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion " Single line brief followed by multiline comment. syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend fold @@ -98,7 +100,7 @@ try " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl - syn region doxygenBriefLine contained start=+\<\k+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ contains=doxygenContinueComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink skipwhite keepend + syn region doxygenBriefLine contained start=+\<\k+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ contains=doxygenContinueComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipwhite keepend " Match a '<' for applying a comment to the previous element. syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenBody,doxygenSpecial,doxygenStartSkip skipwhite diff --git a/runtime/syntax/forth.vim b/runtime/syntax/forth.vim index a61f7db3f..8713a721a 100644 --- a/runtime/syntax/forth.vim +++ b/runtime/syntax/forth.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: FORTH " Maintainer: Christian V. J. Brüssow <cvjb@cvjb.de> -" Last Change: Sa 14 Jul 2007 21:39:53 CEST +" Last Change: Sa 09 Feb 2008 13:27:29 CET " Filenames: *.fs,*.ft " URL: http://www.cvjb.de/comp/vim/forth.vim @@ -10,9 +10,17 @@ " The list of keywords is incomplete, compared with the offical ANS " wordlist. If you use this language, please improve it, and send me " the patches. +" +" Before sending me patches, please download the newest version of this file +" from http://www.cvjb.de/comp/vim/forth.vim or http://www.vim.org/ (search +" for forth.vim). " Many Thanks to... " +" 2008-02-09: +" Shawn K. Quinn <sjquinn at speakeasy dot net> send a big patch with +" new words commonly used in Forth programs or defined by GNU Forth. +" " 2007-07-11: " Benjamin Krill <ben at codiert dot org> send me a patch " to highlight space errors. @@ -79,7 +87,7 @@ syn keyword forthTodo contained TODO FIXME XXX syn match forthTodo contained 'Copyright\(\s([Cc])\)\=\(\s[0-9]\{2,4}\)\=' " Characters allowed in keywords -" I don't know if 128-255 are allowed in ANS-FORHT +" I don't know if 128-255 are allowed in ANS-FORTH if version >= 600 setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255 else @@ -100,21 +108,27 @@ endif " basic mathematical and logical operators syn keyword forthOperators + - * / MOD /MOD NEGATE ABS MIN MAX -syn keyword forthOperators AND OR XOR NOT INVERT 2* 2/ 1+ 1- 2+ 2- 8* +syn keyword forthOperators AND OR XOR NOT LSHIFT RSHIFT INVERT 2* 2/ 1+ +syn keyword forthOperators 1- 2+ 2- 8* UNDER+ syn keyword forthOperators M+ */ */MOD M* UM* M*/ UM/MOD FM/MOD SM/REM -syn keyword forthOperators D+ D- DNEGATE DABS DMIN DMAX +syn keyword forthOperators D+ D- DNEGATE DABS DMIN DMAX D2* D2/ syn keyword forthOperators F+ F- F* F/ FNEGATE FABS FMAX FMIN FLOOR FROUND syn keyword forthOperators F** FSQRT FEXP FEXPM1 FLN FLNP1 FLOG FALOG FSIN syn keyword forthOperators FCOS FSINCOS FTAN FASIN FACOS FATAN FATAN2 FSINH -syn keyword forthOperators FCOSH FTANH FASINH FACOSH FATANH -syn keyword forthOperators 0< 0<= 0<> 0= 0> 0>= < <= <> = > >= -syn keyword forthOperators ?NEGATE ?DNEGATE +syn keyword forthOperators FCOSH FTANH FASINH FACOSH FATANH F2* F2/ 1/F +syn keyword forthOperators F~REL F~ABS F~ +syn keyword forthOperators 0< 0<= 0<> 0= 0> 0>= < <= <> = > >= U< U<= +syn keyword forthOperators U> U>= D0< D0<= D0<> D0= D0> D0>= D< D<= D<> +syn keyword forthOperators D= D> D>= DU< DU<= DU> DU>= WITHIN ?NEGATE +syn keyword forthOperators ?DNEGATE " stack manipulations syn keyword forthStack DROP NIP DUP OVER TUCK SWAP ROT -ROT ?DUP PICK ROLL -syn keyword forthStack 2DROP 2NIP 2DUP 2OVER 2TUCK 2SWAP 2ROT -syn keyword forthStack 3DUP 4DUP +syn keyword forthStack 2DROP 2NIP 2DUP 2OVER 2TUCK 2SWAP 2ROT 2-ROT +syn keyword forthStack 3DUP 4DUP 5DUP 3DROP 4DROP 5DROP 8DROP 4SWAP 4ROT +syn keyword forthStack 4-ROT 4TUCK 8SWAP 8DUP syn keyword forthRStack >R R> R@ RDROP 2>R 2R> 2R@ 2RDROP +syn keyword forthRstack 4>R 4R> 4R@ 4RDROP syn keyword forthFStack FDROP FNIP FDUP FOVER FTUCK FSWAP FROT " stack pointer manipulations @@ -139,24 +153,40 @@ syn keyword forthLoop ?DO LOOP I J K +DO U+DO -DO U-DO DO +LOOP -LOOP syn keyword forthLoop UNLOOP LEAVE ?LEAVE EXIT DONE FOR NEXT " new words +syn match forthClassDef '\<:class\s*[^ \t]\+\>' +syn match forthObjectDef '\<:object\s*[^ \t]\+\>' syn match forthColonDef '\<:m\?\s*[^ \t]\+\>' syn keyword forthEndOfColonDef ; ;M ;m -syn keyword forthDefine CONSTANT 2CONSTANT FCONSTANT VARIABLE 2VARIABLE CREATE -syn keyword forthDefine USER VALUE TO DEFER IS DOES> IMMEDIATE COMPILE-ONLY -syn keyword forthDefine COMPILE RESTRICT INTERPRET POSTPONE EXECUTE LITERAL -syn keyword forthDefine CREATE-INTERPRET/COMPILE INTERPRETATION> <INTERPRETATION -syn keyword forthDefine COMPILATION> <COMPILATION ] LASTXT COMP' POSTPONE, -syn keyword forthDefine FIND-NAME NAME>INT NAME?INT NAME>COMP NAME>STRING STATE -syn keyword forthDefine C; CVARIABLE +syn keyword forthEndOfClassDef ;class +syn keyword forthEndOfObjectDef ;object +syn keyword forthDefine CONSTANT 2CONSTANT FCONSTANT VARIABLE 2VARIABLE +syn keyword forthDefine FVARIABLE CREATE USER VALUE TO DEFER IS DOES> IMMEDIATE +syn keyword forthDefine COMPILE-ONLY COMPILE RESTRICT INTERPRET POSTPONE EXECUTE +syn keyword forthDefine LITERAL CREATE-INTERPRET/COMPILE INTERPRETATION> +syn keyword forthDefine <INTERPRETATION COMPILATION> <COMPILATION ] LASTXT +syn keyword forthDefine COMP' POSTPONE, FIND-NAME NAME>INT NAME?INT NAME>COMP +syn keyword forthDefine NAME>STRING STATE C; CVARIABLE +syn keyword forthDefine , 2, F, C, +syn match forthDefine "\[IFDEF]" +syn match forthDefine "\[IFUNDEF]" +syn match forthDefine "\[THEN]" +syn match forthDefine "\[ENDIF]" +syn match forthDefine "\[ELSE]" +syn match forthDefine "\[?DO]" +syn match forthDefine "\[DO]" +syn match forthDefine "\[LOOP]" +syn match forthDefine "\[+LOOP]" +syn match forthDefine "\[NEXT]" +syn match forthDefine "\[BEGIN]" +syn match forthDefine "\[UNTIL]" +syn match forthDefine "\[AGAIN]" +syn match forthDefine "\[WHILE]" +syn match forthDefine "\[REPEAT]" syn match forthDefine "\[COMP']" syn match forthDefine "'" syn match forthDefine '\<\[\>' syn match forthDefine "\[']" syn match forthDefine '\[COMPILE]' -syn match forthClassDef '\<:class\s*[^ \t]\+\>' -syn match forthObjectDef '\<:object\s*[^ \t]\+\>' -syn keyword forthEndOfClassDef ';class' -syn keyword forthEndOfObjectDef ';object' " debugging syn keyword forthDebug PRINTDEBUGDATA PRINTDEBUGLINE @@ -175,27 +205,48 @@ syn match forthCharOps '\<\[char\]\s\S\s' syn region forthCharOps start=+."\s+ skip=+\\"+ end=+"+ " char-number conversion -syn keyword forthConversion <# # #> #S (NUMBER) (NUMBER?) CONVERT D>F D>S DIGIT -syn keyword forthConversion DPL F>D HLD HOLD NUMBER S>D SIGN >NUMBER +syn keyword forthConversion <<# <# # #> #>> #S (NUMBER) (NUMBER?) CONVERT D>F +syn keyword forthConversion D>S DIGIT DPL F>D HLD HOLD NUMBER S>D SIGN >NUMBER +syn keyword forthConversion F>S S>F " interptreter, wordbook, compiler syn keyword forthForth (LOCAL) BYE COLD ABORT >BODY >NEXT >LINK CFA >VIEW HERE syn keyword forthForth PAD WORDS VIEW VIEW> N>LINK NAME> LINK> L>NAME FORGET -syn keyword forthForth BODY> +syn keyword forthForth BODY> ASSERT( ASSERT0( ASSERT1( ASSERT2( ASSERT3( ) syn region forthForth start=+ABORT"\s+ skip=+\\"+ end=+"+ " vocabularies syn keyword forthVocs ONLY FORTH ALSO ROOT SEAL VOCS ORDER CONTEXT #VOCS syn keyword forthVocs VOCABULARY DEFINITIONS +" File keywords +syn keyword forthFileMode R/O R/W W/O BIN +syn keyword forthFileWords OPEN-FILE CREATE-FILE CLOSE-FILE DELETE-FILE +syn keyword forthFileWords RENAME-FILE READ-FILE READ-LINE KEY-FILE +syn keyword forthFileWords KEY?-FILE WRITE-FILE WRITE-LINE EMIT-FILE +syn keyword forthFileWords FLUSH-FILE FILE-STATUS FILE-POSITION +syn keyword forthFileWords REPOSITION-FILE FILE-SIZE RESIZE-FILE +syn keyword forthFileWords SLURP-FILE SLURP-FID STDIN STDOUT STDERR +syn keyword forthBlocks OPEN-BLOCKS USE LOAD --> BLOCK-OFFSET +syn keyword forthBlocks GET-BLOCK-FID BLOCK-POSITION LIST SCR BLOCK +syn keyword forthBlocks BUFER EMPTY-BUFFERS EMPTY-BUFFER UPDATE UPDATED? +syn keyword forthBlocks SAVE-BUFFERS SAVE-BUFFER FLUSH THRU +LOAD +THRU +syn keyword forthBlocks BLOCK-INCLUDED + " numbers syn keyword forthMath DECIMAL HEX BASE syn match forthInteger '\<-\=[0-9.]*[0-9.]\+\>' +syn match forthInteger '\<&-\=[0-9.]*[0-9.]\+\>' " recognize hex and binary numbers, the '$' and '%' notation is for gforth syn match forthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess syn match forthInteger '\<\x*\d\x*\>' " *2* --- this order! syn match forthInteger '\<%[0-1]*[0-1]\+\>' -syn match forthFloat '\<-\=\d*[.]\=\d\+[Ee]\d\+\>' +syn match forthFloat '\<-\=\d*[.]\=\d\+[DdEe]\d\+\>' +syn match forthFloat '\<-\=\d*[.]\=\d\+[DdEe][-+]\d\+\>' + +" XXX If you find this overkill you can remove it. this has to come after the +" highlighting for numbers otherwise it has no effect. +syn region forthComment start='0 \[if\]' end='\[endif\]' end='\[then\]' contains=forthTodo " Strings syn region forthString start=+\.*\"+ end=+"+ end=+$+ @@ -212,9 +263,15 @@ syn region forthComment start='/\*' end='\*/' contains=forthTodo,forthSpaceError " Include files syn match forthInclude '^INCLUDE\s\+\k\+' +syn match forthInclude '^require\s\+\k\+' syn match forthInclude '^fload\s\+' syn match forthInclude '^needs\s\+' +" Locals definitions +syn region forthLocals start='{\s' start='{$' end='\s}' end='^}' +syn match forthLocals '{ }' " otherwise, at least two spaces between +syn region forthDeprecated start='locals|' end='|' + " Define the default highlighting. " 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 @@ -257,6 +314,11 @@ if version >= 508 || !exists("did_forth_syn_inits") HiLink forthObjectDef Define HiLink forthEndOfObjectDef Define HiLink forthInclude Include + HiLink forthLocals Type " nothing else uses type and locals must stand out + HiLink forthDeprecated Error " if you must, change to Type + HiLink forthFileMode Function + HiLink forthFileWords Statement + HiLink forthBlocks Statement HiLink forthSpaceError Error delcommand HiLink diff --git a/runtime/syntax/mailaliases.vim b/runtime/syntax/mailaliases.vim index de85a174f..743068f66 100644 --- a/runtime/syntax/mailaliases.vim +++ b/runtime/syntax/mailaliases.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: aliases(5) local alias database file " Maintainer: Nikolai Weibull <nikolai@bitwi.se> -" Latest Revision: 2006-01-14 +" Latest Revision: 2008-04-14 if exists("b:current_syntax") finish @@ -19,7 +19,7 @@ syn match mailaliasesBegin display '^' \ nextgroup=mailaliasesName, \ mailaliasesComment -syn match mailaliasesName contained '[0-9A-Za-z_-]\+' +syn match mailaliasesName contained '[[:alnum:]\._-]\+' \ nextgroup=mailaliasesColon syn region mailaliasesName contained oneline start=+"+ diff --git a/runtime/syntax/make.vim b/runtime/syntax/make.vim index 5e72f4e69..e9d7ee99d 100644 --- a/runtime/syntax/make.vim +++ b/runtime/syntax/make.vim @@ -2,7 +2,7 @@ " Language: Makefile " Maintainer: Claudio Fleiner <claudio@fleiner.com> " URL: http://www.fleiner.com/vim/syntax/make.vim -" Last Change: 2007 Apr 30 +" Last Change: 2008 Aug 04 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -63,7 +63,7 @@ syn match makeCmdNextLine "\\\n."he=e-1 contained " Statements / Functions (GNU make) -syn match makeStatement contained "(\(subst\|addprefix\|addsuffix\|basename\|call\|dir\|error\|eval\|filter-out\|filter\|findstring\|firstword\|foreach\|if\|join\|notdir\|origin\|patsubst\|shell\|sort\|strip\|suffix\|warning\|wildcard\|word\|wordlist\|words\)\>"ms=s+1 +syn match makeStatement contained "(\(subst\|abspath\|addprefix\|addsuffix\|and\|basename\|call\|dir\|error\|eval\|filter-out\|filter\|findstring\|firstword\|flavor\|foreach\|if\|info\|join\|lastword\|notdir\|or\|origin\|patsubst\|realpath\|shell\|sort\|strip\|suffix\|value\|warning\|wildcard\|word\|wordlist\|words\)\>"ms=s+1 " Comment if exists("make_microsoft") diff --git a/runtime/syntax/modconf.vim b/runtime/syntax/modconf.vim index d4e8827be..54b6593b6 100644 --- a/runtime/syntax/modconf.vim +++ b/runtime/syntax/modconf.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: modules.conf(5) configuration file " Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2007-06-17 +" Latest Revision: 2007-10-25 if exists("b:current_syntax") finish @@ -21,7 +21,7 @@ syn keyword modconfConditional if else elseif endif syn keyword modconfPreProc alias define include keep prune \ post-install post-remove pre-install - \ pre-remove persistdir + \ pre-remove persistdir blacklist syn keyword modconfKeyword add above below install options probe probeall \ remove diff --git a/runtime/syntax/natural.vim b/runtime/syntax/natural.vim index f7f140f58..262815137 100644 --- a/runtime/syntax/natural.vim +++ b/runtime/syntax/natural.vim @@ -1,205 +1,209 @@ " Vim syntax file " -" Language: NATURAL -" Version: 2.0.26.17 -" Maintainer: Marko Leipert <vim@mleipert.de> -" Last Changed: 2002-02-28 09:50:36 -" Support: http://www.winconsole.de/vim/syntax.html +" Language: NATURAL +" Version: 2.1.0.3 +" Maintainer: Marko von Oppen <marko@von-oppen.com> +" Last Changed: 2008-07-29 01:40:52 +" Support: http://www.von-oppen.com/ " For version 5.x: Clear all syntax items " For version 6.x: Quit when this syntax file was already loaded if v:version < 600 - syntax clear - set iskeyword+=-,*,#,+,_,/ + syntax clear + set iskeyword+=-,*,#,+,_,/ elseif exists("b:current_syntax") - finish + finish else - setlocal iskeyword+=-,*,#,+,_,/ + setlocal iskeyword+=-,*,#,+,_,/ endif " NATURAL is case insensitive syntax case ignore " preprocessor -syn keyword naturalInclude include nextgroup=naturalObjName skipwhite +syn keyword naturalInclude include nextgroup=naturalObjName skipwhite " define data -syn keyword naturalKeyword define data end-define -syn keyword naturalKeyword independent global parameter local redefine view -syn keyword naturalKeyword const[ant] init initial +syn keyword naturalKeyword define data end-define +syn keyword naturalKeyword independent global parameter local redefine view +syn keyword naturalKeyword const[ant] init initial " loops -syn keyword naturalLoop read end-read end-work find end-find histogram end-histogram -syn keyword naturalLoop end-all sort end-sort sorted descending ascending -syn keyword naturalRepeat repeat end-repeat while until for step end-for -syn keyword naturalKeyword in file with field starting from ending at thru by isn where -syn keyword naturalError on error end-error -syn keyword naturalKeyword accept reject end-enddata number unique retain as release -syn keyword naturalKeyword start end-start break end-break physical page top sequence -syn keyword naturalKeyword end-toppage end-endpage end-endfile before processing -syn keyword naturalKeyword end-before +syn keyword naturalLoop read end-read end-work find end-find histogram end-histogram +syn keyword naturalLoop end-all sort end-sort sorted descending ascending +syn keyword naturalRepeat repeat end-repeat while until for step end-for +syn keyword naturalKeyword in file with field starting from ending at thru by isn where +syn keyword naturalError on error end-error +syn keyword naturalKeyword accept reject end-enddata number unique retain as release +syn keyword naturalKeyword start end-start break end-break physical page top sequence +syn keyword naturalKeyword end-toppage end-endpage end-endfile before processing +syn keyword naturalKeyword end-before " conditionals syn keyword naturalConditional if then else end-if end-norec syn keyword naturalConditional decide end-decide value when condition none any " assignment / calculation -syn keyword naturalKeyword reset assign move left right justified compress to into edited -syn keyword naturalKeyword add subtract multiply divide compute name -syn keyword naturalKeyword all giving remainder rounded leaving space -syn keyword naturalKeyword examine full replace giving separate delimiter modified -syn keyword naturalKeyword suspend identical suppress +syn keyword naturalKeyword reset assign move left right justified compress to into edited +syn keyword naturalKeyword add subtract multiply divide compute name +syn keyword naturalKeyword all giving remainder rounded leaving space numeric +syn keyword naturalKeyword examine full replace giving separate delimiter modified +syn keyword naturalKeyword suspend identical suppress " program flow -syn keyword naturalFlow callnat fetch return enter escape bottom top stack formatted -syn keyword naturalFlow command call -syn keyword naturalflow end-subroutine routine +syn keyword naturalFlow callnat fetch return enter escape bottom top stack formatted +syn keyword naturalFlow command call +syn keyword naturalflow end-subroutine routine " file operations -syn keyword naturalKeyword update store get delete end transaction work once close +syn keyword naturalKeyword update store get delete end transaction work once close " other keywords -syn keyword naturalKeyword first every of no record[s] found ignore immediate -syn keyword naturalKeyword set settime key control stop terminate +syn keyword naturalKeyword first every of no record[s] found ignore immediate +syn keyword naturalKeyword set settime key control stop terminate " in-/output -syn keyword naturalKeyword write display input reinput notitle nohdr map newpage mark -syn keyword naturalKeyword alarm text help eject index -syn keyword naturalKeyword format printer skip lines +syn keyword naturalKeyword write display input reinput notitle nohdr map newpage +syn keyword naturalKeyword alarm text help eject index window base size +syn keyword naturalKeyword format printer skip lines " functions -syn keyword naturalKeyword abs atn cos exp frac int log sgn sin sqrt tan val old +syn keyword naturalKeyword abs atn cos exp frac int log sgn sin sqrt tan val old +syn keyword naturalKeyword pos " report mode keywords syn keyword naturalRMKeyword same loop obtain indexed do doend " Subroutine name -syn keyword naturalFlow perform subroutine nextgroup=naturalFunction skipwhite -syn match naturalFunction "\<[a-z][-_a-z0-9]*\>" +syn keyword naturalFlow perform subroutine nextgroup=naturalFunction skipwhite +syn match naturalFunction "\<[a-z][-_a-z0-9]*\>" -syn keyword naturalFlow using nextgroup=naturalKeyword,naturalObjName skipwhite -syn match naturalObjName "\<[a-z][-_a-z0-9]\{,7}\>" +syn keyword naturalFlow using nextgroup=naturalKeyword,naturalObjName skipwhite +syn match naturalObjName "\<[a-z][-_a-z0-9]\{,7}\>" " Labels -syn match naturalLabel "\<[+#a-z][-_#a-z0-9]*\." -syn match naturalRef "\<[+#a-z][-_#a-z0-9]*\>\.\<[+#a-z][*]\=[-_#a-z0-9]*\>" +syn match naturalLabel "\<[+#a-z][-_#a-z0-9]*\." +syn match naturalRef "\<[+#a-z][-_#a-z0-9]*\>\.\<[+#a-z][*]\=[-_#a-z0-9]*\>" + +" mark keyword special handling +syn keyword naturalKeyword mark nextgroup=naturalMark skipwhite +syn match naturalMark "\<\*[a-z][-_#.a-z0-9]*\>" " System variables -syn match naturalSysVar "\<\*[a-z][-a-z0-9]*\>" +syn match naturalSysVar "\<\*[a-z][-a-z0-9]*\>" "integer number, or floating point number without a dot. -syn match naturalNumber "\<-\=\d\+\>" +syn match naturalNumber "\<-\=\d\+\>" "floating point number, with dot -syn match naturalNumber "\<-\=\d\+\.\d\+\>" +syn match naturalNumber "\<-\=\d\+\.\d\+\>" "floating point number, starting with a dot -syn match naturalNumber "\.\d\+" +syn match naturalNumber "\.\d\+" " Formats in write statement -syn match naturalFormat "\<\d\+[TX]\>" +syn match naturalFormat "\<\d\+[TX]\>" " String and Character contstants -syn match naturalString "H'\x\+'" -syn region naturalString start=+"+ end=+"+ -syn region naturalString start=+'+ end=+'+ +syn match naturalString "H'\x\+'" +syn region naturalString start=+"+ end=+"+ +syn region naturalString start=+'+ end=+'+ " Type definition -syn match naturalAttribute "\<[-a-z][a-z]=[-a-z0-9_\.,]\+\>" -syn match naturalType contained "\<[ABINP]\d\+\(,\d\+\)\=\>" -syn match naturalType contained "\<[CL]\>" +syn match naturalAttribute "\<[-a-z][a-z]=[-a-z0-9_\.,]\+\>" +syn match naturalType contained "\<[ABINP]\d\+\(,\d\+\)\=\>" +syn match naturalType contained "\<[CL]\>" " "TODO" / other comments -syn keyword naturalTodo contained todo test -syn match naturalCommentMark contained "[a-z][^ \t/:|]*\(\s[^ \t/:'"|]\+\)*:\s"he=e-1 +syn keyword naturalTodo contained todo test +syn match naturalCommentMark contained "[a-z][^ \t/:|]*\(\s[^ \t/:'"|]\+\)*:\s"he=e-1 " comments -syn region naturalComment start="/\*" end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark -syn region naturalComment start="^\*[\ \*]" end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark -syn region naturalComment start="^\d\{4} \*[\ \*]"lc=5 end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark -syn match naturalComment "^*$" -syn match naturalComment "^\d\{4} \*$"lc=5 +syn region naturalComment start="/\*" end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark +syn region naturalComment start="^\*[ *]" end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark +syn region naturalComment start="^\d\{4} \*[\ \*]"lc=5 end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark +syn match naturalComment "^\*$" +syn match naturalComment "^\d\{4} \*$"lc=5 " /* is legal syntax in parentheses e.g. "#ident(label./*)" -syn region naturalPComment contained start="/\*\s*[^),]" end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark +syn region naturalPComment contained start="/\*\s*[^),]" end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark " operators -syn keyword naturalOperator and or not eq ne gt lt ge le mask scan +syn keyword naturalOperator and or not eq ne gt lt ge le mask scan modified " constants -syn keyword naturalBoolean true false - -syn match naturalLineNo "^\d\{4}" +syn keyword naturalBoolean true false +syn match naturalLineNo "^\d\{4}" " identifiers -syn match naturalIdent "\<[+#a-z][-_#a-z0-9]*\>[^\.']"me=e-1 -syn match naturalIdent "\<[+#a-z][-_#a-z0-9]*$" -syn match naturalLegalIdent "[+#a-z][-_#a-z0-9]*/[-_#a-z0-9]*" +syn match naturalIdent "\<[+#a-z][-_#a-z0-9]*\>[^\.']"me=e-1 +syn match naturalIdent "\<[+#a-z][-_#a-z0-9]*$" +syn match naturalLegalIdent "[+#a-z][-_#a-z0-9]*/[-_#a-z0-9]*" " parentheses -syn region naturalPar matchgroup=naturalParGui start="(" end=")" contains=naturalLabel,naturalRef,naturalOperator,@naturalConstant,naturalType,naturalSysVar,naturalPar,naturalLineNo,naturalPComment -syn match naturalLineRef "(\d\{4})" +syn region naturalPar matchgroup=naturalParGui start="(" end=")" contains=naturalLabel,naturalRef,naturalOperator,@naturalConstant,naturalType,naturalSysVar,naturalPar,naturalLineNo,naturalPComment +syn match naturalLineRef "(\d\{4})" " build syntax groups syntax cluster naturalConstant contains=naturalString,naturalNumber,naturalAttribute,naturalBoolean " folding if v:version >= 600 - set foldignore=* + set foldignore=* endif if v:version >= 508 || !exists("did_natural_syntax_inits") - if v:version < 508 - let did_natural_syntax_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - " The default methods for highlighting. Can be overridden later - - " Constants - HiLink naturalFormat Constant - HiLink naturalAttribute Constant - HiLink naturalNumber Number - HiLink naturalString String - HiLink naturalBoolean Boolean - - " All kinds of keywords - HiLink naturalConditional Conditional - HiLink naturalRepeat Repeat - HiLink naturalLoop Repeat - HiLink naturalFlow Keyword - HiLink naturalError Keyword - HiLink naturalKeyword Keyword - HiLink naturalOperator Operator - HiLink naturalParGui Operator - - " Labels - HiLink naturalLabel Label - HiLink naturalRefLabel Label - - " Comments - HiLink naturalPComment Comment - HiLink naturalComment Comment - HiLink naturalTodo Todo - HiLink naturalCommentMark PreProc - - HiLink naturalInclude Include - HiLink naturalSysVar Identifier - HiLink naturalLineNo LineNr - HiLink naturalLineRef Error - HiLink naturalSpecial Special - HiLink naturalComKey Todo - - " illegal things - HiLink naturalRMKeyword Error - HiLink naturalLegalIdent Error - - HiLink naturalType Type - HiLink naturalFunction Function - HiLink naturalObjName Function - - delcommand HiLink + if v:version < 508 + let did_natural_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + " The default methods for highlighting. Can be overridden later + + " Constants + HiLink naturalFormat Constant + HiLink naturalAttribute Constant + HiLink naturalNumber Number + HiLink naturalString String + HiLink naturalBoolean Boolean + + " All kinds of keywords + HiLink naturalConditional Conditional + HiLink naturalRepeat Repeat + HiLink naturalLoop Repeat + HiLink naturalFlow Keyword + HiLink naturalError Keyword + HiLink naturalKeyword Keyword + HiLink naturalOperator Operator + HiLink naturalParGui Operator + + " Labels + HiLink naturalLabel Label + HiLink naturalRefLabel Label + + " Comments + HiLink naturalPComment Comment + HiLink naturalComment Comment + HiLink naturalTodo Todo + HiLink naturalCommentMark PreProc + + HiLink naturalInclude Include + HiLink naturalSysVar Identifier + HiLink naturalLineNo LineNr + HiLink naturalLineRef Error + HiLink naturalSpecial Special + HiLink naturalComKey Todo + + " illegal things + HiLink naturalRMKeyword Error + HiLink naturalLegalIdent Error + + HiLink naturalType Type + HiLink naturalFunction Function + HiLink naturalObjName PreProc + + delcommand HiLink endif let b:current_syntax = "natural" -" vim:set ts=4 sw=4 noet ft=vim list: +" vim:set ts=8 sw=8 noet ft=vim: diff --git a/runtime/syntax/racc.vim b/runtime/syntax/racc.vim index 795b65243..d412227cb 100644 --- a/runtime/syntax/racc.vim +++ b/runtime/syntax/racc.vim @@ -1,7 +1,7 @@ " Vim default file " Language: Racc input file " Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2006-07-09 +" Latest Revision: 2008-06-22 if exists("b:current_syntax") finish @@ -31,7 +31,7 @@ syn keyword raccPrecSpec contained nonassoc left right \ nextgroup=raccPrecToken,raccPrecString skipwhite \ skipnl -syn match raccPrecToken contained '\<\u[A-Z0-9]*\>' +syn match raccPrecToken contained '\<\u[A-Z0-9_]*\>' \ nextgroup=raccPrecToken,raccPrecString skipwhite \ skipnl @@ -48,7 +48,7 @@ syn region raccPrecString matchgroup=raccPrecString start=+'+ syn keyword raccTokenDecl contained token \ nextgroup=raccTokenR skipwhite skipnl -syn match raccTokenR contained '\<\u[A-Z0-9]*\>' +syn match raccTokenR contained '\<\u[A-Z0-9_]*\>' \ nextgroup=raccTokenR skipwhite skipnl syn keyword raccExpect contained expect @@ -67,13 +67,13 @@ syn region raccConvert transparent contained matchgroup=raccKeyword \ contains=raccComment,raccConvToken skipwhite \ skipnl -syn match raccConvToken contained '\<\u[A-Z0-9]*\>' +syn match raccConvToken contained '\<\u[A-Z0-9_]*\>' \ nextgroup=raccString skipwhite skipnl syn keyword raccStart contained start \ nextgroup=raccTargetS skipwhite skipnl -syn match raccTargetS contained '\<\l[a-z0-9]*\>' +syn match raccTargetS contained '\<\l[a-z0-9_]*\>' syn match raccSpecial contained '\\["'\\]' @@ -87,11 +87,11 @@ syn region raccRules transparent matchgroup=raccKeyword start='\<rule\>' \ raccNumber,raccToken,raccTarget,raccDelimiter, \ raccAction -syn match raccTarget contained '\<\l[a-z0-9]*\>' +syn match raccTarget contained '\<\l[a-z0-9_]*\>' syn match raccDelimiter contained '[:|]' -syn match raccToken contained '\<\u[A-Z0-9]*\>' +syn match raccToken contained '\<\u[A-Z0-9_]*\>' syn include @raccRuby syntax/ruby.vim diff --git a/runtime/syntax/sas.vim b/runtime/syntax/sas.vim index 68e8788e2..976dca26f 100644 --- a/runtime/syntax/sas.vim +++ b/runtime/syntax/sas.vim @@ -1,7 +1,11 @@ " Vim syntax file " Language: SAS " Maintainer: James Kidd <james.kidd@covance.com> -" Last Change: 02 Jun 2003 +" Last Change: 18 Jul 2008 by Paulo Tanimoto <ptanimoto@gmail.com> +" Fixed comments with * taking multiple lines. +" Fixed highlighting of macro keywords. +" Added words to cases that didn't fit anywhere. +" 02 Jun 2003 " Added highlighting for additional keywords and such; " Attempted to match SAS default syntax colors; " Changed syncing so it doesn't lose colors on large blocks; @@ -25,18 +29,18 @@ syn region sasCards start="^\s*DATALINES.*" end="^\s*;\s*$" syn match sasNumber "-\=\<\d*\.\=[0-9_]\>" +" Block comment syn region sasComment start="/\*" end="\*/" contains=sasTodo + " Ignore misleading //JCL SYNTAX... (Bob Heckel) syn region sasComment start="[^/][^/]/\*" end="\*/" contains=sasTodo -" Allow highlighting of embedded TODOs (Bob Heckel) -syn match sasComment "^\s*\*.*;" contains=sasTodo - -" Allow highlighting of embedded TODOs (Bob Heckel) -syn match sasComment ";\s*\*.*;"hs=s+1 contains=sasTodo +" Previous code for comments was written by Bob Heckel +" Comments with * may take multiple lines (Paulo Tanimoto) +syn region sasComment start=";\s*\*"hs=s+1 end=";" contains=sasTodo -" Handle macro comments too (Bob Heckel). -syn match sasComment "^\s*%*\*.*;" contains=sasTodo +" Comments with * starting after a semicolon (Paulo Tanimoto) +syn region sasComment start="^\s*\*" end=";" contains=sasTodo " This line defines macro variables in code. HiLink at end of file " defines the color scheme. Begin region with ampersand and end with @@ -84,24 +88,71 @@ syn keyword sasStatement NULL ON OR ORDER PRIMARY REFERENCES syn keyword sasStatement RESET RESTRICT SELECT SET TABLE syn keyword sasStatement UNIQUE UPDATE VALIDATE VIEW WHERE - -syn match sasStatement "FOOTNOTE\d" "TITLE\d" - -syn match sasMacro "%BQUOTE" "%NRBQUOTE" "%CMPRES" "%QCMPRES" -syn match sasMacro "%COMPSTOR" "%DATATYP" "%DISPLAY" "%DO" -syn match sasMacro "%ELSE" "%END" "%EVAL" "%GLOBAL" -syn match sasMacro "%GOTO" "%IF" "%INDEX" "%INPUT" -syn match sasMacro "%KEYDEF" "%LABEL" "%LEFT" "%LENGTH" -syn match sasMacro "%LET" "%LOCAL" "%LOWCASE" "%MACRO" -syn match sasMacro "%MEND" "%NRBQUOTE" "%NRQUOTE" "%NRSTR" -syn match sasMacro "%PUT" "%QCMPRES" "%QLEFT" "%QLOWCASE" -syn match sasMacro "%QSCAN" "%QSUBSTR" "%QSYSFUNC" "%QTRIM" -syn match sasMacro "%QUOTE" "%QUPCASE" "%SCAN" "%STR" -syn match sasMacro "%SUBSTR" "%SUPERQ" "%SYSCALL" "%SYSEVALF" -syn match sasMacro "%SYSEXEC" "%SYSFUNC" "%SYSGET" "%SYSLPUT" -syn match sasMacro "%SYSPROD" "%SYSRC" "%SYSRPUT" "%THEN" -syn match sasMacro "%TO" "%TRIM" "%UNQUOTE" "%UNTIL" -syn match sasMacro "%UPCASE" "%VERIFY" "%WHILE" "%WINDOW" +" Match declarations have to appear one per line (Paulo Tanimoto) +syn match sasStatement "FOOTNOTE\d" +syn match sasStatement "TITLE\d" + +" Match declarations have to appear one per line (Paulo Tanimoto) +syn match sasMacro "%BQUOTE" +syn match sasMacro "%NRBQUOTE" +syn match sasMacro "%CMPRES" +syn match sasMacro "%QCMPRES" +syn match sasMacro "%COMPSTOR" +syn match sasMacro "%DATATYP" +syn match sasMacro "%DISPLAY" +syn match sasMacro "%DO" +syn match sasMacro "%ELSE" +syn match sasMacro "%END" +syn match sasMacro "%EVAL" +syn match sasMacro "%GLOBAL" +syn match sasMacro "%GOTO" +syn match sasMacro "%IF" +syn match sasMacro "%INDEX" +syn match sasMacro "%INPUT" +syn match sasMacro "%KEYDEF" +syn match sasMacro "%LABEL" +syn match sasMacro "%LEFT" +syn match sasMacro "%LENGTH" +syn match sasMacro "%LET" +syn match sasMacro "%LOCAL" +syn match sasMacro "%LOWCASE" +syn match sasMacro "%MACRO" +syn match sasMacro "%MEND" +syn match sasMacro "%NRBQUOTE" +syn match sasMacro "%NRQUOTE" +syn match sasMacro "%NRSTR" +syn match sasMacro "%PUT" +syn match sasMacro "%QCMPRES" +syn match sasMacro "%QLEFT" +syn match sasMacro "%QLOWCASE" +syn match sasMacro "%QSCAN" +syn match sasMacro "%QSUBSTR" +syn match sasMacro "%QSYSFUNC" +syn match sasMacro "%QTRIM" +syn match sasMacro "%QUOTE" +syn match sasMacro "%QUPCASE" +syn match sasMacro "%SCAN" +syn match sasMacro "%STR" +syn match sasMacro "%SUBSTR" +syn match sasMacro "%SUPERQ" +syn match sasMacro "%SYSCALL" +syn match sasMacro "%SYSEVALF" +syn match sasMacro "%SYSEXEC" +syn match sasMacro "%SYSFUNC" +syn match sasMacro "%SYSGET" +syn match sasMacro "%SYSLPUT" +syn match sasMacro "%SYSPROD" +syn match sasMacro "%SYSRC" +syn match sasMacro "%SYSRPUT" +syn match sasMacro "%THEN" +syn match sasMacro "%TO" +syn match sasMacro "%TRIM" +syn match sasMacro "%UNQUOTE" +syn match sasMacro "%UNTIL" +syn match sasMacro "%UPCASE" +syn match sasMacro "%VERIFY" +syn match sasMacro "%WHILE" +syn match sasMacro "%WINDOW" " SAS Functions @@ -159,13 +210,17 @@ syn keyword sasErrMsg ERROR syn keyword sasTodo TODO TBD FIXME contained " These don't fit anywhere else (Bob Heckel). -syn match sasUnderscore "_NULL_" +" Added others that were missing. +syn match sasUnderscore "_ALL_" +syn match sasUnderscore "_AUTOMATIC_" +syn match sasUnderscore "_CHARACTER_" syn match sasUnderscore "_INFILE_" syn match sasUnderscore "_N_" -syn match sasUnderscore "_WEBOUT_" +syn match sasUnderscore "_NAME_" +syn match sasUnderscore "_NULL_" syn match sasUnderscore "_NUMERIC_" -syn match sasUnderscore "_CHARACTER_" -syn match sasUnderscore "_ALL_" +syn match sasUnderscore "_USER_" +syn match sasUnderscore "_WEBOUT_" " End of SAS Functions diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim index cb92bbda8..5fa8d938f 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 01, 2008 -" Version: 100 +" Last Change: Jul 11, 2008 +" Version: 102 " 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) @@ -42,9 +42,6 @@ if !exists("b:is_kornshell") && !exists("b:is_bash") endif endif -" adjust iskeyword for shell characters -"setlocal isk=@,48-57,_,192-255,#,.,/ - " set up default g:sh_fold_enabled {{{1 if !exists("g:sh_fold_enabled") let g:sh_fold_enabled= 0 @@ -275,7 +272,7 @@ else endif syn region shSingleQuote matchgroup=shOperator start=+'+ end=+'+ contains=shStringSpecial,@Spell syn region shDoubleQuote matchgroup=shOperator start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell -syn match shStringSpecial "[^[:print:]]" contained +syn match shStringSpecial "[^[:print:] \t]" contained syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]" syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]" diff --git a/runtime/syntax/sieve.vim b/runtime/syntax/sieve.vim index f651cbd4e..4bb4417f3 100644 --- a/runtime/syntax/sieve.vim +++ b/runtime/syntax/sieve.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Sieve filtering language input file " Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2006-04-19 +" Latest Revision: 2007-10-25 if exists("b:current_syntax") finish @@ -33,7 +33,7 @@ syn keyword sieveTest address allof anyof envelope exists false header \ not size true syn keyword sievePreProc require stop syn keyword sieveAction reject fileinto redirect keep discard -syn match sieveKeyword '\<\h\w*\>' +syn keyword sieveKeyword vacation syn case match @@ -46,7 +46,7 @@ hi def link sieveString String hi def link sieveConditional Conditional hi def link sieveTest Keyword hi def link sievePreProc PreProc -hi def link sieveAction Keyword +hi def link sieveAction Function hi def link sieveKeyword Keyword let b:current_syntax = "sieve" diff --git a/runtime/syntax/svn.vim b/runtime/syntax/svn.vim index d691ba15c..bb4f59446 100644 --- a/runtime/syntax/svn.vim +++ b/runtime/syntax/svn.vim @@ -4,10 +4,11 @@ " URL: http://www.hlabs.spb.ru/vim/svn.vim " Revision: $Id$ " Filenames: svn-commit*.tmp -" Version: 1.5 +" Version: 1.6 " Contributors: " Stefano Zacchiroli +" A. S. Budden " For version 5.x: Clear all syntax items. " For version 6.x: Quit when a syntax file was already loaded. @@ -17,7 +18,7 @@ elseif exists("b:current_syntax") finish endif -syn region svnRegion start="^--.*--$" end="\%$" contains=ALL +syn region svnRegion start="^--.*--$" end="\%$" contains=ALL contains=@NoSpell syn match svnRemoved "^D .*$" contained syn match svnAdded "^A[ M] .*$" contained syn match svnModified "^M[ M] .*$" contained diff --git a/runtime/syntax/updatedb.vim b/runtime/syntax/updatedb.vim index dd8e6f7a5..4f912d4d9 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: 2006-04-19 +" Latest Revision: 2007-10-25 if exists("b:current_syntax") finish @@ -18,7 +18,7 @@ syn region updatedbComment display oneline start='^\s*#' end='$' syn match updatedbBegin display '^' \ nextgroup=updatedbName,updatedbComment skipwhite -syn keyword updatedbName contained PRUNEFS PRUNEPATHS +syn keyword updatedbName contained PRUNEFS PRUNEPATHS PRUNE_BIND_MOUNTS \ nextgroup=updatedbNameEq syn match updatedbNameEq contained display '=' nextgroup=updatedbValue diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index c220f9de2..5bfcd6606 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: Jul 10, 2008 -" Version: 7.2-79+ +" Last Change: July 29, 2008 +" Version: 7.2-82 " 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 ab[breviate] argd[elete] ar[gs] bd[elete] bn[ext] breaka[dd] bufdo ca[bbrev] cal[l] cd cgetb[uffer] chd[ir] clo[se] cnf[ile] 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] helpg[rep] iabc[lear] inorea[bbrev] ju[mps] 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] 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 abc[lear] argdo argu[ment] bel[owright] bN[ext] breakd[el] b[uffer] cabc[lear] cat[ch] ce[nter] cgete[xpr] che[ckpath] cmapc[lear] 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] helpt[ags] if is[earch] k 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] 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 abo[veleft] arge[dit] as[cii] bf[irst] bo[tright] breakl[ist] buffers caddb[uffer] cb[uffer] cex[pr] cg[etfile] checkt[ime] cnew[er] cnorea[bbrev] conf[irm] cp[revious] debugg[reedy] diffg[et] diffthis dl[ist] echoe[rr] elsei[f] en[dif] exi[t] fina[lly] fo[ld] for ha[rdcopy] hid[e] ij[ump] isp[lit] keepalt 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] 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 al[l] argg[lobal] bad[d] bl[ast] bp[revious] br[ewind] bun[load] cad[dexpr] cc cf[ile] c[hange] cla[st] cn[ext] 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] h[elp] his[tory] il[ist] iuna[bbrev] keepj[umps] 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] norea[bbrev] 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 arga[dd] argl[ocal] ba[ll] bm[odified] brea[k] bro[wse] bw[ipeout] caddf[ile] ccl[ose] cfir[st] changes cl[ist] 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] helpf[ind] ia[bbrev] imapc[lear] j[oin] kee[pmarks] +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 match vimCommand contained "\<z[-+^.=]" " vimOptions are caught only when contained in a vimSet {{{2 @@ -292,6 +292,10 @@ syn match vimSetMod contained "&vim\|[!&]\|all&" " === syn keyword vimLet let unl[et] skipwhite nextgroup=vimVar +" Abbreviations {{{2 +" ============= +syn keyword vimAbb ab[breviate] ca[bbrev] inorea[bbrev] cnorea[bbrev] norea[bbrev] ia[bbrev] skipwhite nextgroup=vimMapMod,vimMapLhs + " Autocmd {{{2 " ======= syn match vimAutoEventList contained "\(!\s\+\)\=\(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace @@ -664,6 +668,7 @@ if !exists("g:vimsyn_noerror") hi def link vimBufnrWarn vimWarn endif +hi def link vimAbb vimCommand hi def link vimAddress vimMark hi def link vimAugroupKey vimCommand hi def link vimAutoCmdOpt vimOption diff --git a/runtime/syntax/yaml.vim b/runtime/syntax/yaml.vim index abda3f8b4..9ebab7068 100644 --- a/runtime/syntax/yaml.vim +++ b/runtime/syntax/yaml.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: YAML (YAML Ain't Markup Language) " Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2007-06-27 +" Latest Revision: 2006-04-19 if exists("b:current_syntax") finish @@ -10,140 +10,53 @@ endif let s:cpo_save = &cpo set cpo&vim -syn keyword yamlTodo - \ contained - \ TODO - \ FIXME - \ XXX - \ NOTE - -syn region yamlComment - \ display - \ oneline - \ start='%(^|s)#' - \ end='$' - \ contains=yamlTodo,@Spell - -syn match yamlNodeProperty - \ '!\%(![^\\^% \t]\+\|[^!][^:/ \t]*\)' - -syn match yamlAnchor - \ '&.+' - -syn match yamlAlias - \ '*.+' - -syn match yamlDelimiter - \ '[-,:]' -syn match yamlBlock - \ '[[]{}>|]' -syn match yamlOperator - \ '[?+-]' -syn match yamlKey - \ 'w+(s+w+)*zes*:' - -syn region yamlString - \ start=+"+ - \ skip=+\"+ - \ end=+"+ - \ contains=yamlEscape -syn region yamlString - \ start=+'+ - \ skip=+''+ - \ end=+'+ - \ contains=yamlSingleEscape -syn match yamlEscape - \ contained - \ display - \ +\[\"abefnrtv^0_ NLP]+ -syn match yamlEscape - \ contained - \ display - \ '\xx{2}' -syn match yamlEscape - \ contained - \ display - \ '\ux{4}' -syn match yamlEscape - \ contained - \ display - \ '\Ux{8}' +syn keyword yamlTodo contained TODO FIXME XXX NOTE +syn region yamlComment display oneline start='\%(^\|\s\)#' end='$' + \ contains=yamlTodo,@Spell + +syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)' + +syn match yamlAnchor '&.\+' + +syn match yamlAlias '\*.\+' + +syn match yamlDelimiter '[-,:]' +syn match yamlBlock '[\[\]{}>|]' +syn match yamlOperator '[?+-]' +syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:' + +syn region yamlString start=+"+ skip=+\\"+ end=+"+ + \ contains=yamlEscape +syn region yamlString start=+'+ skip=+''+ end=+'+ + \ contains=yamlSingleEscape +syn match yamlEscape contained display +\\[\\"abefnrtv^0_ NLP]+ +syn match yamlEscape contained display '\\x\x\{2}' +syn match yamlEscape contained display '\\u\x\{4}' +syn match yamlEscape contained display '\\U\x\{8}' " TODO: how do we get 0x85, 0x2028, and 0x2029 into this? -" XXX: Em, what is going on here? This can't be right. Leave out until we -" figure out what this is meant to do. -"syn match yamlEscape -" \ contained -" \ display -" \ '\%(rn|[rn])' -syn match yamlSingleEscape - \ contained - \ display - \ +''+ +syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)' +syn match yamlSingleEscape contained display +''+ " TODO: sexagecimal and fixed (20:30.15 and 1,230.15) -syn match yamlNumber - \ display - \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' -syn match yamlNumber - \ display - \ '0o+' -syn match yamlNumber - \ display - \ '0xx+' -syn match yamlNumber - \ display - \ '([+-]=[iI]nf)' -syn match yamlNumber - \ display - \ '(NaN)' - -syn match yamlConstant - \ '<[~yn]>' -syn keyword yamlConstant - \ true - \ True - \ TRUE - \ false - \ False - \ FALSE -syn keyword yamlConstant - \ yes - \ Yes - \ on - \ ON - \ no - \ No - \ off - \ OFF -syn keyword yamlConstant - \ null - \ Null - \ NULL - \ nil - \ Nil - \ NIL - -syn match yamlTimestamp - \ '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\=' - -syn region yamlDocumentHeader - \ start='---' - \ end='$' - \ contains=yamlDirective -syn match yamlDocumentEnd - \ '\.\.\.' - -syn match yamlDirective - \ contained - \ '%[^:]+:.+' - -syn match yamlIndentation - \ '^s*' - \ contains=yamlIndentationError - -syn match yamlIndentationError - \ 't' +syn match yamlNumber display + \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' +syn match yamlNumber display '0\o\+' +syn match yamlNumber display '0x\x\+' +syn match yamlNumber display '([+-]\=[iI]nf)' +syn match yamlNumber display '(NaN)' + +syn match yamlConstant '\<[~yn]\>' +syn keyword yamlConstant true True TRUE false False FALSE +syn keyword yamlConstant yes Yes on ON no No off OFF +syn keyword yamlConstant null Null NULL nil Nil NIL + +syn match yamlTimestamp '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\=' + +syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective +syn match yamlDocumentEnd '\.\.\.' + +syn match yamlDirective contained '%[^:]\+:.\+' hi def link yamlTodo Todo hi def link yamlComment Comment @@ -163,7 +76,6 @@ hi def link yamlSingleEscape SpecialChar hi def link yamlNumber Number hi def link yamlConstant Constant hi def link yamlTimestamp Number -hi def link yamlIndentationError Error let b:current_syntax = "yaml" diff --git a/runtime/syntax/zsh.vim b/runtime/syntax/zsh.vim index eb19eba56..ecd6f058b 100644 --- a/runtime/syntax/zsh.vim +++ b/runtime/syntax/zsh.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Zsh shell script " Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2007-06-17 +" Latest Revision: 2008-07-17 if exists("b:current_syntax") finish @@ -34,7 +34,9 @@ syn keyword zshDelimiter do done syn keyword zshConditional if then elif else fi case in esac select -syn keyword zshRepeat for while until repeat foreach +syn keyword zshRepeat while until repeat + +syn keyword zshRepeat for foreach nextgroup=zshVariable skipwhite syn keyword zshException always @@ -49,19 +51,30 @@ syn match zshRedir '\d\=\(<\|<>\|<<<\|<&\s*[0-9p-]\=\)' syn match zshRedir '\d\=\(>\|>>\|>&\s*[0-9p-]\=\|&>\|>>&\|&>>\)[|!]\=' syn match zshRedir '|&\=' -syn region zshHereDoc matchgroup=zshRedir start='<<\s*\z(\S*\)' - \ end='^\z1\>' contains=@zshSubst -syn region zshHereDoc matchgroup=zshRedir start='<<-\s*\z(\S*\)' - \ end='^\s*\z1\>' contains=@zshSubst syn region zshHereDoc matchgroup=zshRedir - \ start=+<<\s*\(["']\)\z(\S*\)\1+ end='^\z1\>' + \ start='<\@<!<<\s*\z([^<]\S*\)' + \ end='^\z1\>' + \ contains=@zshSubst +syn region zshHereDoc matchgroup=zshRedir + \ start='<\@<!<<\s*\\\z(\S\+\)' + \ end='^\z1\>' + \ contains=@zshSubst +syn region zshHereDoc matchgroup=zshRedir + \ start='<\@<!<<-\s*\\\=\z(\S\+\)' + \ end='^\s*\z1\>' + \ contains=@zshSubst +syn region zshHereDoc matchgroup=zshRedir + \ start=+<\@<!<<\s*\(["']\)\z(\S\+\)\1+ + \ end='^\z1\>' syn region zshHereDoc matchgroup=zshRedir - \ start=+<<-\s*\(["']\)\z(\S*\)\1+ + \ start=+<\@<!<<-\s*\(["']\)\z(\S\+\)\1+ \ end='^\s*\z1\>' -syn match zshVariable '\<\h\w*\ze+\==' +syn match zshVariable '\<\h\w*' contained + +syn match zshVariableDef '\<\h\w*\ze+\==' " XXX: how safe is this? -syn region zshVariable oneline +syn region zshVariableDef oneline \ start='\$\@<!\<\h\w*\[' end='\]\ze+\==' \ contains=@zshSubst @@ -87,7 +100,7 @@ endif if s:zsh_syntax_variables =~ 'all' syn match zshDeref '\$[=^~]*[#+]*\h\w*\>' else - syn match zshDeref transparent '\$[=^~]*[#+]*\h\w*\>' + syn match zshDeref transparent contains=NONE '\$[=^~]*[#+]*\h\w*\>' endif syn match zshCommands '\%(^\|\s\)[.:]\ze\s' @@ -119,6 +132,7 @@ syn match zshNumber '[+-]\=\<0\o\+\>' syn match zshNumber '[+-]\=\d\+#[-+]\=\w\+\>' syn match zshNumber '[+-]\=\d\+\.\d\+\>' +" TODO: $[...] is the same as $((...)), so add that as well. syn cluster zshSubst contains=zshSubst,zshOldSubst,zshMathSubst syn region zshSubst matchgroup=zshSubstDelim transparent \ start='\$(' skip='\\)' end=')' contains=TOP @@ -131,10 +145,14 @@ syn region zshMathSubst matchgroup=zshSubstDelim transparent syn region zshBrackets contained transparent start='{' skip='\\}' \ end='}' syn region zshSubst matchgroup=zshSubstDelim start='\${' skip='\\}' - \ end='}' contains=@zshSubst,zshBrackets,zshQuoted + \ end='}' contains=@zshSubst,zshBrackets,zshQuoted,zshString syn region zshOldSubst matchgroup=zshSubstDelim start=+`+ skip=+\\`+ \ end=+`+ contains=TOP,zshOldSubst +syn sync minlines=50 +syn sync match zshHereDocSync grouphere NONE '<<-\=\s*\%(\\\=\S\+\|\(["']\)\S\+\1\)' +syn sync match zshHereDocEndSync groupthere NONE '^\s*EO\a\+\>' + hi def link zshTodo Todo hi def link zshComment Comment hi def link zshPreProc PreProc @@ -163,6 +181,7 @@ else hi def link zshRedir None endif hi def link zshVariable None +hi def link zshVariableDef zshVariable hi def link zshDereferencing PreProc if s:zsh_syntax_variables =~ 'short\|all' hi def link zshShortDeref zshDereferencing |