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
 | |
| 
 |