Mercurial > vim
annotate runtime/syntax/nasm.vim @ 27181:f9f1e76957a6 v8.2.4119
patch 8.2.4119: build failure when disabling the channel feature
Commit: https://github.com/vim/vim/commit/e8741a73e20cd6043dd1610fb4c22ae9d132eb56
Author: Dominique Pelle <dominique.pelle@gmail.com>
Date: Mon Jan 17 11:23:45 2022 +0000
patch 8.2.4119: build failure when disabling the channel feature
Problem: Build failure when disabling the channel feature.
Solution: Adjust #ifdef. (Dominique Pell?, closes https://github.com/vim/vim/issues/9545)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 17 Jan 2022 12:30:05 +0100 |
parents | 5c98ea5f5d6e |
children | 2a17771529af |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: NASM - The Netwide Assembler (v0.98) | |
10734 | 3 " Maintainer: Andrii Sokolov <andriy145@gmail.com> |
2596 | 4 " Original Author: Manuel M.H. Stol <Manuel.Stol@allieddata.nl> |
5 " Former Maintainer: Manuel M.H. Stol <Manuel.Stol@allieddata.nl> | |
24387 | 6 " Contributors: Leonard König <leonard.r.koenig@gmail.com> (C string highlighting), Peter Stanhope <dev.rptr@gmail.com> (Add missing 64-bit mode registers) |
10734 | 7 " Last Change: 2017 Jan 23 |
2596 | 8 " NASM Home: http://www.nasm.us/ |
7 | 9 |
10 | |
11 | |
12 " Setup Syntax: | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
13 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
14 if exists("b:current_syntax") |
7 | 15 finish |
16 endif | |
17 " Assembler syntax is case insensetive | |
18 syn case ignore | |
19 | |
20 | |
21 | |
22 " Vim search and movement commands on identifers | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
23 " Comments at start of a line inside which to skip search for indentifiers |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
24 setlocal comments=:; |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
25 " Identifier Keyword characters (defines \k) |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
26 setlocal iskeyword=@,48-57,#,$,.,?,@-@,_,~ |
7 | 27 |
28 | |
29 " Comments: | |
30 syn region nasmComment start=";" keepend end="$" contains=@nasmGrpInComments | |
31 syn region nasmSpecialComment start=";\*\*\*" keepend end="$" | |
32 syn keyword nasmInCommentTodo contained TODO FIXME XXX[XXXXX] | |
33 syn cluster nasmGrpInComments contains=nasmInCommentTodo | |
34 syn cluster nasmGrpComments contains=@nasmGrpInComments,nasmComment,nasmSpecialComment | |
35 | |
36 | |
37 | |
38 " Label Identifiers: | |
39 " in NASM: 'Everything is a Label' | |
40 " Definition Label = label defined by %[i]define or %[i]assign | |
41 " Identifier Label = label defined as first non-keyword on a line or %[i]macro | |
3356 | 42 syn match nasmLabelError "$\=\(\d\+\K\|[#.@]\|\$\$\k\)\k*\>" |
7 | 43 syn match nasmLabel "\<\(\h\|[?@]\)\k*\>" |
44 syn match nasmLabel "[\$\~]\(\h\|[?@]\)\k*\>"lc=1 | |
45 " Labels starting with one or two '.' are special | |
46 syn match nasmLocalLabel "\<\.\(\w\|[#$?@~]\)\k*\>" | |
47 syn match nasmLocalLabel "\<\$\.\(\w\|[#$?@~]\)\k*\>"ms=s+1 | |
48 if !exists("nasm_no_warn") | |
3356 | 49 syn match nasmLabelWarn "\<\~\=\$\=[_.][_.\~]*\>" |
7 | 50 endif |
51 if exists("nasm_loose_syntax") | |
52 syn match nasmSpecialLabel "\<\.\.@\k\+\>" | |
53 syn match nasmSpecialLabel "\<\$\.\.@\k\+\>"ms=s+1 | |
54 if !exists("nasm_no_warn") | |
55 syn match nasmLabelWarn "\<\$\=\.\.@\(\d\|[#$\.~]\)\k*\>" | |
56 endif | |
57 " disallow use of nasm internal label format | |
58 syn match nasmLabelError "\<\$\=\.\.@\d\+\.\k*\>" | |
59 else | |
60 syn match nasmSpecialLabel "\<\.\.@\(\h\|[?@]\)\k*\>" | |
61 syn match nasmSpecialLabel "\<\$\.\.@\(\h\|[?@]\)\k*\>"ms=s+1 | |
62 endif | |
63 " Labels can be dereferenced with '$' to destinguish them from reserved words | |
64 syn match nasmLabelError "\<\$\K\k*\s*:" | |
65 syn match nasmLabelError "^\s*\$\K\k*\>" | |
66 syn match nasmLabelError "\<\~\s*\(\k*\s*:\|\$\=\.\k*\)" | |
67 | |
68 | |
69 | |
70 " Constants: | |
10734 | 71 syn match nasmStringError +["'`]+ |
72 " NASM is case sensitive here: eg. u-prefix allows for 4-digit, U-prefix for | |
73 " 8-digit Unicode characters | |
74 syn case match | |
75 " one-char escape-sequences | |
76 syn match nasmCStringEscape display contained "\\[’"‘\\\?abtnvfre]" | |
77 " hex and octal numbers | |
78 syn match nasmCStringEscape display contained "\\\(x\x\{2}\|\o\{1,3}\)" | |
79 " Unicode characters | |
80 syn match nasmCStringEscape display contained "\\\(u\x\{4}\|U\x\{8}\)" | |
81 " ISO C99 format strings (copied from cFormat in runtime/syntax/c.vim) | |
82 syn match nasmCStringFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained | |
83 syn match nasmCStringFormat display "%%" contained | |
7 | 84 syn match nasmString +\("[^"]\{-}"\|'[^']\{-}'\)+ |
10734 | 85 " Highlight C escape- and format-sequences within ``-strings |
86 syn match nasmCString +\(`[^`]\{-}`\)+ contains=nasmCStringEscape,nasmCStringFormat extend | |
87 syn case ignore | |
7 | 88 syn match nasmBinNumber "\<[0-1]\+b\>" |
89 syn match nasmBinNumber "\<\~[0-1]\+b\>"lc=1 | |
90 syn match nasmOctNumber "\<\o\+q\>" | |
91 syn match nasmOctNumber "\<\~\o\+q\>"lc=1 | |
92 syn match nasmDecNumber "\<\d\+\>" | |
93 syn match nasmDecNumber "\<\~\d\+\>"lc=1 | |
94 syn match nasmHexNumber "\<\(\d\x*h\|0x\x\+\|\$\d\x*\)\>" | |
95 syn match nasmHexNumber "\<\~\(\d\x*h\|0x\x\+\|\$\d\x*\)\>"lc=1 | |
96 syn match nasmFltNumber "\<\d\+\.\d*\(e[+-]\=\d\+\)\=\>" | |
97 syn keyword nasmFltNumber Inf Infinity Indefinite NaN SNaN QNaN | |
98 syn match nasmNumberError "\<\~\s*\d\+\.\d*\(e[+-]\=\d\+\)\=\>" | |
99 | |
100 | |
101 " Netwide Assembler Storage Directives: | |
102 " Storage types | |
103 syn keyword nasmTypeError DF EXTRN FWORD RESF TBYTE | |
104 syn keyword nasmType FAR NEAR SHORT | |
105 syn keyword nasmType BYTE WORD DWORD QWORD DQWORD HWORD DHWORD TWORD | |
106 syn keyword nasmType CDECL FASTCALL NONE PASCAL STDCALL | |
107 syn keyword nasmStorage DB DW DD DQ DDQ DT | |
108 syn keyword nasmStorage RESB RESW RESD RESQ RESDQ REST | |
109 syn keyword nasmStorage EXTERN GLOBAL COMMON | |
110 " Structured storage types | |
111 syn match nasmTypeError "\<\(AT\|I\=\(END\)\=\(STRUCT\=\|UNION\)\|I\=END\)\>" | |
112 syn match nasmStructureLabel contained "\<\(AT\|I\=\(END\)\=\(STRUCT\=\|UNION\)\|I\=END\)\>" | |
113 " structures cannot be nested (yet) -> use: 'keepend' and 're=' | |
114 syn cluster nasmGrpCntnStruc contains=ALLBUT,@nasmGrpInComments,nasmMacroDef,@nasmGrpInMacros,@nasmGrpInPreCondits,nasmStructureDef,@nasmGrpInStrucs | |
115 syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="^\s*STRUCT\>"hs=e-5 end="^\s*ENDSTRUCT\>"re=e-9 contains=@nasmGrpCntnStruc | |
116 syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="^\s*STRUC\>"hs=e-4 end="^\s*ENDSTRUC\>"re=e-8 contains=@nasmGrpCntnStruc | |
117 syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="\<ISTRUCT\=\>" end="\<IEND\(STRUCT\=\)\=\>" contains=@nasmGrpCntnStruc,nasmInStructure | |
118 " union types are not part of nasm (yet) | |
119 "syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnStruc | |
120 "syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnStruc,nasmInStructure | |
121 syn match nasmInStructure contained "^\s*AT\>"hs=e-1 | |
122 syn cluster nasmGrpInStrucs contains=nasmStructure,nasmInStructure,nasmStructureLabel | |
123 | |
124 | |
125 | |
126 " PreProcessor Instructions: | |
127 " NAsm PreProcs start with %, but % is not a character | |
128 syn match nasmPreProcError "%{\=\(%\=\k\+\|%%\+\k*\|[+-]\=\d\+\)}\=" | |
129 if exists("nasm_loose_syntax") | |
130 syn cluster nasmGrpNxtCtx contains=nasmStructureLabel,nasmLabel,nasmLocalLabel,nasmSpecialLabel,nasmLabelError,nasmPreProcError | |
131 else | |
132 syn cluster nasmGrpNxtCtx contains=nasmStructureLabel,nasmLabel,nasmLabelError,nasmPreProcError | |
133 endif | |
134 | |
135 " Multi-line macro | |
136 syn cluster nasmGrpCntnMacro contains=ALLBUT,@nasmGrpInComments,nasmStructureDef,@nasmGrpInStrucs,nasmMacroDef,@nasmGrpPreCondits,nasmMemReference,nasmInMacPreCondit,nasmInMacStrucDef | |
137 syn region nasmMacroDef matchgroup=nasmMacro keepend start="^\s*%macro\>"hs=e-5 start="^\s*%imacro\>"hs=e-6 end="^\s*%endmacro\>"re=e-9 contains=@nasmGrpCntnMacro,nasmInMacStrucDef | |
138 if exists("nasm_loose_syntax") | |
139 syn match nasmInMacLabel contained "%\(%\k\+\>\|{%\k\+}\)" | |
140 syn match nasmInMacLabel contained "%\($\+\(\w\|[#\.?@~]\)\k*\>\|{$\+\(\w\|[#\.?@~]\)\k*}\)" | |
141 syn match nasmInMacPreProc contained "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=nasmStructureLabel,nasmLabel,nasmInMacParam,nasmLocalLabel,nasmSpecialLabel,nasmLabelError,nasmPreProcError | |
142 if !exists("nasm_no_warn") | |
143 syn match nasmInMacLblWarn contained "%\(%[$\.]\k*\>\|{%[$\.]\k*}\)" | |
144 syn match nasmInMacLblWarn contained "%\($\+\(\d\|[#\.@~]\)\k*\|{\$\+\(\d\|[#\.@~]\)\k*}\)" | |
145 hi link nasmInMacCatLabel nasmInMacLblWarn | |
146 else | |
147 hi link nasmInMacCatLabel nasmInMacLabel | |
148 endif | |
149 else | |
150 syn match nasmInMacLabel contained "%\(%\(\w\|[#?@~]\)\k*\>\|{%\(\w\|[#?@~]\)\k*}\)" | |
151 syn match nasmInMacLabel contained "%\($\+\(\h\|[?@]\)\k*\>\|{$\+\(\h\|[?@]\)\k*}\)" | |
152 hi link nasmInMacCatLabel nasmLabelError | |
153 endif | |
154 syn match nasmInMacCatLabel contained "\d\K\k*"lc=1 | |
155 syn match nasmInMacLabel contained "\d}\k\+"lc=2 | |
156 if !exists("nasm_no_warn") | |
157 syn match nasmInMacLblWarn contained "%\(\($\+\|%\)[_~][._~]*\>\|{\($\+\|%\)[_~][._~]*}\)" | |
158 endif | |
159 syn match nasmInMacPreProc contained "^\s*%pop\>"hs=e-3 | |
160 syn match nasmInMacPreProc contained "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=@nasmGrpNxtCtx | |
161 " structures cannot be nested (yet) -> use: 'keepend' and 're=' | |
162 syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*STRUCT\>"hs=e-5 end="^\s*ENDSTRUCT\>"re=e-9 contains=@nasmGrpCntnMacro | |
163 syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*STRUC\>"hs=e-4 end="^\s*ENDSTRUC\>"re=e-8 contains=@nasmGrpCntnMacro | |
164 syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="\<ISTRUCT\=\>" end="\<IEND\(STRUCT\=\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure | |
165 " union types are not part of nasm (yet) | |
166 "syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnMacro | |
167 "syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure | |
168 syn region nasmInMacPreConDef contained transparent matchgroup=nasmInMacPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(ctx\|def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(ctx\|def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnMacro,nasmInMacPreCondit,nasmInPreCondit | |
2596 | 169 " Todo: allow STRUC/ISTRUC to be used inside preprocessor conditional block |
7 | 170 syn match nasmInMacPreCondit contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx |
171 syn match nasmInMacPreCondit contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx | |
172 syn match nasmInMacPreCondit contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx | |
173 syn match nasmInMacParamNum contained "\<\d\+\.list\>"me=e-5 | |
174 syn match nasmInMacParamNum contained "\<\d\+\.nolist\>"me=e-7 | |
175 syn match nasmInMacDirective contained "\.\(no\)\=list\>" | |
176 syn match nasmInMacMacro contained transparent "macro\s"lc=5 skipwhite nextgroup=nasmStructureLabel | |
177 syn match nasmInMacMacro contained "^\s*%rotate\>"hs=e-6 | |
178 syn match nasmInMacParam contained "%\([+-]\=\d\+\|{[+-]\=\d\+}\)" | |
179 " nasm conditional macro operands/arguments | |
180 " Todo: check feasebility; add too nasmGrpInMacros, etc. | |
181 "syn match nasmInMacCond contained "\<\(N\=\([ABGL]E\=\|[CEOSZ]\)\|P[EO]\=\)\>" | |
182 syn cluster nasmGrpInMacros contains=nasmMacro,nasmInMacMacro,nasmInMacParam,nasmInMacParamNum,nasmInMacDirective,nasmInMacLabel,nasmInMacLblWarn,nasmInMacMemRef,nasmInMacPreConDef,nasmInMacPreCondit,nasmInMacPreProc,nasmInMacStrucDef | |
183 | |
184 " Context pre-procs that are better used inside a macro | |
185 if exists("nasm_ctx_outside_macro") | |
186 syn region nasmPreConditDef transparent matchgroup=nasmCtxPreCondit start="^\s*%ifnctx\>"hs=e-6 start="^\s*%ifctx\>"hs=e-5 end="%endif\>" contains=@nasmGrpCntnPreCon | |
187 syn match nasmCtxPreProc "^\s*%pop\>"hs=e-3 | |
188 if exists("nasm_loose_syntax") | |
3356 | 189 syn match nasmCtxLocLabel "%$\+\(\w\|[#.?@~]\)\k*\>" |
7 | 190 else |
191 syn match nasmCtxLocLabel "%$\+\(\h\|[?@]\)\k*\>" | |
192 endif | |
193 syn match nasmCtxPreProc "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=@nasmGrpNxtCtx | |
194 syn match nasmCtxPreCondit contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx | |
195 syn match nasmCtxPreCondit contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx | |
196 syn match nasmCtxPreCondit contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx | |
197 if exists("nasm_no_warn") | |
198 hi link nasmCtxPreCondit nasmPreCondit | |
199 hi link nasmCtxPreProc nasmPreProc | |
200 hi link nasmCtxLocLabel nasmLocalLabel | |
201 else | |
202 hi link nasmCtxPreCondit nasmPreProcWarn | |
203 hi link nasmCtxPreProc nasmPreProcWarn | |
204 hi link nasmCtxLocLabel nasmLabelWarn | |
205 endif | |
206 endif | |
207 | |
208 " Conditional assembly | |
209 syn cluster nasmGrpCntnPreCon contains=ALLBUT,@nasmGrpInComments,@nasmGrpInMacros,@nasmGrpInStrucs | |
210 syn region nasmPreConditDef transparent matchgroup=nasmPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnPreCon | |
211 syn match nasmInPreCondit contained "^\s*%el\(if\|se\)\>"hs=e-4 | |
212 syn match nasmInPreCondit contained "^\s*%elifid\>"hs=e-6 | |
213 syn match nasmInPreCondit contained "^\s*%elif\(def\|idn\|nid\|num\|str\)\>"hs=e-7 | |
214 syn match nasmInPreCondit contained "^\s*%elif\(n\(def\|idn\|num\|str\)\|idni\)\>"hs=e-8 | |
215 syn match nasmInPreCondit contained "^\s*%elifnidni\>"hs=e-9 | |
216 syn cluster nasmGrpInPreCondits contains=nasmPreCondit,nasmInPreCondit,nasmCtxPreCondit | |
217 syn cluster nasmGrpPreCondits contains=nasmPreConditDef,@nasmGrpInPreCondits,nasmCtxPreProc,nasmCtxLocLabel | |
218 | |
219 " Other pre-processor statements | |
2596 | 220 syn match nasmPreProc "^\s*%\(rep\|use\)\>"hs=e-3 |
7 | 221 syn match nasmPreProc "^\s*%line\>"hs=e-4 |
2596 | 222 syn match nasmPreProc "^\s*%\(clear\|error\|fatal\)\>"hs=e-5 |
223 syn match nasmPreProc "^\s*%\(endrep\|strlen\|substr\)\>"hs=e-6 | |
224 syn match nasmPreProc "^\s*%\(exitrep\|warning\)\>"hs=e-7 | |
7 | 225 syn match nasmDefine "^\s*%undef\>"hs=e-5 |
226 syn match nasmDefine "^\s*%\(assign\|define\)\>"hs=e-6 | |
227 syn match nasmDefine "^\s*%i\(assign\|define\)\>"hs=e-7 | |
2596 | 228 syn match nasmDefine "^\s*%unmacro\>"hs=e-7 |
7 | 229 syn match nasmInclude "^\s*%include\>"hs=e-7 |
2596 | 230 " Todo: Treat the line tail after %fatal, %error, %warning as text |
7 | 231 |
232 " Multiple pre-processor instructions on single line detection (obsolete) | |
233 "syn match nasmPreProcError +^\s*\([^\t "%';][^"%';]*\|[^\t "';][^"%';]\+\)%\a\+\>+ | |
234 syn cluster nasmGrpPreProcs contains=nasmMacroDef,@nasmGrpInMacros,@nasmGrpPreCondits,nasmPreProc,nasmDefine,nasmInclude,nasmPreProcWarn,nasmPreProcError | |
235 | |
236 | |
237 | |
238 " Register Identifiers: | |
239 " Register operands: | |
240 syn match nasmGen08Register "\<[A-D][HL]\>" | |
241 syn match nasmGen16Register "\<\([A-D]X\|[DS]I\|[BS]P\)\>" | |
242 syn match nasmGen32Register "\<E\([A-D]X\|[DS]I\|[BS]P\)\>" | |
24387 | 243 syn match nasmGen64Register "\<R\([A-D]X\|[DS]I\|[BS]P\|[89]\|1[0-5]\|[89][WDB]\|1[0-5][WDB]\)\>" |
244 syn match nasmExtRegister "\<\([SB]PL\|[SD]IL\)\>" | |
7 | 245 syn match nasmSegRegister "\<[C-GS]S\>" |
246 syn match nasmSpcRegister "\<E\=IP\>" | |
247 syn match nasmFpuRegister "\<ST\o\>" | |
248 syn match nasmMmxRegister "\<MM\o\>" | |
249 syn match nasmSseRegister "\<XMM\o\>" | |
250 syn match nasmCtrlRegister "\<CR\o\>" | |
251 syn match nasmDebugRegister "\<DR\o\>" | |
252 syn match nasmTestRegister "\<TR\o\>" | |
253 syn match nasmRegisterError "\<\(CR[15-9]\|DR[4-58-9]\|TR[0-28-9]\)\>" | |
254 syn match nasmRegisterError "\<X\=MM[8-9]\>" | |
255 syn match nasmRegisterError "\<ST\((\d)\|[8-9]\>\)" | |
256 syn match nasmRegisterError "\<E\([A-D][HL]\|[C-GS]S\)\>" | |
257 " Memory reference operand (address): | |
3356 | 258 syn match nasmMemRefError "[[\]]" |
7 | 259 syn cluster nasmGrpCntnMemRef contains=ALLBUT,@nasmGrpComments,@nasmGrpPreProcs,@nasmGrpInStrucs,nasmMemReference,nasmMemRefError |
3356 | 260 syn match nasmInMacMemRef contained "\[[^;[\]]\{-}\]" contains=@nasmGrpCntnMemRef,nasmPreProcError,nasmInMacLabel,nasmInMacLblWarn,nasmInMacParam |
261 syn match nasmMemReference "\[[^;[\]]\{-}\]" contains=@nasmGrpCntnMemRef,nasmPreProcError,nasmCtxLocLabel | |
7 | 262 |
263 | |
264 | |
265 " Netwide Assembler Directives: | |
266 " Compilation constants | |
267 syn keyword nasmConstant __BITS__ __DATE__ __FILE__ __FORMAT__ __LINE__ | |
268 syn keyword nasmConstant __NASM_MAJOR__ __NASM_MINOR__ __NASM_VERSION__ | |
269 syn keyword nasmConstant __TIME__ | |
270 " Instruction modifiers | |
271 syn match nasmInstructnError "\<TO\>" | |
272 syn match nasmInstrModifier "\(^\|:\)\s*[C-GS]S\>"ms=e-1 | |
273 syn keyword nasmInstrModifier A16 A32 O16 O32 | |
274 syn match nasmInstrModifier "\<F\(ADD\|MUL\|\(DIV\|SUB\)R\=\)\s\+TO\>"lc=5,ms=e-1 | |
275 " the 'to' keyword is not allowed for fpu-pop instructions (yet) | |
276 "syn match nasmInstrModifier "\<F\(ADD\|MUL\|\(DIV\|SUB\)R\=\)P\s\+TO\>"lc=6,ms=e-1 | |
277 " NAsm directives | |
278 syn keyword nasmRepeat TIMES | |
279 syn keyword nasmDirective ALIGN[B] INCBIN EQU NOSPLIT SPLIT | |
280 syn keyword nasmDirective ABSOLUTE BITS SECTION SEGMENT | |
281 syn keyword nasmDirective ENDSECTION ENDSEGMENT | |
282 syn keyword nasmDirective __SECT__ | |
283 " Macro created standard directives: (requires %include) | |
284 syn case match | |
285 syn keyword nasmStdDirective ENDPROC EPILOGUE LOCALS PROC PROLOGUE USES | |
286 syn keyword nasmStdDirective ENDIF ELSE ELIF ELSIF IF | |
287 "syn keyword nasmStdDirective BREAK CASE DEFAULT ENDSWITCH SWITCH | |
288 "syn keyword nasmStdDirective CASE OF ENDCASE | |
289 syn keyword nasmStdDirective DO ENDFOR ENDWHILE FOR REPEAT UNTIL WHILE EXIT | |
290 syn case ignore | |
291 " Format specific directives: (all formats) | |
292 " (excluded: extension directives to section, global, common and extern) | |
293 syn keyword nasmFmtDirective ORG | |
294 syn keyword nasmFmtDirective EXPORT IMPORT GROUP UPPERCASE SEG WRT | |
295 syn keyword nasmFmtDirective LIBRARY | |
296 syn case match | |
297 syn keyword nasmFmtDirective _GLOBAL_OFFSET_TABLE_ __GLOBAL_OFFSET_TABLE_ | |
298 syn keyword nasmFmtDirective ..start ..got ..gotoff ..gotpc ..plt ..sym | |
299 syn case ignore | |
300 | |
301 | |
302 | |
303 " Standard Instructions: | |
304 syn match nasmInstructnError "\<\(F\=CMOV\|SET\)N\=\a\{0,2}\>" | |
305 syn keyword nasmInstructnError CMPS MOVS LCS LODS STOS XLAT | |
306 syn match nasmStdInstruction "\<MOV\>" | |
307 syn match nasmInstructnError "\<MOV\s[^,;[]*\<CS\>\s*[^:]"he=e-1 | |
308 syn match nasmStdInstruction "\<\(CMOV\|J\|SET\)\(N\=\([ABGL]E\=\|[CEOSZ]\)\|P[EO]\=\)\>" | |
309 syn match nasmStdInstruction "\<POP\>" | |
310 syn keyword nasmStdInstruction AAA AAD AAM AAS ADC ADD AND | |
311 syn keyword nasmStdInstruction BOUND BSF BSR BSWAP BT[C] BTR BTS | |
2596 | 312 syn keyword nasmStdInstruction CALL CBW CDQ CLC CLD CMC CMP CMPSB CMPSD CMPSW CMPSQ |
313 syn keyword nasmStdInstruction CMPXCHG CMPXCHG8B CPUID CWD[E] CQO | |
7 | 314 syn keyword nasmStdInstruction DAA DAS DEC DIV ENTER |
2596 | 315 syn keyword nasmStdInstruction IDIV IMUL INC INT[O] IRET[D] IRETW IRETQ |
7 | 316 syn keyword nasmStdInstruction JCXZ JECXZ JMP |
2596 | 317 syn keyword nasmStdInstruction LAHF LDS LEA LEAVE LES LFS LGS LODSB LODSD LODSQ |
7 | 318 syn keyword nasmStdInstruction LODSW LOOP[E] LOOPNE LOOPNZ LOOPZ LSS |
2596 | 319 syn keyword nasmStdInstruction MOVSB MOVSD MOVSW MOVSX MOVSQ MOVZX MUL NEG NOP NOT |
320 syn keyword nasmStdInstruction OR POPA[D] POPAW POPF[D] POPFW POPFQ | |
321 syn keyword nasmStdInstruction PUSH[AD] PUSHAW PUSHF[D] PUSHFW PUSHFQ | |
7 | 322 syn keyword nasmStdInstruction RCL RCR RETF RET[N] ROL ROR |
323 syn keyword nasmStdInstruction SAHF SAL SAR SBB SCASB SCASD SCASW | |
2596 | 324 syn keyword nasmStdInstruction SHL[D] SHR[D] STC STD STOSB STOSD STOSW STOSQ SUB |
7 | 325 syn keyword nasmStdInstruction TEST XADD XCHG XLATB XOR |
2596 | 326 syn keyword nasmStdInstruction LFENCE MFENCE SFENCE |
7 | 327 |
328 | |
329 " System Instructions: (usually privileged) | |
330 " Verification of pointer parameters | |
331 syn keyword nasmSysInstruction ARPL LAR LSL VERR VERW | |
332 " Addressing descriptor tables | |
333 syn keyword nasmSysInstruction LLDT SLDT LGDT SGDT | |
334 " Multitasking | |
335 syn keyword nasmSysInstruction LTR STR | |
336 " Coprocessing and Multiprocessing (requires fpu and multiple cpu's resp.) | |
337 syn keyword nasmSysInstruction CLTS LOCK WAIT | |
338 " Input and Output | |
339 syn keyword nasmInstructnError INS OUTS | |
340 syn keyword nasmSysInstruction IN INSB INSW INSD OUT OUTSB OUTSB OUTSW OUTSD | |
341 " Interrupt control | |
342 syn keyword nasmSysInstruction CLI STI LIDT SIDT | |
343 " System control | |
344 syn match nasmSysInstruction "\<MOV\s[^;]\{-}\<CR\o\>"me=s+3 | |
345 syn keyword nasmSysInstruction HLT INVD LMSW | |
346 syn keyword nasmSseInstruction PREFETCHT0 PREFETCHT1 PREFETCHT2 PREFETCHNTA | |
347 syn keyword nasmSseInstruction RSM SFENCE SMSW SYSENTER SYSEXIT UD2 WBINVD | |
348 " TLB (Translation Lookahead Buffer) testing | |
349 syn match nasmSysInstruction "\<MOV\s[^;]\{-}\<TR\o\>"me=s+3 | |
350 syn keyword nasmSysInstruction INVLPG | |
351 | |
352 " Debugging Instructions: (privileged) | |
353 syn match nasmDbgInstruction "\<MOV\s[^;]\{-}\<DR\o\>"me=s+3 | |
354 syn keyword nasmDbgInstruction INT1 INT3 RDMSR RDTSC RDPMC WRMSR | |
355 | |
356 | |
357 " Floating Point Instructions: (requires FPU) | |
358 syn match nasmFpuInstruction "\<FCMOVN\=\([AB]E\=\|[CEPUZ]\)\>" | |
359 syn keyword nasmFpuInstruction F2XM1 FABS FADD[P] FBLD FBSTP | |
360 syn keyword nasmFpuInstruction FCHS FCLEX FCOM[IP] FCOMP[P] FCOS | |
361 syn keyword nasmFpuInstruction FDECSTP FDISI FDIV[P] FDIVR[P] FENI FFREE | |
362 syn keyword nasmFpuInstruction FIADD FICOM[P] FIDIV[R] FILD | |
363 syn keyword nasmFpuInstruction FIMUL FINCSTP FINIT FIST[P] FISUB[R] | |
364 syn keyword nasmFpuInstruction FLD[1] FLDCW FLDENV FLDL2E FLDL2T FLDLG2 | |
365 syn keyword nasmFpuInstruction FLDLN2 FLDPI FLDZ FMUL[P] | |
366 syn keyword nasmFpuInstruction FNCLEX FNDISI FNENI FNINIT FNOP FNSAVE | |
367 syn keyword nasmFpuInstruction FNSTCW FNSTENV FNSTSW FNSTSW | |
368 syn keyword nasmFpuInstruction FPATAN FPREM[1] FPTAN FRNDINT FRSTOR | |
369 syn keyword nasmFpuInstruction FSAVE FSCALE FSETPM FSIN FSINCOS FSQRT | |
370 syn keyword nasmFpuInstruction FSTCW FSTENV FST[P] FSTSW FSUB[P] FSUBR[P] | |
371 syn keyword nasmFpuInstruction FTST FUCOM[IP] FUCOMP[P] | |
372 syn keyword nasmFpuInstruction FXAM FXCH FXTRACT FYL2X FYL2XP1 | |
373 | |
374 | |
375 " Multi Media Xtension Packed Instructions: (requires MMX unit) | |
376 " Standard MMX instructions: (requires MMX1 unit) | |
377 syn match nasmInstructnError "\<P\(ADD\|SUB\)U\=S\=[DQ]\=\>" | |
378 syn match nasmInstructnError "\<PCMP\a\{0,2}[BDWQ]\=\>" | |
379 syn keyword nasmMmxInstruction EMMS MOVD MOVQ | |
380 syn keyword nasmMmxInstruction PACKSSDW PACKSSWB PACKUSWB PADDB PADDD PADDW | |
381 syn keyword nasmMmxInstruction PADDSB PADDSW PADDUSB PADDUSW PAND[N] | |
382 syn keyword nasmMmxInstruction PCMPEQB PCMPEQD PCMPEQW PCMPGTB PCMPGTD PCMPGTW | |
383 syn keyword nasmMmxInstruction PMACHRIW PMADDWD PMULHW PMULLW POR | |
384 syn keyword nasmMmxInstruction PSLLD PSLLQ PSLLW PSRAD PSRAW PSRLD PSRLQ PSRLW | |
385 syn keyword nasmMmxInstruction PSUBB PSUBD PSUBW PSUBSB PSUBSW PSUBUSB PSUBUSW | |
386 syn keyword nasmMmxInstruction PUNPCKHBW PUNPCKHDQ PUNPCKHWD | |
387 syn keyword nasmMmxInstruction PUNPCKLBW PUNPCKLDQ PUNPCKLWD PXOR | |
388 " Extended MMX instructions: (requires MMX2/SSE unit) | |
389 syn keyword nasmMmxInstruction MASKMOVQ MOVNTQ | |
390 syn keyword nasmMmxInstruction PAVGB PAVGW PEXTRW PINSRW PMAXSW PMAXUB | |
391 syn keyword nasmMmxInstruction PMINSW PMINUB PMOVMSKB PMULHUW PSADBW PSHUFW | |
392 | |
393 | |
394 " Streaming SIMD Extension Packed Instructions: (requires SSE unit) | |
395 syn match nasmInstructnError "\<CMP\a\{1,5}[PS]S\>" | |
396 syn match nasmSseInstruction "\<CMP\(N\=\(EQ\|L[ET]\)\|\(UN\)\=ORD\)\=[PS]S\>" | |
397 syn keyword nasmSseInstruction ADDPS ADDSS ANDNPS ANDPS | |
398 syn keyword nasmSseInstruction COMISS CVTPI2PS CVTPS2PI | |
399 syn keyword nasmSseInstruction CVTSI2SS CVTSS2SI CVTTPS2PI CVTTSS2SI | |
400 syn keyword nasmSseInstruction DIVPS DIVSS FXRSTOR FXSAVE LDMXCSR | |
401 syn keyword nasmSseInstruction MAXPS MAXSS MINPS MINSS MOVAPS MOVHLPS MOVHPS | |
402 syn keyword nasmSseInstruction MOVLHPS MOVLPS MOVMSKPS MOVNTPS MOVSS MOVUPS | |
403 syn keyword nasmSseInstruction MULPS MULSS | |
404 syn keyword nasmSseInstruction ORPS RCPPS RCPSS RSQRTPS RSQRTSS | |
405 syn keyword nasmSseInstruction SHUFPS SQRTPS SQRTSS STMXCSR SUBPS SUBSS | |
406 syn keyword nasmSseInstruction UCOMISS UNPCKHPS UNPCKLPS XORPS | |
407 | |
408 | |
409 " Three Dimensional Now Packed Instructions: (requires 3DNow! unit) | |
410 syn keyword nasmNowInstruction FEMMS PAVGUSB PF2ID PFACC PFADD PFCMPEQ PFCMPGE | |
411 syn keyword nasmNowInstruction PFCMPGT PFMAX PFMIN PFMUL PFRCP PFRCPIT1 | |
412 syn keyword nasmNowInstruction PFRCPIT2 PFRSQIT1 PFRSQRT PFSUB[R] PI2FD | |
413 syn keyword nasmNowInstruction PMULHRWA PREFETCH[W] | |
414 | |
415 | |
416 " Vendor Specific Instructions: | |
417 " Cyrix instructions (requires Cyrix processor) | |
418 syn keyword nasmCrxInstruction PADDSIW PAVEB PDISTIB PMAGW PMULHRW[C] PMULHRIW | |
419 syn keyword nasmCrxInstruction PMVGEZB PMVLZB PMVNZB PMVZB PSUBSIW | |
420 syn keyword nasmCrxInstruction RDSHR RSDC RSLDT SMINT SMINTOLD SVDC SVLDT SVTS | |
421 syn keyword nasmCrxInstruction WRSHR | |
422 " AMD instructions (requires AMD processor) | |
423 syn keyword nasmAmdInstruction SYSCALL SYSRET | |
424 | |
425 | |
426 " Undocumented Instructions: | |
427 syn match nasmUndInstruction "\<POP\s[^;]*\<CS\>"me=s+3 | |
428 syn keyword nasmUndInstruction CMPXCHG486 IBTS ICEBP INT01 INT03 LOADALL | |
429 syn keyword nasmUndInstruction LOADALL286 LOADALL386 SALC SMI UD1 UMOV XBTS | |
430 | |
431 | |
432 | |
433 " Synchronize Syntax: | |
434 syn sync clear | |
435 syn sync minlines=50 "for multiple region nesting | |
436 syn sync match nasmSync grouphere nasmMacroDef "^\s*%i\=macro\>"me=s-1 | |
437 syn sync match nasmSync grouphere NONE "^\s*%endmacro\>" | |
438 | |
439 | |
440 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
441 " Only when an item doesn't have highlighting yet |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
442 |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
443 " Sub Links: |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
444 hi def link nasmInMacDirective nasmDirective |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
445 hi def link nasmInMacLabel nasmLocalLabel |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
446 hi def link nasmInMacLblWarn nasmLabelWarn |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
447 hi def link nasmInMacMacro nasmMacro |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
448 hi def link nasmInMacParam nasmMacro |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
449 hi def link nasmInMacParamNum nasmDecNumber |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
450 hi def link nasmInMacPreCondit nasmPreCondit |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
451 hi def link nasmInMacPreProc nasmPreProc |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
452 hi def link nasmInPreCondit nasmPreCondit |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
453 hi def link nasmInStructure nasmStructure |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
454 hi def link nasmStructureLabel nasmStructure |
7 | 455 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
456 " Comment Group: |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
457 hi def link nasmComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
458 hi def link nasmSpecialComment SpecialComment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
459 hi def link nasmInCommentTodo Todo |
7 | 460 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
461 " Constant Group: |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
462 hi def link nasmString String |
10734 | 463 hi def link nasmCString String |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
464 hi def link nasmStringError Error |
10734 | 465 hi def link nasmCStringEscape SpecialChar |
466 hi def link nasmCStringFormat SpecialChar | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
467 hi def link nasmBinNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
468 hi def link nasmOctNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
469 hi def link nasmDecNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
470 hi def link nasmHexNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
471 hi def link nasmFltNumber Float |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
472 hi def link nasmNumberError Error |
7 | 473 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
474 " Identifier Group: |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
475 hi def link nasmLabel Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
476 hi def link nasmLocalLabel Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
477 hi def link nasmSpecialLabel Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
478 hi def link nasmLabelError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
479 hi def link nasmLabelWarn Todo |
7 | 480 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
481 " PreProc Group: |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
482 hi def link nasmPreProc PreProc |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
483 hi def link nasmDefine Define |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
484 hi def link nasmInclude Include |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
485 hi def link nasmMacro Macro |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
486 hi def link nasmPreCondit PreCondit |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
487 hi def link nasmPreProcError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
488 hi def link nasmPreProcWarn Todo |
7 | 489 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
490 " Type Group: |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
491 hi def link nasmType Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
492 hi def link nasmStorage StorageClass |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
493 hi def link nasmStructure Structure |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
494 hi def link nasmTypeError Error |
7 | 495 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
496 " Directive Group: |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
497 hi def link nasmConstant Constant |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
498 hi def link nasmInstrModifier Operator |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
499 hi def link nasmRepeat Repeat |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
500 hi def link nasmDirective Keyword |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
501 hi def link nasmStdDirective Operator |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
502 hi def link nasmFmtDirective Keyword |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
503 |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
504 " Register Group: |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
505 hi def link nasmCtrlRegister Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
506 hi def link nasmDebugRegister Debug |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
507 hi def link nasmTestRegister Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
508 hi def link nasmRegisterError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
509 hi def link nasmMemRefError Error |
7 | 510 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
511 " Instruction Group: |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
512 hi def link nasmStdInstruction Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
513 hi def link nasmSysInstruction Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
514 hi def link nasmDbgInstruction Debug |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
515 hi def link nasmFpuInstruction Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
516 hi def link nasmMmxInstruction Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
517 hi def link nasmSseInstruction Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
518 hi def link nasmNowInstruction Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
519 hi def link nasmAmdInstruction Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
520 hi def link nasmCrxInstruction Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
521 hi def link nasmUndInstruction Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
522 hi def link nasmInstructnError Error |
7 | 523 |
524 | |
525 let b:current_syntax = "nasm" | |
526 | |
527 " vim:ts=8 sw=4 |