diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2014-07-11 04:05:51 +0000 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2014-07-29 02:12:31 +0000 |
commit | a98a6996c291b3e300d27b791eded9eed333d677 (patch) | |
tree | 51d92f6cac128f938cd0aaa9a8dd0ce7a83d63a9 /runtime/syntax/fan.vim | |
parent | 66bc13163398786c88e20b7cdd61c66978b4d3fb (diff) | |
download | rneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.gz rneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.bz2 rneovim-a98a6996c291b3e300d27b791eded9eed333d677.zip |
re-integrate runtime/ vim-patch:0 #938
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7
Excluding:
Amiga icons (*.info, icons/)
doc/hangulin.txt
tutor/
spell/
lang/ (only used for menu translations)
macros/maze/, macros/hanoi/, macros/life/, macros/urm/
These were used to test vi compatibility.
termcap
"Demonstration of a termcap file (for the Amiga and Archimedes)"
Helped-by: Rich Wareham <rjw57@cam.ac.uk>
Helped-by: John <john.schmidt.h@gmail.com>
Helped-by: Yann <yann@yann-salaun.com>
Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com>
Helped-by: drasill <github@tof2k.com>
Helped-by: Tae Sandoval Murgan <taecilla@gmail.com>
Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
Diffstat (limited to 'runtime/syntax/fan.vim')
-rw-r--r-- | runtime/syntax/fan.vim | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/runtime/syntax/fan.vim b/runtime/syntax/fan.vim new file mode 100644 index 0000000000..fc193af062 --- /dev/null +++ b/runtime/syntax/fan.vim @@ -0,0 +1,132 @@ +" Vim syntax file +" Language: Fantom +" Maintainer: Kamil Toman <kamil.toman@gmail.com> +" Last Change: 2010 May 27 +" Based on Java syntax file by Claudio Fleiner <claudio@fleiner.com> + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" keyword definitions +syn keyword fanExternal using native +syn keyword fanError goto void serializable volatile +syn keyword fanConditional if else switch +syn keyword fanRepeat do while for foreach each +syn keyword fanBoolean true false +syn keyword fanConstant null +syn keyword fanTypedef this super +syn keyword fanOperator new is isnot as +syn keyword fanLongOperator plus minus mult div mod get set slice lshift rshift and or xor inverse negate increment decrement equals compare +syn keyword fanType Void Bool Int Float Decimal Str Duration Uri Type Range List Map Obj +syn keyword fanStatement return +syn keyword fanStorageClass static const final +syn keyword fanSlot virtual override once +syn keyword fanField readonly +syn keyword fanExceptions throw try catch finally +syn keyword fanAssert assert +syn keyword fanTypedef class enum mixin +syn match fanFacet "@[_a-zA-Z][_a-zA-Z0-9_]*\>" +syn keyword fanBranch break continue +syn keyword fanScopeDecl public internal protected private abstract + +if exists("fan_space_errors") + if !exists("fan_no_trail_space_error") + syn match fanSpaceError "\s\+$" + endif + if !exists("fan_no_tab_space_error") + syn match fanSpaceError " \+\t"me=e-1 + endif +endif + +syn region fanLabelRegion transparent matchgroup=fanLabel start="\<case\>" matchgroup=NONE end=":" contains=fanNumber,fanCharacter +syn keyword fanLabel default +syn keyword fanLabel case + +" The following cluster contains all fan groups except the contained ones +syn cluster fanTop add=fanExternal,fanError,fanConditional,fanRepeat,fanBoolean,fanConstant,fanTypedef,fanOperator,fanLongOperator,fanType,fanType,fanStatement,fanStorageClass,fanSlot,fanField,fanExceptions,fanAssert,fanClassDecl,fanTypedef,fanFacet,fanBranch,fanScopeDecl,fanLabelRegion,fanLabel + +" Comments +syn keyword fanTodo contained TODO FIXME XXX +syn region fanComment start="/\*" end="\*/" contains=@fanCommentSpecial,fanTodo,fanComment,@Spell +syn match fanCommentStar contained "^\s*\*[^/]"me=e-1 +syn match fanCommentStar contained "^\s*\*$" +syn match fanLineComment "//.*" contains=@fanCommentSpecial2,fanTodo,@Spell +syn match fanDocComment "\*\*.*" contains=@fanCommentSpecial2,fanTodo,@Spell +hi def link fanCommentString fanString +hi def link fanComment2String fanString +hi def link fanCommentCharacter fanCharacter + +syn cluster fanTop add=fanComment,fanLineComment,fanDocComment + +" match the special comment /**/ +syn match fanComment "/\*\*/" + +" Strings and constants +syn match fanSpecialError contained "\\." +syn match fanSpecialCharError contained "[^']" +syn match fanSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\|\$\)" +syn match fanStringSubst contained "\$[A-Za-z][A-Za-z_.]*" +syn match fanStringSubst contained "\${[^}]*}" +syn region fanString start=+"+ end=+"+ contains=fanSpecialChar,fanSpecialError,fanStringSubst,@Spell +syn region fanTripleString start=+"""+ end=+"""+ contains=fanSpecialChar,fanSpecialError,fanStringSubst,@Spell +syn region fanDSL start=+<|+ end=+|>+ +syn match fanUri "`[^`]*`" +syn match fanCharacter "'[^']*'" contains=fanSpecialChar,fanSpecialCharError +syn match fanCharacter "'\\''" contains=fanSpecialChar +syn match fanCharacter "'[^\\]'" +syn match fanNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" +syn match fanNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" +syn match fanNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" +syn match fanNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" + +syn cluster fanTop add=fanString,fanCharacter,fanNumber,fanSpecial,fanStringError + +" The default highlighting. +hi def link fanBranch Conditional +hi def link fanLabel Label +hi def link fanUserLabel Label +hi def link fanConditional Conditional +hi def link fanRepeat Repeat +hi def link fanExceptions Exception +hi def link fanAssert Statement +hi def link fanStorageClass StorageClass +hi def link fanSlot StorageClass +hi def link fanField StorageClass +hi def link fanScopeDecl StorageClass +hi def link fanBoolean Boolean +hi def link fanSpecial Special +hi def link fanSpecialError Error +hi def link fanSpecialCharError Error +hi def link fanTripleString String +hi def link fanString String +hi def link fanDSL String +hi def link fanCharacter String +hi def link fanStringSubst Identifier +hi def link fanUri SpecialChar +hi def link fanSpecialChar SpecialChar +hi def link fanNumber Number +hi def link fanError Error +hi def link fanStringError Error +hi def link fanStatement Statement +hi def link fanOperator Operator +hi def link fanLongOperator Operator +hi def link fanComment Comment +hi def link fanDocComment Comment +hi def link fanLineComment Comment +hi def link fanConstant Constant +hi def link fanTypedef Typedef +hi def link fanTodo Todo +hi def link fanFacet PreProc + +hi def link fanCommentTitle SpecialComment +hi def link fanCommentStar SpecialComment +hi def link fanType Identifier +hi def link fanExternal Include + +hi def link fanSpaceError Error + +let b:current_syntax = "fan" + +" vim: ts=8 |