Mercurial > vim
annotate runtime/syntax/chill.vim @ 20566:37ba6d4a9455
Added tag v8.2.0836 for changeset 5788b78a1af0e2e57108c66a1ef595ecc9a63c09
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 28 May 2020 21:45:04 +0200 |
parents | 46763b01cd9a |
children | d6dde6229b36 |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: CHILL | |
3 " Maintainer: YoungSang Yoon <image@lgic.co.kr> | |
4 " Last change: 2004 Jan 21 | |
5 " | |
6 | |
7 " first created by image@lgic.co.kr & modified by paris@lgic.co.kr | |
8 | |
9 " CHILL (CCITT High Level Programming Language) is used for | |
10 " developing software of ATM switch at LGIC (LG Information | |
11 " & Communications LTd.) | |
12 | |
13 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
14 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
15 if exists("b:current_syntax") |
7 | 16 finish |
17 endif | |
18 | |
19 " A bunch of useful CHILL keywords | |
20 syn keyword chillStatement goto GOTO return RETURN returns RETURNS | |
21 syn keyword chillLabel CASE case ESAC esac | |
22 syn keyword chillConditional if IF else ELSE elsif ELSIF switch SWITCH THEN then FI fi | |
23 syn keyword chillLogical NOT not | |
24 syn keyword chillRepeat while WHILE for FOR do DO od OD TO to | |
25 syn keyword chillProcess START start STACKSIZE stacksize PRIORITY priority THIS this STOP stop | |
26 syn keyword chillBlock PROC proc PROCESS process | |
27 syn keyword chillSignal RECEIVE receive SEND send NONPERSISTENT nonpersistent PERSISTENT peristent SET set EVER ever | |
28 | |
29 syn keyword chillTodo contained TODO FIXME XXX | |
30 | |
31 " String and Character constants | |
32 " Highlight special characters (those which have a backslash) differently | |
33 syn match chillSpecial contained "\\x\x\+\|\\\o\{1,3\}\|\\.\|\\$" | |
34 syn region chillString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=chillSpecial | |
35 syn match chillCharacter "'[^\\]'" | |
36 syn match chillSpecialCharacter "'\\.'" | |
37 syn match chillSpecialCharacter "'\\\o\{1,3\}'" | |
38 | |
39 "when wanted, highlight trailing white space | |
40 if exists("chill_space_errors") | |
41 syn match chillSpaceError "\s*$" | |
42 syn match chillSpaceError " \+\t"me=e-1 | |
43 endif | |
44 | |
45 "catch errors caused by wrong parenthesis | |
46 syn cluster chillParenGroup contains=chillParenError,chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField | |
47 syn region chillParen transparent start='(' end=')' contains=ALLBUT,@chillParenGroup | |
48 syn match chillParenError ")" | |
49 syn match chillInParen contained "[{}]" | |
50 | |
51 "integer number, or floating point number without a dot and with "f". | |
52 syn case ignore | |
53 syn match chillNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" | |
54 "floating point number, with dot, optional exponent | |
55 syn match chillFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" | |
56 "floating point number, starting with a dot, optional exponent | |
57 syn match chillFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" | |
58 "floating point number, without dot, with exponent | |
59 syn match chillFloat "\<\d\+e[-+]\=\d\+[fl]\=\>" | |
60 "hex number | |
61 syn match chillNumber "\<0x\x\+\(u\=l\=\|lu\)\>" | |
62 "syn match chillIdentifier "\<[a-z_][a-z0-9_]*\>" | |
63 syn case match | |
64 " flag an octal number with wrong digits | |
65 syn match chillOctalError "\<0\o*[89]" | |
66 | |
67 if exists("chill_comment_strings") | |
68 " A comment can contain chillString, chillCharacter and chillNumber. | |
69 " But a "*/" inside a chillString in a chillComment DOES end the comment! So we | |
70 " need to use a special type of chillString: chillCommentString, which also ends on | |
71 " "*/", and sees a "*" at the start of the line as comment again. | |
72 " Unfortunately this doesn't very well work for // type of comments :-( | |
73 syntax match chillCommentSkip contained "^\s*\*\($\|\s\+\)" | |
74 syntax region chillCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=chillSpecial,chillCommentSkip | |
75 syntax region chillComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=chillSpecial | |
76 syntax region chillComment start="/\*" end="\*/" contains=chillTodo,chillCommentString,chillCharacter,chillNumber,chillFloat,chillSpaceError | |
77 syntax match chillComment "//.*" contains=chillTodo,chillComment2String,chillCharacter,chillNumber,chillSpaceError | |
78 else | |
79 syn region chillComment start="/\*" end="\*/" contains=chillTodo,chillSpaceError | |
80 syn match chillComment "//.*" contains=chillTodo,chillSpaceError | |
81 endif | |
82 syntax match chillCommentError "\*/" | |
83 | |
84 syn keyword chillOperator SIZE size | |
85 syn keyword chillType dcl DCL int INT char CHAR bool BOOL REF ref LOC loc INSTANCE instance | |
86 syn keyword chillStructure struct STRUCT enum ENUM newmode NEWMODE synmode SYNMODE | |
87 "syn keyword chillStorageClass | |
88 syn keyword chillBlock PROC proc END end | |
89 syn keyword chillScope GRANT grant SEIZE seize | |
90 syn keyword chillEDML select SELECT delete DELETE update UPDATE in IN seq SEQ WHERE where INSERT insert include INCLUDE exclude EXCLUDE | |
91 syn keyword chillBoolConst true TRUE false FALSE | |
92 | |
93 syn region chillPreCondit start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=chillComment,chillString,chillCharacter,chillNumber,chillCommentError,chillSpaceError | |
94 syn region chillIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ | |
95 syn match chillIncluded contained "<[^>]*>" | |
96 syn match chillInclude "^\s*#\s*include\>\s*["<]" contains=chillIncluded | |
97 "syn match chillLineSkip "\\$" | |
98 syn cluster chillPreProcGroup contains=chillPreCondit,chillIncluded,chillInclude,chillDefine,chillInParen,chillUserLabel | |
99 syn region chillDefine start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,@chillPreProcGroup | |
100 syn region chillPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,@chillPreProcGroup | |
101 | |
102 " Highlight User Labels | |
103 syn cluster chillMultiGroup contains=chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField | |
104 syn region chillMulti transparent start='?' end=':' contains=ALLBUT,@chillMultiGroup | |
105 " Avoid matching foo::bar() in C++ by requiring that the next char is not ':' | |
106 syn match chillUserCont "^\s*\I\i*\s*:$" contains=chillUserLabel | |
107 syn match chillUserCont ";\s*\I\i*\s*:$" contains=chillUserLabel | |
108 syn match chillUserCont "^\s*\I\i*\s*:[^:]"me=e-1 contains=chillUserLabel | |
109 syn match chillUserCont ";\s*\I\i*\s*:[^:]"me=e-1 contains=chillUserLabel | |
110 | |
111 syn match chillUserLabel "\I\i*" contained | |
112 | |
113 " Avoid recognizing most bitfields as labels | |
114 syn match chillBitField "^\s*\I\i*\s*:\s*[1-9]"me=e-1 | |
115 syn match chillBitField ";\s*\I\i*\s*:\s*[1-9]"me=e-1 | |
116 | |
117 syn match chillBracket contained "[<>]" | |
118 if !exists("chill_minlines") | |
119 let chill_minlines = 15 | |
120 endif | |
121 exec "syn sync ccomment chillComment minlines=" . chill_minlines | |
122 | |
123 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
124 " Only when an item doesn't have highlighting yet |
7 | 125 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
126 hi def link chillLabel Label |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
127 hi def link chillUserLabel Label |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
128 hi def link chillConditional Conditional |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
129 " hi def link chillConditional term=bold ctermfg=red guifg=red gui=bold |
7 | 130 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
131 hi def link chillRepeat Repeat |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
132 hi def link chillProcess Repeat |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
133 hi def link chillSignal Repeat |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
134 hi def link chillCharacter Character |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
135 hi def link chillSpecialCharacter chillSpecial |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
136 hi def link chillNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
137 hi def link chillFloat Float |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
138 hi def link chillOctalError chillError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
139 hi def link chillParenError chillError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
140 hi def link chillInParen chillError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
141 hi def link chillCommentError chillError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
142 hi def link chillSpaceError chillError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
143 hi def link chillOperator Operator |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
144 hi def link chillStructure Structure |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
145 hi def link chillBlock Operator |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
146 hi def link chillScope Operator |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
147 "hi def link chillEDML term=underline ctermfg=DarkRed guifg=Red |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
148 hi def link chillEDML PreProc |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
149 "hi def link chillBoolConst term=bold ctermfg=brown guifg=brown |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
150 hi def link chillBoolConst Constant |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
151 "hi def link chillLogical term=bold ctermfg=brown guifg=brown |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
152 hi def link chillLogical Constant |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
153 hi def link chillStorageClass StorageClass |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
154 hi def link chillInclude Include |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
155 hi def link chillPreProc PreProc |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
156 hi def link chillDefine Macro |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
157 hi def link chillIncluded chillString |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
158 hi def link chillError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
159 hi def link chillStatement Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
160 hi def link chillPreCondit PreCondit |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
161 hi def link chillType Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
162 hi def link chillCommentError chillError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
163 hi def link chillCommentString chillString |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
164 hi def link chillComment2String chillString |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
165 hi def link chillCommentSkip chillComment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
166 hi def link chillString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
167 hi def link chillComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
168 " hi def link chillComment term=None ctermfg=lightblue guifg=lightblue |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
169 hi def link chillSpecial SpecialChar |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
170 hi def link chillTodo Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
171 hi def link chillBlock Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
172 "hi def link chillIdentifier Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
173 hi def link chillBracket Delimiter |
7 | 174 |
175 | |
176 let b:current_syntax = "chill" | |
177 | |
178 " vim: ts=8 |