summaryrefslogtreecommitdiff
path: root/runtime/syntax
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/2html.vim4
-rw-r--r--runtime/syntax/autohotkey.vim11
-rw-r--r--runtime/syntax/bzr.vim4
-rw-r--r--runtime/syntax/doxygen.vim22
-rw-r--r--runtime/syntax/forth.vim110
-rw-r--r--runtime/syntax/mailaliases.vim4
-rw-r--r--runtime/syntax/make.vim4
-rw-r--r--runtime/syntax/modconf.vim4
-rw-r--r--runtime/syntax/natural.vim252
-rw-r--r--runtime/syntax/racc.vim14
-rw-r--r--runtime/syntax/sas.vim115
-rw-r--r--runtime/syntax/sh.vim9
-rw-r--r--runtime/syntax/sieve.vim6
-rw-r--r--runtime/syntax/svn.vim5
-rw-r--r--runtime/syntax/updatedb.vim4
-rw-r--r--runtime/syntax/vim.vim19
-rw-r--r--runtime/syntax/yaml.vim176
-rw-r--r--runtime/syntax/zsh.vim43
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 = '&nbsp;'
+ let s:LeadingSpace = '&nbsp;'
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