diff --git a/syntax/clojure.vim b/syntax/clojure.vim index 2828d8d..758c1fa 100644 --- a/syntax/clojure.vim +++ b/syntax/clojure.vim @@ -17,6 +17,9 @@ if exists("b:current_syntax") finish endif +let s:cpo_sav = &cpo +set cpo&vim + if has("folding") && exists("g:clojure_fold") && g:clojure_fold > 0 setlocal foldmethod=syntax endif @@ -216,6 +219,9 @@ highlight default link clojureParen Delimiter let b:current_syntax = "clojure" +let &cpo = s:cpo_sav +unlet! s:cpo_sav + " vim:sts=8:sw=8:ts=8:noet endif diff --git a/syntax/dart.vim b/syntax/dart.vim index e66829a..21749b4 100644 --- a/syntax/dart.vim +++ b/syntax/dart.vim @@ -23,12 +23,12 @@ syntax keyword dartConditional if else switch syntax keyword dartRepeat do while for syntax keyword dartBoolean true false syntax keyword dartConstant null -syntax keyword dartTypedef this super class typedef -syntax keyword dartOperator new is as in factory +syntax keyword dartTypedef this super class typedef enum +syntax keyword dartOperator new is as in syntax match dartOperator "+=\=\|-=\=\|*=\=\|/=\=\|%=\=\|\~/=\=\|<<=\=\|>>=\=\|[<>]=\=\|===\=\|\!==\=\|&=\=\|\^=\=\||=\=\|||\|&&\|\[\]=\=\|=>\|!\|\~\|?\|:" syntax keyword dartType void var bool int double num dynamic syntax keyword dartStatement return -syntax keyword dartStorageClass static abstract final const +syntax keyword dartStorageClass static abstract final const factory syntax keyword dartExceptions throw rethrow try on catch finally syntax keyword dartAssert assert syntax keyword dartClassDecl extends with implements @@ -39,11 +39,17 @@ syntax match dartUserLabelRef "\k\+" contained syntax region dartLabelRegion transparent matchgroup=dartLabel start="\" matchgroup=NONE end=":" syntax keyword dartLabel default -syntax match dartLibrary "^\(import\|part of\|part\|export\|library\|show\|hide\)\s" +syntax match dartLibrary "^\(import\|export\)\>" nextgroup=dartUri skipwhite +syntax region dartUri contained start=+r\=\z(["']\)+ end=+\z1+ nextgroup=dartCombinators skipwhite +syntax region dartCombinators contained start="" end=";" contains=dartCombinator +syntax keyword dartCombinator contained show hide deferred as +syntax match dartLibrary "^\(library\|part of\|part\)\>" + +syntax match dartMetadata "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>" " Comments syntax keyword dartTodo contained TODO FIXME XXX -syntax region dartComment start="/\*" end="\*/" contains=dartTodo,dartDocLink,@Spell +syntax region dartComment start="/\*" end="\*/" contains=dartComment,dartTodo,dartDocLink,@Spell syntax match dartLineComment "//.*" contains=dartTodo,@Spell syntax match dartLineDocComment "///.*" contains=dartTodo,dartDocLink,@Spell syntax region dartDocLink oneline contained start=+\[+ end=+\]+ @@ -96,9 +102,12 @@ highlight default link dartInterpolation PreProc highlight default link dartDocLink SpecialComment highlight default link dartSpecialChar SpecialChar highlight default link dartLibrary Include +highlight default link dartUri String +highlight default link dartCombinator Keyword highlight default link dartCoreClasses Type highlight default link dartCoreTypedefs Typedef highlight default link dartCoreExceptions Exception +highlight default link dartMetadata PreProc let b:current_syntax = "dart" let b:spell_options = "contained" diff --git a/syntax/elixir.vim b/syntax/elixir.vim index 519d5ef..3e964f0 100644 --- a/syntax/elixir.vim +++ b/syntax/elixir.vim @@ -76,7 +76,7 @@ syn region elixirRegex matchgroup=elixirRegexDelimiter start="%r/" end="/[uiomxf syn cluster elixirRegexSpecial contains=elixirRegexEscape,elixirRegexCharClass,elixirRegexQuantifier,elixirRegexEscapePunctuation syn cluster elixirStringContained contains=elixirInterpolation,elixirRegexEscape,elixirRegexCharClass -syn region elixirString matchgroup=elixirStringDelimiter start="'" end="'" skip="\\'\|\\\\" +syn region elixirString matchgroup=elixirStringDelimiter start="'" end="'" skip="\\'\|\\\\" contains=@elixirStringContained syn region elixirString matchgroup=elixirStringDelimiter start='"' end='"' skip='\\"' contains=@elixirStringContained syn region elixirInterpolation matchgroup=elixirInterpolationDelimiter start="#{" end="}" contained contains=ALLBUT,elixirComment,@elixirNotTop @@ -128,7 +128,7 @@ syn keyword elixirCallbackDefine defcallback nextgroup=elixirCallbackDec syn keyword elixirStructDefine defstruct skipwhite skipnl " Declarations -syn match elixirModuleDeclaration "[^[:space:];#<]\+" contained contains=elixirAlias nextgroup=elixirBlock skipwhite skipnl +syn match elixirModuleDeclaration "[^[:space:];#<]\+" contained nextgroup=elixirBlock skipwhite skipnl syn match elixirFunctionDeclaration "[^[:space:];#<,()\[\]]\+" contained nextgroup=elixirArguments skipwhite skipnl syn match elixirProtocolDeclaration "[^[:space:];#<]\+" contained contains=elixirAlias skipwhite skipnl syn match elixirImplDeclaration "[^[:space:];#<]\+" contained contains=elixirAlias skipwhite skipnl diff --git a/syntax/swift.vim b/syntax/swift.vim index 4a9fa20..7970859 100644 --- a/syntax/swift.vim +++ b/syntax/swift.vim @@ -121,6 +121,7 @@ syntax keyword swiftKeywords \ else \ extension \ fallthrough + \ fileprivate \ final \ for \ func diff --git a/syntax/typescript.vim b/syntax/typescript.vim index 5fa488b..12fd0fe 100644 --- a/syntax/typescript.vim +++ b/syntax/typescript.vim @@ -67,7 +67,6 @@ syn region typescriptInterpolation matchgroup=typescriptInterpolationDelimiter \ start=/${/ end=/}/ contained \ contains=@typescriptExpression -syn match typescriptSpecialCharacter "'\\.'" syn match typescriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" syn region typescriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\{0,2\}\s*$+ end=+/[gi]\{0,2\}\s*[;.,)\]}]+me=e-1 contains=@htmlPreproc oneline " syntax match typescriptSpecial "\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\." @@ -125,7 +124,7 @@ syntax keyword typescriptGlobalObjects Array Boolean Date Function Infinity Math syntax keyword typescriptExceptions try catch throw finally Error EvalError RangeError ReferenceError SyntaxError TypeError URIError -syntax keyword typescriptReserved constructor declare as interface module abstract enum int short export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public type namespace from +syntax keyword typescriptReserved constructor declare as interface module abstract enum int short export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public type namespace from get set "}}} "" typescript/DOM/HTML/CSS specified things"{{{