Mercurial > vim
annotate runtime/syntax/mix.vim @ 21093:99a602b27e0e
Runtime file updates
Commit: https://github.com/vim/vim/commit/e46a4405056276b4cbdacee76b11f85c8ea1830b
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jun 30 20:38:27 2020 +0200
Runtime file updates
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 30 Jun 2020 20:45:06 +0200 |
parents | 656ab57d1ddc |
children |
rev | line source |
---|---|
5487 | 1 " Vim syntax file |
2 " Language: MIX (Donald Knuth's assembly language used in TAOCP) | |
3 " Maintainer: Wu Yongwei <wuyongwei@gmail.com> | |
4 " Filenames: *.mixal *.mix | |
13100
656ab57d1ddc
update a few runtime files
Christian Brabandt <cb@256bit.org>
parents:
5487
diff
changeset
|
5 " Last Change: 2017-11-26 15:21:36 +0800 |
5487 | 6 |
7 " Quit when a syntax file was already loaded | |
8 if exists("b:current_syntax") | |
9 finish | |
10 endif | |
11 | |
12 let s:cpo_save = &cpo | |
13 set cpo&vim | |
14 | |
15 syn case ignore | |
16 | |
17 " Special processing of ALF directive: implementations vary whether quotation | |
18 " marks are needed | |
13100
656ab57d1ddc
update a few runtime files
Christian Brabandt <cb@256bit.org>
parents:
5487
diff
changeset
|
19 syn match mixAlfParam #\s\{1,2\}"\?[^"]\{,5\}"\?# contains=mixString nextgroup=mixEndComment contained |
5487 | 20 |
21 " Region for parameters | |
22 syn match mixParam #[-+*/:=0-9a-z,()"]\+# contains=mixIdentifier,mixSpecial,mixNumber,mixString,mixLabel nextgroup=mixEndComment contained | |
23 | |
24 " Comment at the line end | |
25 syn match mixEndComment ".*" contains=mixRegister contained | |
26 | |
27 " Identifier; must go before literals | |
28 syn match mixIdentifier "[a-z0-9_]\+" contained | |
29 | |
30 " Literals | |
31 syn match mixSpecial "[-+*/:=]" contained | |
32 syn match mixNumber "[0-9]\+\>" contained | |
33 syn region mixString start=+"+ skip=+\\"+ end=+"+ contained | |
34 | |
35 " Labels | |
36 syn match mixLabel "^[a-z0-9_]\{,10\}\s\+" nextgroup=mixAlfSpecial,mixOpcode,mixDirective | |
37 syn match mixLabel "[0-9][BF]" contained | |
38 | |
39 " Comments | |
40 syn match mixComment "^\*.*" contains=mixRegister | |
41 | |
42 " Directives | |
43 syn keyword mixDirective ORIG EQU CON END nextgroup=mixParam contained skipwhite | |
44 syn keyword mixDirective ALF nextgroup=mixAlfParam contained | |
45 | |
46 " Opcodes | |
47 syn keyword mixOpcode NOP HLT NUM CHAR FLOT FIX nextgroup=mixEndComment contained | |
48 syn keyword mixOpcode FADD FSUB FMUL FDIV FCMP MOVE ADD SUB MUL DIV IOC IN OUT JRED JBUS JMP JSJ JOV JNOV JL JE JG JLE JNE JGE SLA SRA SLAX SRAX SLC SRC nextgroup=mixParam contained skipwhite | |
13100
656ab57d1ddc
update a few runtime files
Christian Brabandt <cb@256bit.org>
parents:
5487
diff
changeset
|
49 syn keyword mixOpcode SLB SRB JAE JAO JXE JXO nextgroup=mixParam contained skipwhite |
5487 | 50 |
51 syn match mixOpcode "LD[AX1-6]N\?\>" nextgroup=mixParam contained skipwhite | |
52 syn match mixOpcode "ST[AX1-6JZ]\>" nextgroup=mixParam contained skipwhite | |
53 syn match mixOpcode "EN[TN][AX1-6]\>" nextgroup=mixParam contained skipwhite | |
54 syn match mixOpcode "INC[AX1-6]\>" nextgroup=mixParam contained skipwhite | |
55 syn match mixOpcode "DEC[AX1-6]\>" nextgroup=mixParam contained skipwhite | |
56 syn match mixOpcode "CMP[AX1-6]\>" nextgroup=mixParam contained skipwhite | |
57 syn match mixOpcode "J[AX1-6]N\?[NZP]\>" nextgroup=mixParam contained skipwhite | |
58 | |
59 " Switch back to being case sensitive | |
60 syn case match | |
61 | |
13100
656ab57d1ddc
update a few runtime files
Christian Brabandt <cb@256bit.org>
parents:
5487
diff
changeset
|
62 " Registers (only to be used in comments now) |
5487 | 63 syn keyword mixRegister rA rX rI1 rI2 rI3 rI4 rI5 rI6 rJ contained |
64 | |
65 " The default highlighting | |
66 hi def link mixRegister Special | |
67 hi def link mixLabel Define | |
68 hi def link mixComment Comment | |
69 hi def link mixEndComment Comment | |
70 hi def link mixDirective Keyword | |
71 hi def link mixOpcode Keyword | |
72 | |
73 hi def link mixSpecial Special | |
74 hi def link mixNumber Number | |
75 hi def link mixString String | |
76 hi def link mixAlfParam String | |
77 hi def link mixIdentifier Identifier | |
78 | |
79 let b:current_syntax = "mix" | |
80 | |
81 let &cpo = s:cpo_save | |
82 unlet s:cpo_save | |
83 | |
84 " vim: ts=8 |