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