mirror of
https://github.com/neovim/neovim.git
synced 2024-12-25 21:55:17 -07:00
91 lines
3.2 KiB
VimL
91 lines
3.2 KiB
VimL
|
" Vim syntax file
|
||
|
"
|
||
|
" Language: Dart
|
||
|
" Maintainer: Eugene 'pr3d4t0r' Ciurana <dart.syntax AT cime.net >
|
||
|
" Source: https://github.com/pr3d4t0r/dart-vim-syntax
|
||
|
" Last Update: 2019 Oct 19
|
||
|
"
|
||
|
" License: Vim is Charityware. dart.vim syntax is Charityware.
|
||
|
" (c) Copyright 2019 by Eugene Ciurana / pr3d4t0r. Licensed
|
||
|
" under the standard VIM LICENSE - Vim command :help uganda.txt
|
||
|
" for details.
|
||
|
"
|
||
|
" Questions, comments: <dart.syntax AT cime.net>
|
||
|
" https://ciurana.eu/pgp, https://keybase.io/pr3d4t0r
|
||
|
"
|
||
|
" vim: set fileencoding=utf-8:
|
||
|
|
||
|
|
||
|
" Quit when a (custom) syntax file was already loaded
|
||
|
if exists("b:current_syntax")
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
let s:cpo_save = &cpo
|
||
|
set cpo&vim
|
||
|
|
||
|
|
||
|
syn keyword dartCommentTodo contained TODO FIXME XXX TBD
|
||
|
syn match dartLineComment "//.*" contains=dartTodo,@Spell
|
||
|
syn match dartCommentSkip "^[ \t]*\*\($\|[ \t]\+\)"
|
||
|
syn region dartComment start="/\*" end="\*/" contains=@Spell,dartTodo
|
||
|
syn keyword dartReserved assert async await class const export extends external final hide import implements interface library mixin on show super sync yield
|
||
|
syn match dartNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
|
||
|
|
||
|
|
||
|
syn keyword dartBoolean false true
|
||
|
syn keyword dartBranch break continue
|
||
|
syn keyword dartConditional if else switch
|
||
|
syn keyword dartException catch finally rethrow throw try
|
||
|
syn keyword dartIdentifier abstract covariant deferred dynamic factory Function operator part static this typedef var
|
||
|
syn keyword dartLabel case default
|
||
|
syn keyword dartNull null
|
||
|
syn keyword dartOperator is new
|
||
|
syn keyword dartRepeat for do in while
|
||
|
syn keyword dartStatement return with
|
||
|
syn keyword dartType bool double enum int String StringBuffer void
|
||
|
syn keyword dartTodo contained TODO FIXME XXX
|
||
|
|
||
|
|
||
|
syn match dartEscape contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
|
||
|
syn match dartSpecialError contained "\\."
|
||
|
syn match dartStrInterpol contained "\${[\x, _]*\}"
|
||
|
|
||
|
syn region dartDQString start=+"+ end=+"+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell
|
||
|
syn region dartSQString start=+'+ end=+'+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell
|
||
|
|
||
|
syn match dartBraces "[{}\[\]]"
|
||
|
syn match dartParens "[()]"
|
||
|
|
||
|
|
||
|
syn sync fromstart
|
||
|
syn sync maxlines=100
|
||
|
|
||
|
|
||
|
hi def link dartBoolean Boolean
|
||
|
hi def link dartBranch Conditional
|
||
|
hi def link dartComment Comment
|
||
|
hi def link dartConditional Conditional
|
||
|
hi def link dartDQString String
|
||
|
hi def link dartEscape SpecialChar
|
||
|
hi def link dartException Exception
|
||
|
hi def link dartIdentifier Identifier
|
||
|
hi def link dartLabel Label
|
||
|
hi def link dartLineComment Comment
|
||
|
hi def link dartNull Keyword
|
||
|
hi def link dartOperator Operator
|
||
|
hi def link dartRepeat Repeat
|
||
|
hi def link dartReserved Keyword
|
||
|
hi def link dartSQString String
|
||
|
hi def link dartSpecialError Error
|
||
|
hi def link dartStatement Statement
|
||
|
hi def link dartStrInterpol Special
|
||
|
hi def link dartTodo Todo
|
||
|
hi def link dartType Type
|
||
|
|
||
|
|
||
|
let b:current_syntax = "dart"
|
||
|
let &cpo = s:cpo_save
|
||
|
unlet s:cpo_save
|
||
|
|