Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/fan.vim @ 39:c16898406ff2
synchorinize version 7.3.081
author | one@zeus.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Fri, 17 Dec 2010 17:43:06 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
38:e06a1cd7230d | 39:c16898406ff2 |
---|---|
1 " Vim syntax file | |
2 " Language: Fantom | |
3 " Maintainer: Kamil Toman <kamil.toman@gmail.com> | |
4 " Last Change: 2010 May 27 | |
5 " Based on Java syntax file by Claudio Fleiner <claudio@fleiner.com> | |
6 | |
7 " Quit when a syntax file was already loaded | |
8 if exists("b:current_syntax") | |
9 finish | |
10 endif | |
11 | |
12 " keyword definitions | |
13 syn keyword fanExternal using native | |
14 syn keyword fanError goto void serializable volatile | |
15 syn keyword fanConditional if else switch | |
16 syn keyword fanRepeat do while for foreach each | |
17 syn keyword fanBoolean true false | |
18 syn keyword fanConstant null | |
19 syn keyword fanTypedef this super | |
20 syn keyword fanOperator new is isnot as | |
21 syn keyword fanLongOperator plus minus mult div mod get set slice lshift rshift and or xor inverse negate increment decrement equals compare | |
22 syn keyword fanType Void Bool Int Float Decimal Str Duration Uri Type Range List Map Obj | |
23 syn keyword fanStatement return | |
24 syn keyword fanStorageClass static const final | |
25 syn keyword fanSlot virtual override once | |
26 syn keyword fanField readonly | |
27 syn keyword fanExceptions throw try catch finally | |
28 syn keyword fanAssert assert | |
29 syn keyword fanTypedef class enum mixin | |
30 syn match fanFacet "@[_a-zA-Z][_a-zA-Z0-9_]*\>" | |
31 syn keyword fanBranch break continue | |
32 syn keyword fanScopeDecl public internal protected private abstract | |
33 | |
34 if exists("fan_space_errors") | |
35 if !exists("fan_no_trail_space_error") | |
36 syn match fanSpaceError "\s\+$" | |
37 endif | |
38 if !exists("fan_no_tab_space_error") | |
39 syn match fanSpaceError " \+\t"me=e-1 | |
40 endif | |
41 endif | |
42 | |
43 syn region fanLabelRegion transparent matchgroup=fanLabel start="\<case\>" matchgroup=NONE end=":" contains=fanNumber,fanCharacter | |
44 syn keyword fanLabel default | |
45 syn keyword fanLabel case | |
46 | |
47 " The following cluster contains all fan groups except the contained ones | |
48 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 | |
49 | |
50 " Comments | |
51 syn keyword fanTodo contained TODO FIXME XXX | |
52 syn region fanComment start="/\*" end="\*/" contains=@fanCommentSpecial,fanTodo,fanComment,@Spell | |
53 syn match fanCommentStar contained "^\s*\*[^/]"me=e-1 | |
54 syn match fanCommentStar contained "^\s*\*$" | |
55 syn match fanLineComment "//.*" contains=@fanCommentSpecial2,fanTodo,@Spell | |
56 syn match fanDocComment "\*\*.*" contains=@fanCommentSpecial2,fanTodo,@Spell | |
57 hi def link fanCommentString fanString | |
58 hi def link fanComment2String fanString | |
59 hi def link fanCommentCharacter fanCharacter | |
60 | |
61 syn cluster fanTop add=fanComment,fanLineComment,fanDocComment | |
62 | |
63 " match the special comment /**/ | |
64 syn match fanComment "/\*\*/" | |
65 | |
66 " Strings and constants | |
67 syn match fanSpecialError contained "\\." | |
68 syn match fanSpecialCharError contained "[^']" | |
69 syn match fanSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\|\$\)" | |
70 syn match fanStringSubst contained "\$[A-Za-z][A-Za-z_.]*" | |
71 syn match fanStringSubst contained "\${[^}]*}" | |
72 syn region fanString start=+"+ end=+"+ contains=fanSpecialChar,fanSpecialError,fanStringSubst,@Spell | |
73 syn region fanTripleString start=+"""+ end=+"""+ contains=fanSpecialChar,fanSpecialError,fanStringSubst,@Spell | |
74 syn region fanDSL start=+<|+ end=+|>+ | |
75 syn match fanUri "`[^`]*`" | |
76 syn match fanCharacter "'[^']*'" contains=fanSpecialChar,fanSpecialCharError | |
77 syn match fanCharacter "'\\''" contains=fanSpecialChar | |
78 syn match fanCharacter "'[^\\]'" | |
79 syn match fanNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" | |
80 syn match fanNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" | |
81 syn match fanNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" | |
82 syn match fanNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" | |
83 | |
84 syn cluster fanTop add=fanString,fanCharacter,fanNumber,fanSpecial,fanStringError | |
85 | |
86 " The default highlighting. | |
87 hi def link fanBranch Conditional | |
88 hi def link fanLabel Label | |
89 hi def link fanUserLabel Label | |
90 hi def link fanConditional Conditional | |
91 hi def link fanRepeat Repeat | |
92 hi def link fanExceptions Exception | |
93 hi def link fanAssert Statement | |
94 hi def link fanStorageClass StorageClass | |
95 hi def link fanSlot StorageClass | |
96 hi def link fanField StorageClass | |
97 hi def link fanScopeDecl StorageClass | |
98 hi def link fanBoolean Boolean | |
99 hi def link fanSpecial Special | |
100 hi def link fanSpecialError Error | |
101 hi def link fanSpecialCharError Error | |
102 hi def link fanTripleString String | |
103 hi def link fanString String | |
104 hi def link fanDSL String | |
105 hi def link fanCharacter String | |
106 hi def link fanStringSubst Identifier | |
107 hi def link fanUri SpecialChar | |
108 hi def link fanSpecialChar SpecialChar | |
109 hi def link fanNumber Number | |
110 hi def link fanError Error | |
111 hi def link fanStringError Error | |
112 hi def link fanStatement Statement | |
113 hi def link fanOperator Operator | |
114 hi def link fanLongOperator Operator | |
115 hi def link fanComment Comment | |
116 hi def link fanDocComment Comment | |
117 hi def link fanLineComment Comment | |
118 hi def link fanConstant Constant | |
119 hi def link fanTypedef Typedef | |
120 hi def link fanTodo Todo | |
121 hi def link fanFacet PreProc | |
122 | |
123 hi def link fanCommentTitle SpecialComment | |
124 hi def link fanCommentStar SpecialComment | |
125 hi def link fanType Identifier | |
126 hi def link fanExternal Include | |
127 | |
128 hi def link fanSpaceError Error | |
129 | |
130 let b:current_syntax = "fan" | |
131 | |
132 " vim: ts=8 |