summaryrefslogtreecommitdiffstats
path: root/syntax/dart.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2016-07-26 13:43:53 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2016-07-26 13:52:30 +0200
commit6a823fb3af595051b3a821496ce2a93aa51fa076 (patch)
treef4af418b1467a540932dedb32fa6461b3a4bc341 /syntax/dart.vim
parent11f34624aa32ac72dc65e46ea9badb4b16a0edd1 (diff)
downloadvim-polyglot-6a823fb3af595051b3a821496ce2a93aa51fa076.tar.gz
vim-polyglot-6a823fb3af595051b3a821496ce2a93aa51fa076.zip
Update
Diffstat (limited to 'syntax/dart.vim')
-rw-r--r--syntax/dart.vim19
1 files changed, 14 insertions, 5 deletions
diff --git a/syntax/dart.vim b/syntax/dart.vim
index e66829ac..21749b45 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="\<case\>" 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"