xref: /vim-8.2.3635/runtime/syntax/dart.vim (revision 96f45c0b)
1*96f45c0bSBram Moolenaar" Vim syntax file
2*96f45c0bSBram Moolenaar"
3*96f45c0bSBram Moolenaar" Language:     Dart
4*96f45c0bSBram Moolenaar" Maintainer:   Eugene 'pr3d4t0r' Ciurana <dart.syntax AT cime.net >
5*96f45c0bSBram Moolenaar" Source:       https://github.com/pr3d4t0r/dart-vim-syntax
6*96f45c0bSBram Moolenaar" Last Update:	2019 Oct 19
7*96f45c0bSBram Moolenaar"
8*96f45c0bSBram Moolenaar" License:      Vim is Charityware.  dart.vim syntax is Charityware.
9*96f45c0bSBram Moolenaar"               (c) Copyright 2019 by Eugene Ciurana / pr3d4t0r.  Licensed
10*96f45c0bSBram Moolenaar"               under the standard VIM LICENSE - Vim command :help uganda.txt
11*96f45c0bSBram Moolenaar"               for details.
12*96f45c0bSBram Moolenaar"
13*96f45c0bSBram Moolenaar" Questions, comments:  <dart.syntax AT cime.net>
14*96f45c0bSBram Moolenaar"                       https://ciurana.eu/pgp, https://keybase.io/pr3d4t0r
15*96f45c0bSBram Moolenaar"
16*96f45c0bSBram Moolenaar" vim: set fileencoding=utf-8:
17*96f45c0bSBram Moolenaar
18*96f45c0bSBram Moolenaar
19*96f45c0bSBram Moolenaar" Quit when a (custom) syntax file was already loaded
20*96f45c0bSBram Moolenaarif exists("b:current_syntax")
21*96f45c0bSBram Moolenaar  finish
22*96f45c0bSBram Moolenaarendif
23*96f45c0bSBram Moolenaar
24*96f45c0bSBram Moolenaarlet s:cpo_save = &cpo
25*96f45c0bSBram Moolenaarset cpo&vim
26*96f45c0bSBram Moolenaar
27*96f45c0bSBram Moolenaar
28*96f45c0bSBram Moolenaarsyn keyword dartCommentTodo     contained TODO FIXME XXX TBD
29*96f45c0bSBram Moolenaarsyn match   dartLineComment     "//.*" contains=dartTodo,@Spell
30*96f45c0bSBram Moolenaarsyn match   dartCommentSkip     "^[ \t]*\*\($\|[ \t]\+\)"
31*96f45c0bSBram Moolenaarsyn region  dartComment         start="/\*"  end="\*/" contains=@Spell,dartTodo
32*96f45c0bSBram Moolenaarsyn keyword dartReserved        assert async await class const export extends external final hide import implements interface library mixin on show super sync yield
33*96f45c0bSBram Moolenaarsyn match   dartNumber          "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
34*96f45c0bSBram Moolenaar
35*96f45c0bSBram Moolenaar
36*96f45c0bSBram Moolenaarsyn keyword dartBoolean     false true
37*96f45c0bSBram Moolenaarsyn keyword dartBranch      break continue
38*96f45c0bSBram Moolenaarsyn keyword dartConditional if else switch
39*96f45c0bSBram Moolenaarsyn keyword dartException   catch finally rethrow throw try
40*96f45c0bSBram Moolenaarsyn keyword dartIdentifier  abstract covariant deferred dynamic factory Function operator part static this typedef var
41*96f45c0bSBram Moolenaarsyn keyword dartLabel       case default
42*96f45c0bSBram Moolenaarsyn keyword dartNull        null
43*96f45c0bSBram Moolenaarsyn keyword dartOperator    is new
44*96f45c0bSBram Moolenaarsyn keyword dartRepeat      for do in while
45*96f45c0bSBram Moolenaarsyn keyword dartStatement   return with
46*96f45c0bSBram Moolenaarsyn keyword dartType        bool double enum int String StringBuffer void
47*96f45c0bSBram Moolenaarsyn keyword dartTodo        contained TODO FIXME XXX
48*96f45c0bSBram Moolenaar
49*96f45c0bSBram Moolenaar
50*96f45c0bSBram Moolenaarsyn match  dartEscape       contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
51*96f45c0bSBram Moolenaarsyn match  dartSpecialError contained "\\."
52*96f45c0bSBram Moolenaarsyn match  dartStrInterpol  contained "\${[\x, _]*\}"
53*96f45c0bSBram Moolenaar
54*96f45c0bSBram Moolenaarsyn region dartDQString     start=+"+ end=+"+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell
55*96f45c0bSBram Moolenaarsyn region dartSQString     start=+'+ end=+'+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell
56*96f45c0bSBram Moolenaar
57*96f45c0bSBram Moolenaarsyn match dartBraces        "[{}\[\]]"
58*96f45c0bSBram Moolenaarsyn match dartParens        "[()]"
59*96f45c0bSBram Moolenaar
60*96f45c0bSBram Moolenaar
61*96f45c0bSBram Moolenaarsyn sync fromstart
62*96f45c0bSBram Moolenaarsyn sync maxlines=100
63*96f45c0bSBram Moolenaar
64*96f45c0bSBram Moolenaar
65*96f45c0bSBram Moolenaarhi def link dartBoolean         Boolean
66*96f45c0bSBram Moolenaarhi def link dartBranch          Conditional
67*96f45c0bSBram Moolenaarhi def link dartComment         Comment
68*96f45c0bSBram Moolenaarhi def link dartConditional     Conditional
69*96f45c0bSBram Moolenaarhi def link dartDQString        String
70*96f45c0bSBram Moolenaarhi def link dartEscape          SpecialChar
71*96f45c0bSBram Moolenaarhi def link dartException       Exception
72*96f45c0bSBram Moolenaarhi def link dartIdentifier      Identifier
73*96f45c0bSBram Moolenaarhi def link dartLabel           Label
74*96f45c0bSBram Moolenaarhi def link dartLineComment     Comment
75*96f45c0bSBram Moolenaarhi def link dartNull            Keyword
76*96f45c0bSBram Moolenaarhi def link dartOperator        Operator
77*96f45c0bSBram Moolenaarhi def link dartRepeat          Repeat
78*96f45c0bSBram Moolenaarhi def link dartReserved        Keyword
79*96f45c0bSBram Moolenaarhi def link dartSQString        String
80*96f45c0bSBram Moolenaarhi def link dartSpecialError    Error
81*96f45c0bSBram Moolenaarhi def link dartStatement       Statement
82*96f45c0bSBram Moolenaarhi def link dartStrInterpol     Special
83*96f45c0bSBram Moolenaarhi def link dartTodo            Todo
84*96f45c0bSBram Moolenaarhi def link dartType            Type
85*96f45c0bSBram Moolenaar
86*96f45c0bSBram Moolenaar
87*96f45c0bSBram Moolenaarlet b:current_syntax = "dart"
88*96f45c0bSBram Moolenaarlet &cpo = s:cpo_save
89*96f45c0bSBram Moolenaarunlet s:cpo_save
90*96f45c0bSBram Moolenaar
91