diff options
Diffstat (limited to 'runtime/syntax')
-rw-r--r-- | runtime/syntax/abap.vim | 152 | ||||
-rw-r--r-- | runtime/syntax/aspvbs.vim | 8 | ||||
-rw-r--r-- | runtime/syntax/ch.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/lex.vim | 14 | ||||
-rw-r--r-- | runtime/syntax/lhaskell.vim | 5 | ||||
-rw-r--r-- | runtime/syntax/lua.vim | 18 | ||||
-rw-r--r-- | runtime/syntax/maple.vim | 92 | ||||
-rw-r--r-- | runtime/syntax/netrwlist.vim | 45 | ||||
-rw-r--r-- | runtime/syntax/perl.vim | 17 | ||||
-rw-r--r-- | runtime/syntax/sh.vim | 110 | ||||
-rw-r--r-- | runtime/syntax/sqlinformix.vim | 196 | ||||
-rw-r--r-- | runtime/syntax/synload.vim | 22 |
12 files changed, 558 insertions, 125 deletions
diff --git a/runtime/syntax/abap.vim b/runtime/syntax/abap.vim new file mode 100644 index 000000000..2b1229fa2 --- /dev/null +++ b/runtime/syntax/abap.vim @@ -0,0 +1,152 @@ +" Vim ABAP syntax file +" Language: SAP - ABAP/4 +" Revision: 0.8 +" Maintainer: Marius van Wyk <marius@e.co.za> +" Last Change: 2004 Aug 30 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Always ignore case +syn case ignore + +" Symbol Operators +syn match abapSymbolOperator "[+\-/=<>$]" +syn match abapSymbolOperator "\*" +syn match abapSymbolOperator "[<>]=" +syn match abapSymbolOperator "<>" +syn match abapSymbolOperator "\*\*" +syn match abapSymbolOperator "[()]" +syn match abapSymbolOperator "[:,\.]" + +" Literals +syn region abapString matchgroup=abapString start="'" end="'" contains=abapStringEscape +syn match abapStringEscape contained "''" + +syn match abapNumber "-\=\<\d\+\>" +syn region abapHex matchgroup=abapHex start="X'" end="'" + +if version >= 600 + setlocal iskeyword=-,48-57,_,A-Z,a-z +else + set iskeyword=-,48-57,_,A-Z,a-z +endif + +" ABAP statements +syn keyword abapStatement ADD ADD-CORRESPONDING ASSIGN AT AUTHORITY-CHECK +syn keyword abapStatement BACK BREAK-POINT +syn keyword abapStatement CALL CASE CHECK CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY +syn keyword abapStatement DATA DEFINE DELETE DESCRIBE DETAIL DIVIDE DIVIDE-CORRESPONDING DO +syn keyword abapStatement EDITOR-CALL ELSE ELSEIF END-OF-DEFINITION END-OF-PAGE END-OF-SELECTION ENDAT ENDCASE ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDLOOP ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDWHILE EXEC EXPORT EXPORTING EXTRACT +syn keyword abapStatement FETCH FIELD-GROUPS FIELD-SYMBOLS FIELDS FORM FORMAT FREE FUNCTION FUNCTION-POOL +syn keyword abapStatement GENERATE GET +syn keyword abapStatement HIDE +syn keyword abapStatement IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INPUT INSERT +syn keyword abapStatement LEAVE LIKE LOAD LOCAL LOOP +syn keyword abapStatement MESSAGE MODIFY MODULE MOVE MOVE-CORRESPONDING MULTIPLY MULTIPLY-CORRESPONDING +syn keyword abapStatement NEW-LINE NEW-PAGE NEW-SECTION +syn keyword abapStatement ON OVERLAY +syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PRINT-CONTROL PROGRAM PROVIDE PUT +syn keyword abapStatement RAISE RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESTORE ROLLBACK +syn keyword abapStatement SCAN SCROLL SEARCH SELECT SELECT-OPTIONS SELECTION-SCREEN SET SHIFT SKIP SORT SPLIT START-OF-SELECTION STATICS STOP SUBMIT SUBTRACT SUBTRACT-CORRESPONDING SUM SUMMARY SUPPRESS SYNTAX-CHECK SYNTAX-TRACE +syn keyword abapStatement TABLES TOP-OF-PAGE TRANSFER TRANSLATE TYPE TYPE-POOL TYPE-POOLS TYPES +syn keyword abapStatement UNPACK UPDATE +syn keyword abapStatement WHEN WHILE WINDOW WRITE + +" More statemets +syn keyword abapStatement OCCURS STRUCTURE OBJECT PROPERTY +syn keyword abapStatement CASTING APPEND RAISING VALUE COLOR +syn keyword abapStatement LINE-SIZE LINE-COUNT MESSAGE-ID +syn keyword abapStatement CHANGING EXCEPTIONS DEFAULT CHECKBOX COMMENT +syn keyword abapStatement ID NUMBER FOR DISPLAY-MODE TITLE OUTPUT + +" More multi-word statements +syn match abapStatement "\(\W\|^\)\(WITH\W\+\(HEADER\W\+LINE\|FRAME\|KEY\)\|WITH\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)NO\W\+STANDARD\W\+PAGE\W\+HEADING\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)\(EXIT\W\+FROM\W\+STEP\W\+LOOP\|EXIT\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)\(BEGIN\W\+OF\W\+\(BLOCK\|LINE\)\|BEGIN\W\+OF\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)\(END\W\+OF\W\+\(BLOCK\|LINE\)\|END\W\+OF\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)IS\W\+INITIAL\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)NO\W\+INTERVALS\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)SEPARATED\W\+BY\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)\(USING\W\+\(EDIT\W\+MASK\)\|USING\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)\(WHERE\W\+\(LINE\)\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)RADIOBUTTON\W\+GROUP\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)REF\W\+TO\(\W\|$\)"ms=s+1,me=e-1 + +" Special ABAP specific tables: +syn match abapSpecial "\(\W\|^\)\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapSpecialTables "\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained +syn match abapSpecial "\(\W\|^\)\w\+-\w\+"ms=s+1 contains=abapSpecialTables + +" Pointer +syn match abapSpecial "<\w\+>" + +" Abap constants: +syn keyword abapSpecial TRUE FALSE NULL SPACE + +" Includes +syn region abapInclude start="include" end="." contains=abapComment + +" Types +syn keyword abapTypes c n i p f d t x + +" Atritmitic operators +syn keyword abapOperator abs sign ceil floor trunc frac acos asin atan cos sin tan +syn keyword abapOperator cosh sinh tanh exp log log10 sqrt + +" String operators +syn keyword abapOperator strlen xstrlen charlen numofchar dbmaxlen + +" Table operators +syn keyword abapOperator lines + +" Table operators (SELECT operators) +syn keyword abapOperator INTO FROM WHERE GROUP BY HAVING ORDER BY SINGLE +syn keyword abapOperator APPENDING CORRESPONDING FIELDS OF TABLE +syn keyword abapOperator LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER UP TO ROWS CONNECTING +syn keyword abapOperator EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN + +" An error? Not strictly... but cannot think of reason this is intended. +syn match abapError "\.\." + +" Comments +syn region abapComment start="^\*" end="$" contains=abapTodo +syn match abapComment "\".*" contains=abapTodo +syn keyword abapTodo contained TODO NOTE + +" 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 +if version >= 508 || !exists("did_abap_syntax_inits") + if version < 508 + let did_abap_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink abapError Error + HiLink abapComment Comment + HiLink abapInclude Include + HiLink abapSpecial Special + HiLink abapSpecialTables PreProc + HiLink abapSymbolOperator abapOperator + HiLink abapOperator Operator + HiLink abapStatement Statement + HiLink abapString String + HiLink abapFloat Float + HiLink abapNumber Number + HiLink abapHex Number + + delcommand HiLink +endif + +let b:current_syntax = "abap" + +" vim: ts=8 sw=2 diff --git a/runtime/syntax/aspvbs.vim b/runtime/syntax/aspvbs.vim index 502791c75..74bf2a15e 100644 --- a/runtime/syntax/aspvbs.vim +++ b/runtime/syntax/aspvbs.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Microsoft VBScript Web Content (ASP) -" Maintainer: Devin Weaver <ktohg@tritarget.com> -" URL: http://tritarget.com/pub/vim/syntax/aspvbs.vim -" Last Change: 2003 Apr 25 +" Maintainer: Devin Weaver <ktohg@tritarget.com> (non-functional) +" URL: http://tritarget.com/pub/vim/syntax/aspvbs.vim (broken) +" Last Change: 2004 Jul 29 " Version: $Revision$ " Thanks to Jay-Jay <vim@jay-jay.net> for a syntax sync hack, hungarian " notation, and extra highlighting. @@ -108,7 +108,7 @@ syn keyword AspVBSMethods contained MoveFile MoveFolder OpenAsTextStream syn keyword AspVBSMethods contained OpenTextFile Raise Read ReadAll ReadLine Remove syn keyword AspVBSMethods contained RemoveAll Skip SkipLine Write WriteBlankLines syn keyword AspVBSMethods contained WriteLine -syn match AspVBSMethods contained "Response\.\S*" +syn match AspVBSMethods contained "Response\.\w*" " Colorize boolean constants: syn keyword AspVBSMethods contained true false diff --git a/runtime/syntax/ch.vim b/runtime/syntax/ch.vim index 2e787c8cc..add739509 100644 --- a/runtime/syntax/ch.vim +++ b/runtime/syntax/ch.vim @@ -2,7 +2,7 @@ " Language: Ch " Maintainer: SoftIntegration, Inc. <info@softintegration.com> " URL: http://www.softintegration.com/download/vim/syntax/ch.vim -" Last change: 2004 May 16 +" Last change: 2004 Sep 01 " Created based on cpp.vim " " Ch is a C/C++ interpreter with many high level extensions @@ -26,7 +26,7 @@ endif " Ch extentions -syn keyword chStatement new delete this +syn keyword chStatement new delete this foreach syn keyword chAccess public private syn keyword chStorageClass __declspec(global) __declspec(local) syn keyword chStructure class diff --git a/runtime/syntax/lex.vim b/runtime/syntax/lex.vim index 25c423ef5..6c6121efc 100644 --- a/runtime/syntax/lex.vim +++ b/runtime/syntax/lex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Lex " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> -" Last Change: Sep 02, 2003 -" Version: 4 +" Last Change: Jul 28, 2004 +" Version: 5 " URL: http://www.erols.com/astronaut/vim/index.html#vimlinks_syntax " " Option: @@ -32,19 +32,22 @@ else endif endif +" --- ========= --- " --- Lex stuff --- +" --- ========= --- "I'd prefer to use lex.* , but it doesn't handle forward definitions yet syn cluster lexListGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatString,lexPatTag,lexPatTag,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,lexPatCode,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError syn cluster lexListPatCodeGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatTag,lexPatTag,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError " Abbreviations Section -syn region lexAbbrvBlock start="^\([a-zA-Z_]\+\t\|%{\)" end="^%%$"me=e-2 skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment +syn region lexAbbrvBlock start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvRegExp syn match lexAbbrv "^%[sx]" contained syn match lexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=lexAbbrv,lexInclude syn region lexInclude matchgroup=lexSep start="^%{" end="%}" contained contains=ALLBUT,@lexListGroup syn region lexAbbrvComment start="^\s\+/\*" end="\*/" contains=@Spell +syn region lexStartState matchgroup=lexAbbrv start="^%\a\+" end="$" contained "%% : Patterns {Actions} syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPat,lexPatTag,lexPatComment @@ -81,15 +84,16 @@ hi def link lexSlashQuote lexPat hi def link lexBrace lexPat hi def link lexAbbrvComment lexPatComment -hi def link lexAbbrv SpecialChar hi def link lexAbbrvRegExp Macro +hi def link lexAbbrv SpecialChar hi def link lexCFunctions Function hi def link lexMorePat SpecialChar -hi def link lexPat Function hi def link lexPatComment Comment +hi def link lexPat Function hi def link lexPatString Function hi def link lexPatTag Special hi def link lexSep Delimiter +hi def link lexStartState Statement let b:current_syntax = "lex" diff --git a/runtime/syntax/lhaskell.vim b/runtime/syntax/lhaskell.vim index 250ccfaf2..d6f21ae7c 100644 --- a/runtime/syntax/lhaskell.vim +++ b/runtime/syntax/lhaskell.vim @@ -4,7 +4,7 @@ " \begin{code} \end{code} blocks " Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org> " Original Author: Arthur van Leeuwen <arthurvl@cs.uu.nl> -" Last Change: 2004 May 16 +" Last Change: 2004 Aug 31 " Version: 1.01 " " Thanks to Ian Lynagh for thoughtful comments on initial versions and @@ -82,9 +82,12 @@ endif if b:lhs_markup == "tex" if version < 600 source <sfile>:p:h/tex.vim + set isk+=_ else runtime! syntax/tex.vim unlet b:current_syntax + " Tex.vim removes "_" from 'iskeyword', but we need it for Haskell. + setlocal isk+=_ endif endif diff --git a/runtime/syntax/lua.vim b/runtime/syntax/lua.vim index 0bcda6202..555372836 100644 --- a/runtime/syntax/lua.vim +++ b/runtime/syntax/lua.vim @@ -1,12 +1,10 @@ " Vim syntax file " Language: Lua 4.0 and Lua 5.0 -" Maintainer: Marcus Aurelius Farias <marcuscf@vant.com.br> -" First Author: Carlos Augusto Teixeira Mendes <cmendes@inf.puc-rio.br> -" Last Change: 2003 May 04 +" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br> +" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br> +" Last Change: 2004 Aug 29 " Options: lua_version = 4 or 5 [default] " -" Still has some syncing problems (long [[strings]])... - " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 @@ -37,7 +35,7 @@ syn match luaComment "\%^#!.*" syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement syn match luaError ")" syn match luaError "}" -syn match luaError "\<\(end\|else\|elseif\|then\|until\|in\)\>" +syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>" " Function declaration @@ -80,7 +78,7 @@ if lua_version > 4 endif " Pre processor doesn't exist since Lua 4.0 -" syn match luaPreProc "^\s*$\(debug\|nodebug\|if\|ifnot\|end\|else\|endinput\)\>" +" syn match luaPreProc "^\s*$\%(debug\|nodebug\|if\|ifnot\|end\|else\|endinput\)\>" " Strings syn match luaSpecial contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}" @@ -92,9 +90,9 @@ syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=lu " integer number syn match luaNumber "\<[0-9]\+\>" " floating point number, with dot, optional exponent -syn match luaFloat "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=\>" +syn match luaFloat "\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>" " floating point number, starting with a dot, optional exponent -syn match luaFloat "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\>" +syn match luaFloat "\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>" " floating point number, without dot, with exponent syn match luaFloat "\<[0-9]\+e[-+]\=[0-9]\+\>" @@ -129,7 +127,7 @@ else syn keyword luaFunc loadlib loadstring pairs pcall rawequal syn keyword luaFunc require setfenv setmetatable unpack xpcall syn keyword luaFunc LUA_PATH _LOADED _REQUIREDNAME -" Not sure if all these functions need to be highlighted... + " Not sure if all these functions need to be highlighted... syn match luaFunc /coroutine\.create/ syn match luaFunc /coroutine\.resume/ syn match luaFunc /coroutine\.status/ diff --git a/runtime/syntax/maple.vim b/runtime/syntax/maple.vim index cda7c7516..2fa04577b 100644 --- a/runtime/syntax/maple.vim +++ b/runtime/syntax/maple.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Maple V (based on release 4) " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> -" Last Change: Mar 10, 2004 -" Version: 4 +" Last Change: Aug 19, 2004 +" Version: 5 " URL: http://www.erols.com/astronaut/vim/index.html#vimlinks_syntax " " Package Function Selection: {{{1 @@ -17,6 +17,9 @@ " " *OR* let mvpkg_all=1 +" This syntax file contains all the keywords and top-level packages of Maple 9.5 +" but only the contents of packages of Maple V Release 4, and the top-level +" routines of Release 4. <Jacques Carette - carette@mcmaster.ca> " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -70,6 +73,9 @@ if exists("mvpkg_all") endif " Parenthesis/curly/brace sanity checker: {{{1 +syn case match + +" parenthesis/curly/brace sanity checker syn region mvZone matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" transparent contains=ALLBUT,mvError,mvBraceError,mvCurlyError syn region mvZone matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" transparent contains=ALLBUT,mvError,mvBraceError,mvParenError syn region mvZone matchgroup=Delimiter start="\[" matchgroup=Delimiter end="]" transparent contains=ALLBUT,mvError,mvCurlyError,mvParenError @@ -79,21 +85,47 @@ syn match mvCurlyError "[)\]]" contained syn match mvParenError "[\]}]" contained syn match mvComma "[,;:]" syn match mvSemiError "[;:]" contained - -" Maple V Packages, circa Release 4: {{{1 -syn keyword mvPackage DEtools difforms group networks plots stats -syn keyword mvPackage Galois finance inttrans numapprox plottools student -syn keyword mvPackage GaussInt genfunc liesymm numtheory powseries sumtools -syn keyword mvPackage LREtools geometry linalg orthopoly process tensor -syn keyword mvPackage combinat grobner logic padic simplex totorder -syn keyword mvPackage combstruct +syn match mvDcolon "::" + +" Maple Packages, updated for Maple 9.5 +syn keyword mvPackage algcurves ArrayTools Cache codegen +syn keyword mvPackage CodeGeneration CodeTools combinat combstruct +syn keyword mvPackage ContextMenu CurveFitting DEtools diffalg +syn keyword mvPackage difforms DiscreteTransforms Domains ExternalCalling +syn keyword mvPackage FileTools finance GaussInt genfunc +syn keyword mvPackage geom3d geometry gfun Groebner +syn keyword mvPackage group hashmset IntegerRelations inttrans +syn keyword mvPackage LargeExpressions LibraryTools liesymm linalg +syn keyword mvPackage LinearAlgebra LinearFunctionalSystems LinearOperators +syn keyword mvPackage ListTools Logic LREtools Maplets +syn keyword mvPackage MathematicalFunctions MathML Matlab +syn keyword mvPackage MatrixPolynomialAlgebra MmaTranslator networks +syn keyword mvPackage numapprox numtheory Optimization OreTools +syn keyword mvPackage Ore_algebra OrthogonalSeries orthopoly padic +syn keyword mvPackage PDEtools plots plottools PolynomialIdeals +syn keyword mvPackage PolynomialTools powseries process QDifferenceEquations +syn keyword mvPackage RandomTools RationalNormalForms RealDomain RootFinding +syn keyword mvPackage ScientificConstants ScientificErrorAnalysis simplex +syn keyword mvPackage Slode SNAP Sockets SoftwareMetrics +syn keyword mvPackage SolveTools Spread stats StringTools +syn keyword mvPackage Student student sumtools SumTools +syn keyword mvPackage tensor TypeTools Units VariationalCalculus +syn keyword mvPackage VectorCalculus Worksheet XMLTools " Language Support: {{{1 syn keyword mvTodo contained TODO -syn region mvString start=+`+ skip=+``+ end=+`+ keepend contains=mvTodo -syn region mvDelayEval start=+'+ end=+'+ keepend contains=ALLBUT,mvError,mvBraceError,mvCurlyError,mvParenError,mvSemiError -syn match mvVarAssign "[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:=" contains=mvAssign -syn match mvAssign ":=" contained +if exists("g:mapleversion") && g:mapleversion < 9 + syn region mvString start=+`+ skip=+``+ end=+`+ keepend contains=mvTodo + syn region mvDelayEval start=+'+ end=+'+ keepend contains=ALLBUT,mvError,mvBraceError,mvCurlyError,mvParenError,mvSemiError + syn match mvVarAssign "[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:=" contains=mvAssign + syn match mvAssign ":=" contained +else + syn region mvName start=+`+ skip=+``+ end=+`+ keepend contains=mvTodo + syn region mvString start=+"+ skip=+""+ end=+"+ keepend + syn region mvDelayEval start=+'+ end=+'+ keepend contains=ALLBUT,mvError,mvBraceError,mvCurlyError,mvParenError + syn match mvDelim "[;:]" display + syn match mvAssign ":=" +endif " Lower-Priority Operators: {{{1 syn match mvOper "\." @@ -120,14 +152,16 @@ syn match mvNumber "[-+]\d\+\.\d*e[-+]\=\d\+" " integer . [integer] e [-+] integ syn match mvRange "\.\." " Operators: {{{1 -syn keyword mvOper and not or +syn keyword mvOper and not or xor implies union intersect subset minus mod syn match mvOper "<>\|[<>]=\|[<>]\|=" syn match mvOper "&+\|&-\|&\*\|&\/\|&" syn match mvError "\.\.\." " MapleV Statements: ? statement {{{1 + +" MapleV Statements: ? statement " Split into booleans, conditionals, operators, repeat-logic, etc -syn keyword mvBool true false +syn keyword mvBool true false FAIL syn keyword mvCond elif else fi if then syn keyword mvRepeat by for in to @@ -136,15 +170,25 @@ syn keyword mvRepeat do from od while syn keyword mvSpecial NULL syn match mvSpecial "\[\]\|{}" -syn keyword mvStatement Order fail options read save -syn keyword mvStatement break local point remember stop -syn keyword mvStatement done mod proc restart with -syn keyword mvStatement end mods quit return -syn keyword mvStatement error next +if exists("g:mapleversion") && g:mapleversion < 9 + syn keyword mvStatement Order fail options read save + syn keyword mvStatement break local point remember stop + syn keyword mvStatement done mod proc restart with + syn keyword mvStatement end mods quit return + syn keyword mvStatement error next +else + syn keyword mvStatement option options read save + syn keyword mvStatement break local remember stop + syn keyword mvStatement done mod proc restart + syn keyword mvStatement end mods quit return + syn keyword mvStatement error next try catch + syn keyword mvStatement finally assuming global export + syn keyword mvStatement module description use +endif " Builtin Constants: ? constants {{{1 syn keyword mvConstant Catalan I gamma infinity -syn keyword mvConstant FAIL Pi +syn keyword mvConstant Pi " Comments: DEBUG, if in a comment, is specially highlighted. {{{1 syn keyword mvDebug contained DEBUG @@ -552,6 +596,7 @@ if version >= 508 || !exists("did_maplev_syntax_inits") HiLink mvPkg_totorder mvPkgFunc HiLink mvRange mvOper HiLink mvSemiError mvError + HiLink mvDelim Delimiter " Maple->Standard Links {{{2 HiLink mvAssign Delimiter @@ -561,16 +606,19 @@ if version >= 508 || !exists("did_maplev_syntax_inits") HiLink mvCond Conditional HiLink mvConstant Number HiLink mvDelayEval Label + HiLink mvDcolon Delimiter HiLink mvError Error HiLink mvLibrary Statement HiLink mvNumber Number HiLink mvOper Operator + HiLink mvAssign Delimiter HiLink mvPackage Type HiLink mvPkgFunc Function HiLink mvPktOption Special HiLink mvRepeat Repeat HiLink mvSpecial Special HiLink mvStatement Statement + HiLink mvName String HiLink mvString String HiLink mvTodo Todo diff --git a/runtime/syntax/netrwlist.vim b/runtime/syntax/netrwlist.vim index 8f3091d06..ae68c91b7 100644 --- a/runtime/syntax/netrwlist.vim +++ b/runtime/syntax/netrwlist.vim @@ -1,7 +1,8 @@ " Language : Netrw Remote-Directory Listing Syntax " Maintainer : Charles E. Campbell, Jr. -" Last change: Jul 06, 2004 -" Version : 2 +" Last change: Aug 20, 2004 +" Version : 4 +" --------------------------------------------------------------------- " Syntax Clearing: {{{1 if version < 600 @@ -10,28 +11,39 @@ elseif exists("b:current_syntax") finish endif +" --------------------------------------------------------------------- " Directory List Syntax Highlighting: {{{1 -syn match netrwDir "^.*/\%(\t\|$\)" contains=netrwClassify -syn match netrwClassify "[*=|@/]\%(\t\|$\)" -syn match netrwSymLink "^.*@\%(\t\|$\)" contains=netrwClassify -syn match netrwComment '".*\%(\t\|$\)' contains=netrwHide,netrwSortBy,netrwSortSeq -syn match netrwHide '^"\s*Hiding:' skipwhite nextgroup=netrwHidePat -syn match netrwSlash contained "/" -syn match netrwHidePat contained "[^,]\+" skipwhite nextgroup=netrwHideSep -syn match netrwHideSep contained transparent "," skipwhite nextgroup=netrwHidePat -syn match netrwSortBy contained transparent "Sorted by" skipwhite nextgroup=netrwList -syn match netrwSortSeq contained transparent "Sort sequence:" skipwhite nextgroup=netrwList -syn match netrwList contained ".*$" contains=netrwComma -syn match netrwComma contained "," +syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion +syn match netrwDir "^.*/\%(\t\|$\)" contains=netrwClassify +syn match netrwClassify "[*=|@/]\%(\t\|$\)" +syn match netrwSymLink "^.*@\%(\t\|$\)" contains=netrwClassify +syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup +syn match netrwHide '^"\s*Hiding:' skipwhite nextgroup=netrwHidePat +syn match netrwSlash contained "/" +syn match netrwHidePat contained "[^,]\+" skipwhite nextgroup=netrwHideSep +syn match netrwHideSep contained transparent "," skipwhite nextgroup=netrwHidePat +syn match netrwSortBy contained transparent "Sorted by" skipwhite nextgroup=netrwList +syn match netrwSortSeq contained transparent "Sort sequence:" skipwhite nextgroup=netrwList +syn match netrwList contained ".*$" contains=netrwComma +syn match netrwComma contained "," +syn region netrwQuickHelp contained matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd keepend +syn match netrwHelpCmd contained "\S\ze:" skipwhite nextgroup=netrwCmdSep +syn match netrwCmdSep contained ":" nextgroup=netrwCmdNote +syn match netrwCmdNote contained ".\{-}\ze " +syn match netrwVersion contained "(netrw.*)" +" --------------------------------------------------------------------- " Highlighting Links: {{{1 if !exists("did_drchip_dbg_syntax") let did_drchip_netrwlist_syntax= 1 hi link netrwClassify Function + hi link netrwCmdSep Delimiter hi link netrwComment Comment hi link netrwDir Directory - hi link netrwHidePat String - hi link netrwList String + hi link netrwHelpCmd Function + hi link netrwHidePat Statement + hi link netrwList Statement + hi link netrwVersion Identifier hi link netrwSymLink Special hi link netrwComma netrwComment @@ -40,4 +52,5 @@ endif " Current Syntax: {{{1 let b:current_syntax = "netrwlist" +" --------------------------------------------------------------------- " vim: ts=8 fdm=marker diff --git a/runtime/syntax/perl.vim b/runtime/syntax/perl.vim index 438872918..327cc11fd 100644 --- a/runtime/syntax/perl.vim +++ b/runtime/syntax/perl.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Perl " Maintainer: Nick Hibma <n_hibma@van-laarhoven.org> -" Last Change: 2004 May 16 +" Last Change: 2004 Aug 29 " Location: http://www.van-laarhoven.org/vim/syntax/perl.vim " " Please download most recent version first before mailing @@ -17,8 +17,8 @@ " perl syntax highlighting, with defaults given: " " unlet perl_include_pod -" unlet perl_want_scope_in_variables -" unlet perl_extended_vars +" unlet perl_no_scope_in_variables +" unlet perl_no_extended_vars " unlet perl_string_as_statement " unlet perl_no_sync_on_sub " unlet perl_no_sync_on_global_var @@ -147,16 +147,11 @@ syn match perlVarSlash "$/" " And plain identifiers syn match perlPackageRef "\(\h\w*\)\=\(::\|'\)\I"me=e-1 contained -" To highlight packages in variables as a scope reference - i.e. in $pack::var, -" pack:: is a scope, just set "perl_want_scope_in_variables" -" If you *want* complex things like @{${"foo"}} to be processed, -" just set the variable "perl_extended_vars"... - " FIXME value between {} should be marked as string. is treated as such by Perl. " At the moment it is marked as something greyish instead of read. Probably todo " with transparency. Or maybe we should handle the bare word in that case. or make it into -if exists("perl_want_scope_in_variables") +if !exists("perl_no_scope_in_variables") syn match perlVarPlain "\\\=\([@%$]\|\$#\)\$*\(\I\i*\)\=\(\(::\|'\)\I\i*\)*\>" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod syn match perlFunctionName "\\\=&\$*\(\I\i*\)\=\(\(::\|'\)\I\i*\)*\>" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember else @@ -164,7 +159,7 @@ else syn match perlFunctionName "\\\=&\$*\(\I\i*\)\=\(\(::\|'\)\I\i*\)*\>" nextgroup=perlVarMember,perlVarSimpleMember endif -if exists("perl_extended_vars") +if !exists("perl_no_extended_vars") syn cluster perlExpr contains=perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ syn region perlVarBlock matchgroup=perlVarPlain start="\($#\|[@%$]\)\$*{" skip="\\}" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember syn region perlVarBlock matchgroup=perlVarPlain start="&\$*{" skip="\\}" end="}" contains=@perlExpr @@ -359,7 +354,7 @@ syn region perlFunction start="\s*\<sub\>" end="[;{]"he=e-1 contains=perlStatem syn keyword perlStatementSub sub contained syn match perlFunctionPrototype "([^)]*)" contained -if exists("perl_want_scope_in_variables") +if !exists("perl_no_scope_in_variables") syn match perlFunctionPRef "\h\w*::" contained syn match perlFunctionName "\h\w*[^:]" contained else diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim index c8f6ee0ac..f8624aec4 100644 --- a/runtime/syntax/sh.vim +++ b/runtime/syntax/sh.vim @@ -2,11 +2,11 @@ " 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: Apr 28, 2004 -" Version: 68 +" Last Change: Jul 26, 2004 +" Version: 69 " URL: http://www.erols.com/astronaut/vim/index.html#vimlinks_syntax " -" Using the following VIM variables: +" Using the following VIM variables: {{{1 " b:is_kornshell if defined, enhance with kornshell syntax " b:is_bash if defined, enhance with bash syntax " is_kornshell if neither b:is_kornshell or b:is_bash is @@ -20,7 +20,7 @@ " " This file includes many ideas from Éric Brunet (eric.brunet@ens.fr) -" For version 5.x: Clear all syntax items +" For version 5.x: Clear all syntax items {{{1 " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear @@ -28,6 +28,7 @@ elseif exists("b:current_syntax") finish endif +" handling /bin/sh with is_kornshell/is_sh {{{1 " b:is_sh is set when "#! /bin/sh" is found; " However, it often is just a masquerade by bash (typically Linux) " or kornshell (typically workstations with Posix "sh"). @@ -57,7 +58,7 @@ endif " sh syntax is case sensitive syn case match -" Clusters: contains=@... clusters +" Clusters: contains=@... clusters {{{1 "================================== syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseSingleQuote,shCaseDoubleQuote,shSpecial syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,bkshFunction,shSpecial @@ -79,7 +80,7 @@ syn cluster shSubShList contains=@shCaseList syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDerefSimple,shDoubleQuote,shExpr,shExpr,shNumber,shOperator,shSingleQuote,shSpecial,shTestOpr -" Echo: +" Echo: {{{1 " ==== " This one is needed INSIDE a CommandSub, so that `echo bla` be correct syn region shEcho matchgroup=shStatement start="\<echo\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|()]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 contains=@shEchoList @@ -88,7 +89,7 @@ syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup " This must be after the strings, so that bla \" be correct syn region shEmbeddedEcho contained matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|`)]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 contains=shNumber,shSingleQuote,shDeref,shDerefSimple,shSpecialVar,shSpecial,shOperator,shDoubleQuote,shCharClass -" Alias: +" Alias: {{{1 " ===== if exists("b:is_kornshell") || exists("b:is_bash") syn match shStatement "\<alias\>" @@ -96,8 +97,8 @@ if exists("b:is_kornshell") || exists("b:is_bash") syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\w\+=\)\@=" skip="\\$" end="=" endif -" Error Codes -" =========== +" Error Codes: {{{1 +" ============ syn match shDoError "\<done\>" syn match shIfError "\<fi\>" syn match shInError "\<in\>" @@ -110,25 +111,25 @@ if exists("b:is_kornshell") endif syn match shTestError "]" -" Options interceptor -" =================== +" Options Interceptor: {{{1 +" ==================== syn match shOption "\s[\-+][a-zA-Z0-9]\+\>"ms=s+1 syn match shOption "\s--\S\+"ms=s+1 -" Operators: -" ========= +" Operators: {{{1 +" ========== syn match shOperator "[!&;|]" syn match shOperator "\[[[^:]\|\]]" syn match shOperator "!\==" skipwhite nextgroup=shPattern syn match shPattern "\<\S\+\())\)\@=" contained contains=shSingleQuote,shDoubleQuote,shDeref -" Subshells: -" ========= +" Subshells: {{{1 +" ========== syn region shExpr transparent matchgroup=shExprRegion start="{" end="}" contains=@shExprList2 syn region shSubSh transparent matchgroup=shSubShRegion start="(" end=")" contains=@shSubShList -" Tests -"====== +" Tests: {{{1 +"======= "syn region shExpr transparent matchgroup=shRange start="\[" skip=+\\\\\|\\$+ end="\]" contains=@shTestList syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$+ end="\]" contains=@shTestList syn region shExpr transparent matchgroup=shStatement start="\<test\>" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1 @@ -138,12 +139,12 @@ if exists("b:is_kornshell") || exists("b:is_bash") syn region shDblParen matchgroup=Delimiter start="((" skip=+\\\\\|\\$+ end="))" contains=@shTestList endif -" Character Class in Range -" ======================== +" Character Class In Range: {{{1 +" ========================= syn match shCharClass contained "\[:\(backspace\|escape\|return\|xdigit\|alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|tab\):\]" -" Loops: do, if, while, until -" ===== +" Loops: do, if, while, until {{{1 +" ====== syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList syn region shIf transparent matchgroup=shConditional start="\<if\>" matchgroup=shConditional end="\<;\_s*then\>" end="\<fi\>" contains=@shLoopList,shDblBrace,shDblParen syn region shFor matchgroup=shLoop start="\<for\>" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen @@ -157,7 +158,7 @@ else syn region shRepeat matchgroup=shLoop start="\<until\>" end="\<do\>"me=e-2 contains=@shLoopList endif -" Case: case...esac +" Case: case...esac {{{1 " ==== syn match shCaseBar contained skipwhite "[^|"`'()]\{-}|"hs=e nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseSingleQuote,shCaseDoubleQuote syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar @@ -168,11 +169,12 @@ syn region shCaseSingleQuote matchgroup=shOperator start=+'+ skip=+\\\\\|\\.+ e syn region shCaseDoubleQuote matchgroup=shOperator start=+"+ skip=+\\\\\|\\.+ end=+"+ contains=@shDblQuoteList,shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained syn region shCaseCommandSub start=+`+ skip=+\\\\\|\\.+ end=+`+ contains=@shCommandSubList skipwhite skipnl nextgroup=shCaseBar contained -" Misc -"===== +" Misc: {{{1 +"====== syn match shWrapLineOperator "\\$" syn region shCommandSub start="`" skip="\\\\\|\\." end="`" contains=@shCommandSubList +" $() and $(()): {{{1 " $(..) is not supported by sh (Bourne shell). However, apparently " some systems (HP?) have as their /bin/sh a (link to) Korn shell " (ie. Posix compliant shell). /bin/ksh should work for those @@ -205,8 +207,8 @@ syn match shSource "^\.\s" syn match shSource "\s\.\s" syn region shColon start="^\s*:" end="$\|" end="#"me=e-1 contains=@shColonList -" String and Character constants -"=============================== +" String And Character Constants: {{{1 +"================================ syn match shNumber "-\=\<\d\+\>" syn match shSpecial "\\\d\d\d\|\\[abcfnrtv0]" contained syn region shSingleQuote matchgroup=shOperator start=+'+ end=+'+ contains=shStringSpecial @@ -214,20 +216,21 @@ syn region shDoubleQuote matchgroup=shOperator start=+"+ skip=+\\"+ end=+"+ con syn match shStringSpecial "[^[:print:]]" contained syn match shSpecial "\\[\\\"\'`$()#]" -" Comments -"========= +" Comments: {{{1 +"========== syn cluster shCommentGroup contains=shTodo,@Spell syn keyword shTodo contained TODO syn match shComment "#.*$" contains=@shCommentGroup -" File redirection highlighted as operators -"========================================== +" File Redirection Highlighted As Operators: {{{1 +"=========================================== syn match shRedir "\d\=>\(&[-0-9]\)\=" syn match shRedir "\d\=>>-\=" syn match shRedir "\d\=<\(&[-0-9]\)\=" syn match shRedir "\d<<-\=" -" Shell Input Redirection (Here Documents) +" Here Documents: {{{1 +" ========================================= if version < 600 syn region shHereDoc matchgroup=shRedir start="<<\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shRedir end="^END[a-zA-Z_0-9]*$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir start="<<-\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shRedir end="^\s*END[a-zA-Z_0-9]*$" contains=@shDblQuoteList @@ -298,13 +301,16 @@ else syn match shBeginLine ".*$" contained skipnl nextgroup=shHerePayload contains=@shCommandSubList syn match shBeginHere "<<-\=\s*\S\+" contained nextgroup=shBeginLine endif - if exists("b:is_bash") - syn match shRedir "<<<" - endif endif -" Identifiers -"============ +" Here Strings: {{{1 +" ============= +if exists("b:is_bash") + syn match shRedir "<<<" +endif + +" Identifiers: {{{1 +"============= syn match shVariable "\<\([bwglsav]:\)\=[a-zA-Z0-9.!@_%+,]*\ze=" nextgroup=shSetIdentifier syn match shIdWhiteSpace contained "\s" syn match shSetIdentifier contained "=" nextgroup=shPattern,shDeref,shDerefSimple,shDoubleQuote,shSingleQuote @@ -321,6 +327,7 @@ else syn match shStatement "\<\(set\|export\|unset\)$" endif +" Functions: {{{1 " handles functions which start: Function () { " Apparently Bourne shell accepts functions too, " even though it isn't documented by my man pages @@ -335,8 +342,8 @@ syn match bkshFunction "^\s*\<\h\w*\>\s*()" skipwhite skipnl contains=bkshFuncti syn match bkshFunctionParen "[()]" contained syn match bkshFunctionDelim "[{}]" contained -" Parameter Dereferencing -" ======================= +" Parameter Dereferencing: {{{1 +" ======================== syn match shDerefSimple "\$\w\+" syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray syn match shDerefWordError "[^}$[]" contained @@ -346,8 +353,8 @@ if exists("b:is_bash") || exists("b:is_kornshell") syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList endif -" bash : ${!prefix*} -" bash : ${#parameter} +" bash: ${!prefix*} and ${#parameter}: {{{1 +" ==================================== if exists("b:is_bash") syn region shDeref matchgroup=PreProc start="\${!" end="\*\=}" contains=@shDerefList,shDerefOp syn match shDerefVar contained "{\@<=!\w\+" nextgroup=@shDerefVarList @@ -357,9 +364,10 @@ syn match shDerefSpecial contained "{\@<=[-*@?0]" nextgroup=shDerefOp,shDerefO syn match shDerefSpecial contained "\({[#!]\)\@<=[[:alnum:]*@_]\+" nextgroup=@shDerefVarList,shDerefOp syn match shDerefVar contained "{\@<=\w\+" nextgroup=@shDerefVarList -" sh ksh bash : ${var[... ]...} array reference +" sh ksh bash : ${var[... ]...} array reference: {{{1 syn region shDerefVarArray contained matchgroup=shDeref start="\[" end="]" contains=@shCommandSubList nextgroup=shDerefOp,shDerefOpError +" Special ${parameter OPERATOR word} handling: {{{1 " sh ksh bash : ${parameter:-word} word is default value " sh ksh bash : ${parameter:=word} assign word as default value " sh ksh bash : ${parameter:?word} display word if parameter is null @@ -395,15 +403,20 @@ if exists("b:is_bash") syn match shDerefPatString contained "[^}]\{1,}" endif -" A bunch of useful sh keywords +" Useful sh Keywords: {{{1 +" =================== syn keyword shStatement break cd chdir continue eval exec exit kill newgrp pwd read readonly return shift test trap ulimit umask wait syn keyword shConditional contained elif else then syn keyword shCondError elif else then +" Useful ksh Keywords: {{{1 +" ==================== if exists("b:is_kornshell") || exists("b:is_bash") syn keyword shFunction function syn keyword shStatement autoload bg false fc fg functions getopts hash history integer jobs let nohup print printf r stop suspend time times true type unalias whence +" Useful bash Keywords: {{{1 +" ===================== if exists("b:is_bash") syn keyword shStatement bind builtin dirs disown enable help local logout popd pushd shopt source else @@ -411,8 +424,8 @@ if exists("b:is_kornshell") || exists("b:is_bash") endif endif -" Syncs -" ===== +" Synchronization: {{{1 +" ================ if !exists("sh_minlines") let sh_minlines = 200 endif @@ -431,7 +444,8 @@ syn sync match shIfSync groupthere shIf "\<fi\>" syn sync match shUntilSync grouphere shRepeat "\<until\>" syn sync match shWhileSync grouphere shRepeat "\<while\>" -" The default highlighting. +" Default Highlighting: {{{1 +" ===================== hi def link shArithRegion shShellVariables hi def link shCaseBar shConditional hi def link shCaseIn shConditional @@ -525,8 +539,8 @@ hi def link shString String hi def link shTodo Todo hi def link shAlias Identifier -" Current Syntax -" ============== +" Set Current Syntax: {{{1 +" =================== if exists("b:is_bash") let b:current_syntax = "bash" elseif exists("b:is_kornshell") @@ -535,4 +549,4 @@ else let b:current_syntax = "sh" endif -" vim: ts=16 +" vim: ts=16 fdm=marker diff --git a/runtime/syntax/sqlinformix.vim b/runtime/syntax/sqlinformix.vim new file mode 100644 index 000000000..b4d023600 --- /dev/null +++ b/runtime/syntax/sqlinformix.vim @@ -0,0 +1,196 @@ +" Vim syntax file +" Informix Structured Query Language (SQL) and Stored Procedure Language (SPL) +" Language: SQL, SPL (Informix Dynamic Server 2000 v9.2) +" Maintainer: Dean Hill <dhill@hotmail.com> +" Last Change: 2004 Aug 30 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syn case ignore + + + +" === Comment syntax group === +syn region sqlComment start="{" end="}" contains=sqlTodo +syn match sqlComment "--.*$" contains=sqlTodo +syn sync ccomment sqlComment + + + +" === Constant syntax group === +" = Boolean subgroup = +syn keyword sqlBoolean true false +syn keyword sqlBoolean null +syn keyword sqlBoolean public user +syn keyword sqlBoolean current today +syn keyword sqlBoolean year month day hour minute second fraction + +" = String subgroup = +syn region sqlString start=+"+ end=+"+ +syn region sqlString start=+'+ end=+'+ + +" = Numbers subgroup = +syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>" + + + +" === Statement syntax group === +" SQL +syn keyword sqlStatement allocate alter +syn keyword sqlStatement begin +syn keyword sqlStatement close commit connect create +syn keyword sqlStatement database deallocate declare delete describe disconnect drop +syn keyword sqlStatement execute fetch flush free get grant info insert +syn keyword sqlStatement load lock open output +syn keyword sqlStatement prepare put +syn keyword sqlStatement rename revoke rollback select set start stop +syn keyword sqlStatement truncate unload unlock update +syn keyword sqlStatement whenever +" SPL +syn keyword sqlStatement call continue define +syn keyword sqlStatement exit +syn keyword sqlStatement let +syn keyword sqlStatement return system trace + +" = Conditional subgroup = +" SPL +syn keyword sqlConditional elif else if then +syn keyword sqlConditional case +" Highlight "end if" with one or more separating spaces +syn match sqlConditional "end \+if" + +" = Repeat subgroup = +" SQL/SPL +" Handle SQL triggers' "for each row" clause and SPL "for" loop +syn match sqlRepeat "for\( \+each \+row\)\=" +" SPL +syn keyword sqlRepeat foreach while +" Highlight "end for", etc. with one or more separating spaces +syn match sqlRepeat "end \+for" +syn match sqlRepeat "end \+foreach" +syn match sqlRepeat "end \+while" + +" = Exception subgroup = +" SPL +syn match sqlException "on \+exception" +syn match sqlException "end \+exception" +syn match sqlException "end \+exception \+with \+resume" +syn match sqlException "raise \+exception" + +" = Keyword subgroup = +" SQL +syn keyword sqlKeyword aggregate add as authorization autofree by +syn keyword sqlKeyword cache cascade check cluster collation +syn keyword sqlKeyword column connection constraint cross +syn keyword sqlKeyword dataskip debug default deferred_prepare +syn keyword sqlKeyword descriptor diagnostics +syn keyword sqlKeyword each escape explain external +syn keyword sqlKeyword file foreign fragment from function +syn keyword sqlKeyword group having +syn keyword sqlKeyword immediate index inner into isolation +syn keyword sqlKeyword join key +syn keyword sqlKeyword left level log +syn keyword sqlKeyword mode modify mounting new no +syn keyword sqlKeyword object of old optical option +syn keyword sqlKeyword optimization order outer +syn keyword sqlKeyword pdqpriority pload primary procedure +syn keyword sqlKeyword references referencing release reserve +syn keyword sqlKeyword residency right role routine row +syn keyword sqlKeyword schedule schema scratch session set +syn keyword sqlKeyword statement statistics synonym +syn keyword sqlKeyword table temp temporary timeout to transaction trigger +syn keyword sqlKeyword using values view violations +syn keyword sqlKeyword where with work +" Highlight "on" (if it's not followed by some words we've already handled) +syn match sqlKeyword "on \+\(exception\)\@!" +" SPL +" Highlight "end" (if it's not followed by some words we've already handled) +syn match sqlKeyword "end \+\(if\|for\|foreach\|while\|exception\)\@!" +syn keyword sqlKeyword resume returning + +" = Operator subgroup = +" SQL +syn keyword sqlOperator not and or +syn keyword sqlOperator in is any some all between exists +syn keyword sqlOperator like matches +syn keyword sqlOperator union intersect +syn keyword sqlOperator distinct unique + + + +" === Identifier syntax group === +" = Function subgroup = +" SQL +syn keyword sqlFunction abs acos asin atan atan2 avg +syn keyword sqlFunction cardinality cast char_length character_length cos count +syn keyword sqlFunction exp filetoblob filetoclob hex +syn keyword sqlFunction initcap length logn log10 lower lpad +syn keyword sqlFunction min max mod octet_length pow range replace root round rpad +syn keyword sqlFunction sin sqrt stdev substr substring sum +syn keyword sqlFunction to_char tan to_date trim trunc upper variance + + + +" === Type syntax group === +" SQL +syn keyword sqlType blob boolean byte char character clob +syn keyword sqlType date datetime dec decimal double +syn keyword sqlType float int int8 integer interval list lvarchar +syn keyword sqlType money multiset nchar numeric nvarchar +syn keyword sqlType real serial serial8 smallfloat smallint +syn keyword sqlType text varchar varying + + + +" === Todo syntax group === +syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE + + + +" 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 +if version >= 508 || !exists("did_sql_syn_inits") + if version < 508 + let did_sql_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + + " === Comment syntax group === + HiLink sqlComment Comment + + " === Constant syntax group === + HiLink sqlNumber Number + HiLink sqlBoolean Boolean + HiLink sqlString String + + " === Statment syntax group === + HiLink sqlStatement Statement + HiLink sqlConditional Conditional + HiLink sqlRepeat Repeat + HiLink sqlKeyword Keyword + HiLink sqlOperator Operator + HiLink sqlException Exception + + " === Identifier syntax group === + HiLink sqlFunction Function + + " === Type syntax group === + HiLink sqlType Type + + " === Todo syntax group === + HiLink sqlTodo Todo + + delcommand HiLink +endif + +let b:current_syntax = "sqlinformix" diff --git a/runtime/syntax/synload.vim b/runtime/syntax/synload.vim index f816bc2d2..652cdba82 100644 --- a/runtime/syntax/synload.vim +++ b/runtime/syntax/synload.vim @@ -1,6 +1,6 @@ " Vim syntax support file " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2001 May 21 +" Last Change: 2004 Aug 28 " This file sets up for syntax highlighting. " It is loaded from "syntax.vim" and "manual.vim". @@ -50,15 +50,25 @@ fun! s:SynSet() if s != "" " Load the syntax file(s) -" if has("mac") -" exe "runtime! syntax:" . s . ".vim" -" else - exe "runtime! syntax/" . s . ".vim" -" endif + exe "runtime! syntax/" . s . ".vim" endif endfun +" Handle adding doxygen to other languages (C, C++, IDL) +au Syntax cpp,c,idl + \ if (exists('b:load_doxygen_syntax') && b:load_doxygen_syntax) + \ || (exists('g:load_doxygen_syntax') && g:load_doxygen_syntax) + \ | runtime syntax/doxygen.vim + \ | endif + +au Syntax *doxygen + \ if exists("b:current_syntax") | finish | endif + \ | let syn = substitute(expand("<amatch>"), 'doxygen$', '', '') + \ | if syn != '' | exe 'runtime syntax/'.syn.'.vim' | endif + \ | if b:current_syntax !~ 'doxygen' | runtime syntax/doxygen.vim | endif + + " Source the user-specified syntax highlighting file if exists("mysyntaxfile") && filereadable(expand(mysyntaxfile)) execute "source " . mysyntaxfile |