Mercurial > vim
annotate runtime/syntax/sdl.vim @ 19253:a8d2d3c8f0b3 v8.2.0185
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Commit: https://github.com/vim/vim/commit/a259d8d30bc289764925fc42db1dbe774f0bb3f8
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jan 31 20:10:50 2020 +0100
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Problem: Vim9 script: cannot use "if has()" to skip lines.
Solution: Evaluate constant expression at runtime.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 31 Jan 2020 20:15:05 +0100 |
parents | 46763b01cd9a |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: SDL | |
3237 | 3 " Maintainer: Michael Piefel <entwurf@piefel.de> |
7 | 4 " Last Change: 2 May 2001 |
5 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
6 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
7 if exists("b:current_syntax") |
7 | 8 finish |
9 endif | |
10 | |
11 if !exists("sdl_2000") | |
12 syntax case ignore | |
13 endif | |
14 | |
15 " A bunch of useful SDL keywords | |
16 syn keyword sdlStatement task else nextstate | |
17 syn keyword sdlStatement in out with from interface | |
18 syn keyword sdlStatement to via env and use | |
19 syn keyword sdlStatement process procedure block system service type | |
20 syn keyword sdlStatement endprocess endprocedure endblock endsystem | |
21 syn keyword sdlStatement package endpackage connection endconnection | |
22 syn keyword sdlStatement channel endchannel connect | |
23 syn keyword sdlStatement synonym dcl signal gate timer signallist signalset | |
24 syn keyword sdlStatement create output set reset call | |
25 syn keyword sdlStatement operators literals | |
26 syn keyword sdlStatement active alternative any as atleast constants | |
27 syn keyword sdlStatement default endalternative endmacro endoperator | |
28 syn keyword sdlStatement endselect endsubstructure external | |
29 syn keyword sdlStatement if then fi for import macro macrodefinition | |
30 syn keyword sdlStatement macroid mod nameclass nodelay not operator or | |
31 syn keyword sdlStatement parent provided referenced rem | |
32 syn keyword sdlStatement select spelling substructure xor | |
33 syn keyword sdlNewState state endstate | |
34 syn keyword sdlInput input start stop return none save priority | |
35 syn keyword sdlConditional decision enddecision join | |
36 syn keyword sdlVirtual virtual redefined finalized adding inherits | |
37 syn keyword sdlExported remote exported export | |
38 | |
39 if !exists("sdl_no_96") | |
40 syn keyword sdlStatement all axioms constant endgenerator endrefinement endservice | |
41 syn keyword sdlStatement error fpar generator literal map noequality ordering | |
42 syn keyword sdlStatement refinement returns revealed reverse service signalroute | |
43 syn keyword sdlStatement view viewed | |
44 syn keyword sdlExported imported | |
45 endif | |
46 | |
47 if exists("sdl_2000") | |
48 syn keyword sdlStatement abstract aggregation association break choice composition | |
49 syn keyword sdlStatement continue endmethod handle method | |
50 syn keyword sdlStatement ordered private protected public | |
51 syn keyword sdlException exceptionhandler endexceptionhandler onexception | |
52 syn keyword sdlException catch new raise | |
53 " The same in uppercase | |
54 syn keyword sdlStatement TASK ELSE NEXTSTATE | |
55 syn keyword sdlStatement IN OUT WITH FROM INTERFACE | |
56 syn keyword sdlStatement TO VIA ENV AND USE | |
57 syn keyword sdlStatement PROCESS PROCEDURE BLOCK SYSTEM SERVICE TYPE | |
58 syn keyword sdlStatement ENDPROCESS ENDPROCEDURE ENDBLOCK ENDSYSTEM | |
59 syn keyword sdlStatement PACKAGE ENDPACKAGE CONNECTION ENDCONNECTION | |
60 syn keyword sdlStatement CHANNEL ENDCHANNEL CONNECT | |
61 syn keyword sdlStatement SYNONYM DCL SIGNAL GATE TIMER SIGNALLIST SIGNALSET | |
62 syn keyword sdlStatement CREATE OUTPUT SET RESET CALL | |
63 syn keyword sdlStatement OPERATORS LITERALS | |
64 syn keyword sdlStatement ACTIVE ALTERNATIVE ANY AS ATLEAST CONSTANTS | |
65 syn keyword sdlStatement DEFAULT ENDALTERNATIVE ENDMACRO ENDOPERATOR | |
66 syn keyword sdlStatement ENDSELECT ENDSUBSTRUCTURE EXTERNAL | |
67 syn keyword sdlStatement IF THEN FI FOR IMPORT MACRO MACRODEFINITION | |
68 syn keyword sdlStatement MACROID MOD NAMECLASS NODELAY NOT OPERATOR OR | |
69 syn keyword sdlStatement PARENT PROVIDED REFERENCED REM | |
70 syn keyword sdlStatement SELECT SPELLING SUBSTRUCTURE XOR | |
71 syn keyword sdlNewState STATE ENDSTATE | |
72 syn keyword sdlInput INPUT START STOP RETURN NONE SAVE PRIORITY | |
73 syn keyword sdlConditional DECISION ENDDECISION JOIN | |
74 syn keyword sdlVirtual VIRTUAL REDEFINED FINALIZED ADDING INHERITS | |
75 syn keyword sdlExported REMOTE EXPORTED EXPORT | |
76 | |
77 syn keyword sdlStatement ABSTRACT AGGREGATION ASSOCIATION BREAK CHOICE COMPOSITION | |
78 syn keyword sdlStatement CONTINUE ENDMETHOD ENDOBJECT ENDVALUE HANDLE METHOD OBJECT | |
79 syn keyword sdlStatement ORDERED PRIVATE PROTECTED PUBLIC | |
80 syn keyword sdlException EXCEPTIONHANDLER ENDEXCEPTIONHANDLER ONEXCEPTION | |
81 syn keyword sdlException CATCH NEW RAISE | |
82 endif | |
83 | |
84 " String and Character contstants | |
85 " Highlight special characters (those which have a backslash) differently | |
86 syn match sdlSpecial contained "\\\d\d\d\|\\." | |
87 syn region sdlString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial | |
88 syn region sdlString start=+'+ skip=+''+ end=+'+ | |
89 | |
90 " No, this doesn't happen, I just wanted to scare you. SDL really allows all | |
91 " these characters for identifiers; fortunately, keywords manage without them. | |
92 " set iskeyword=@,48-57,_,192-214,216-246,248-255,- | |
93 | |
94 syn region sdlComment start="/\*" end="\*/" | |
95 syn region sdlComment start="comment" end=";" | |
96 syn region sdlComment start="--" end="--\|$" | |
97 syn match sdlCommentError "\*/" | |
98 | |
99 syn keyword sdlOperator present | |
100 syn keyword sdlType integer real natural duration pid boolean time | |
101 syn keyword sdlType character charstring ia5string | |
102 syn keyword sdlType self now sender offspring | |
103 syn keyword sdlStructure asntype endasntype syntype endsyntype struct | |
104 | |
105 if !exists("sdl_no_96") | |
106 syn keyword sdlStructure newtype endnewtype | |
107 endif | |
108 | |
109 if exists("sdl_2000") | |
110 syn keyword sdlStructure object endobject value endvalue | |
111 " The same in uppercase | |
112 syn keyword sdlStructure OBJECT ENDOBJECT VALUE ENDVALUE | |
113 syn keyword sdlOperator PRESENT | |
114 syn keyword sdlType INTEGER NATURAL DURATION PID BOOLEAN TIME | |
115 syn keyword sdlType CHARSTRING IA5STRING | |
116 syn keyword sdlType SELF NOW SENDER OFFSPRING | |
117 syn keyword sdlStructure ASNTYPE ENDASNTYPE SYNTYPE ENDSYNTYPE STRUCT | |
118 endif | |
119 | |
120 " ASN.1 in SDL | |
121 syn case match | |
122 syn keyword sdlType SET OF BOOLEAN INTEGER REAL BIT OCTET | |
123 syn keyword sdlType SEQUENCE CHOICE | |
124 syn keyword sdlType STRING OBJECT IDENTIFIER NULL | |
125 | |
126 syn sync ccomment sdlComment | |
127 | |
128 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
129 " Only when an item doesn't have highlighting yet |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
130 command -nargs=+ Hi hi def <args> |
7 | 131 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
132 hi def link sdlException Label |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
133 hi def link sdlConditional sdlStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
134 hi def link sdlVirtual sdlStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
135 hi def link sdlExported sdlFlag |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
136 hi def link sdlCommentError sdlError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
137 hi def link sdlOperator Operator |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
138 hi def link sdlStructure sdlType |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
139 Hi sdlStatement term=bold ctermfg=4 guifg=Blue |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
140 Hi sdlFlag term=bold ctermfg=4 guifg=Blue gui=italic |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
141 Hi sdlNewState term=italic ctermfg=2 guifg=Magenta gui=underline |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
142 Hi sdlInput term=bold guifg=Red |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
143 hi def link sdlType Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
144 hi def link sdlString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
145 hi def link sdlComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
146 hi def link sdlSpecial Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
147 hi def link sdlError Error |
7 | 148 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
149 delcommand Hi |
7 | 150 |
151 let b:current_syntax = "sdl" | |
152 | |
153 " vim: ts=8 |