OLD | NEW |
1 " Vim syntax file " Language: Dart | 1 " Vim syntax file " Language: Dart |
2 " Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 2 " Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
3 " for details. All rights reserved. Use of this source code is governed by a | 3 " for details. All rights reserved. Use of this source code is governed by a |
4 " BSD-style license that can be found in the LICENSE file. | 4 " BSD-style license that can be found in the LICENSE file. |
5 | 5 |
6 " Quit when a syntax file was already loaded | 6 " Quit when a syntax file was already loaded |
7 if !exists("main_syntax") | 7 if !exists("main_syntax") |
8 if version < 600 | 8 if version < 600 |
9 syntax clear | 9 syntax clear |
10 elseif exists("b:current_syntax") | 10 elseif exists("b:current_syntax") |
11 finish | 11 finish |
12 endif | 12 endif |
13 " we define it here so that included files can test for it | 13 " we define it here so that included files can test for it |
14 let main_syntax='dart' | 14 let main_syntax='dart' |
15 syn region dartFold start="{" end="}" transparent fold | 15 syn region dartFold start="{" end="}" transparent fold |
16 endif | 16 endif |
17 | 17 |
18 " keyword definitions | 18 " keyword definitions |
19 syn keyword dartConditional if else switch | 19 syn keyword dartConditional if else switch |
20 syn keyword dartRepeat while for | 20 syn keyword dartRepeat do while for |
21 syn keyword dartBoolean true false | 21 syn keyword dartBoolean true false |
22 syn keyword dartConstant null | 22 syn keyword dartConstant null |
23 syn keyword dartTypedef this super class typedef | 23 syn keyword dartTypedef this super class typedef |
24 syn keyword dartOperator new is in factory | 24 syn keyword dartOperator new is in factory |
25 syn match dartOperator "+\|-\|*\|[~]\=/\|%\|||\|&&\|\(!\|=\)=[=]\=\|=>\|
[<>]=\|=\|!" | 25 syn match dartOperator "+=\=\|-=\=\|*=\=\|/=\=\|%=\=\|\~/=\=\|<<=\=\|>>=
\=\|[<>]=\=\|===\=\|\!==\=\|&=\=\|\^=\=\||=\=\|||\|&&\|\[\]=\=\|=>\|!\|\~" |
26 syn keyword dartType void var const bool int double num | 26 syn keyword dartType void var const bool int double num |
27 syn keyword dartStatement return | 27 syn keyword dartStatement return |
28 syn keyword dartStorageClass static final abstract | 28 syn keyword dartStorageClass static final abstract |
29 syn keyword dartExceptions throw try catch finally | 29 syn keyword dartExceptions throw try catch finally |
30 syn keyword dartAssert assert | 30 syn keyword dartAssert assert |
31 syn keyword dartClassDecl extends implements interface | 31 syn keyword dartClassDecl extends implements interface |
32 " TODO(antonm): check if labels on break and continue are supported. | 32 " TODO(antonm): check if labels on break and continue are supported. |
33 syn keyword dartBranch break continue nextgroup=dartUserLabelRef skipwhi
te | 33 syn keyword dartBranch break continue nextgroup=dartUserLabelRef skipwhi
te |
34 syn keyword dartKeyword function get set operator | 34 syn keyword dartKeyword get set operator call equals negate |
35 syn match dartUserLabelRef "\k\+" contained | 35 syn match dartUserLabelRef "\k\+" contained |
36 syn match dartVarArg "\.\.\." | 36 syn match dartVarArg "\.\.\." |
37 | 37 |
38 " TODO(antonm): consider conditional highlighting of corelib classes. | 38 " TODO(antonm): consider conditional highlighting of corelib classes. |
39 | 39 |
40 syn region dartLabelRegion transparent matchgroup=dartLabel start="\<case\>"
matchgroup=NONE end=":" | 40 syn region dartLabelRegion transparent matchgroup=dartLabel start="\<case\>"
matchgroup=NONE end=":" |
41 syn keyword dartLabel default | 41 syn keyword dartLabel default |
42 | 42 |
43 " Comments | 43 " Comments |
44 syn keyword dartTodo contained TODO FIXME XXX | 44 syn keyword dartTodo contained TODO FIXME XXX |
45 syn region dartComment start="/\*" end="\*/" contains=dartTodo,dartDocLi
nk,@Spell | 45 syn region dartComment start="/\*" end="\*/" contains=dartTodo,dartDocLi
nk,@Spell |
46 syn match dartLineComment "//.*" contains=dartTodo,@Spell | 46 syn match dartLineComment "//.*" contains=dartTodo,@Spell |
| 47 syn match dartLineDocComment "///.*" contains=dartTodo,dartDocLink,@Spell |
47 syn region dartDocLink contained start=+\[+ end=+\]+ | 48 syn region dartDocLink contained start=+\[+ end=+\]+ |
48 | 49 |
49 " Strings | 50 " Strings |
50 syn region dartString start=+\z(["']\)+hs=s+1 end=+\z1+he=e-1 contains=@
Spell,dartInterpolation,dartSpecialChar | 51 syn region dartString start=+\z(["']\)+hs=s+1 end=+\z1+he=e-1 contains=@
Spell,dartInterpolation,dartSpecialChar |
51 syn region dartRawString start=+@\z(["']\)+hs=s+2 end=+\z1+he=e-1 contains=
@Spell | 52 syn region dartRawString start=+@\z(["']\)+hs=s+2 end=+\z1+he=e-1 contains=
@Spell |
52 syn match dartInterpolation contained "\$\(\w\+\|{[^}]\+}\)" | 53 syn match dartInterpolation contained "\$\(\w\+\|{[^}]\+}\)" |
53 syn match dartSpecialChar contained "\\\(u\x\{4\}\|u{\x\+}\|x\x\x\|x{\x\+}\|
.\)" | 54 syn match dartSpecialChar contained "\\\(u\x\{4\}\|u{\x\+}\|x\x\x\|x{\x\+}\|
.\)" |
54 | 55 |
55 " Numbers | 56 " Numbers |
56 syn match dartNumber "\<\d\+\(\.\d\+\)\=\>" | 57 syn match dartNumber "\<\d\+\(\.\d\+\)\=\>" |
(...skipping 12 matching lines...) Expand all Loading... |
69 HiLink dartStorageClass StorageClass | 70 HiLink dartStorageClass StorageClass |
70 HiLink dartClassDecl dartStorageClass | 71 HiLink dartClassDecl dartStorageClass |
71 HiLink dartBoolean Boolean | 72 HiLink dartBoolean Boolean |
72 HiLink dartString String | 73 HiLink dartString String |
73 HiLink dartRawString String | 74 HiLink dartRawString String |
74 HiLink dartNumber Number | 75 HiLink dartNumber Number |
75 HiLink dartStatement Statement | 76 HiLink dartStatement Statement |
76 HiLink dartOperator Operator | 77 HiLink dartOperator Operator |
77 HiLink dartComment Comment | 78 HiLink dartComment Comment |
78 HiLink dartLineComment Comment | 79 HiLink dartLineComment Comment |
| 80 HiLink dartLineDocComment Comment |
79 HiLink dartConstant Constant | 81 HiLink dartConstant Constant |
80 HiLink dartTypedef Typedef | 82 HiLink dartTypedef Typedef |
81 HiLink dartTodo Todo | 83 HiLink dartTodo Todo |
82 HiLink dartKeyword Keyword | 84 HiLink dartKeyword Keyword |
83 HiLink dartType Type | 85 HiLink dartType Type |
84 HiLink dartInterpolation PreProc | 86 HiLink dartInterpolation PreProc |
85 HiLink dartDocLink SpecialComment | 87 HiLink dartDocLink SpecialComment |
86 HiLink dartSpecialChar SpecialChar | 88 HiLink dartSpecialChar SpecialChar |
87 delcommand HiLink | 89 delcommand HiLink |
88 | 90 |
89 let b:current_syntax = "dart" | 91 let b:current_syntax = "dart" |
90 | 92 |
91 if main_syntax == 'dart' | 93 if main_syntax == 'dart' |
92 unlet main_syntax | 94 unlet main_syntax |
93 endif | 95 endif |
94 | 96 |
95 let b:spell_options="contained" | 97 let b:spell_options="contained" |
| 98 |
| 99 " Enable automatic indentation (2 spaces) |
| 100 set expandtab |
| 101 set shiftwidth=2 |
| 102 set softtabstop=2 |
| 103 set cindent |
OLD | NEW |