Mercurial > vim
annotate runtime/syntax/btm.vim @ 32072:b232759b29c8 v9.0.1367
patch 9.0.1367: divide by zero in zero-width window
Commit: https://github.com/vim/vim/commit/e0f869196930ef5f25a0ac41c9215b09c9ce2d3c
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Mar 1 17:55:31 2023 +0000
patch 9.0.1367: divide by zero in zero-width window
Problem: Divide by zero in zero-width window.
Solution: Check the width is positive.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 01 Mar 2023 19:00:05 +0100 |
parents | 46763b01cd9a |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: 4Dos batch file | |
3 " Maintainer: John Leo Spetz <jls11@po.cwru.edu> | |
4 " Last Change: 2001 May 09 | |
5 | |
6 "//Issues to resolve: | |
7 "//- Boolean operators surrounded by period are recognized but the | |
8 "// periods are not highlighted. The only way to do that would | |
9 "// be separate synmatches for each possibility otherwise a more | |
10 "// general \.\i\+\. will highlight anything delimited by dots. | |
11 "//- After unary operators like "defined" can assume token type. | |
12 "// Should there be more of these? | |
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 syn case ignore | |
20 | |
21 syn keyword btmStatement call off | |
22 syn keyword btmConditional if iff endiff then else elseiff not errorlevel | |
23 syn keyword btmConditional gt lt eq ne ge le | |
24 syn match btmConditional transparent "\.\i\+\." contains=btmDotBoolOp | |
25 syn keyword btmDotBoolOp contained and or xor | |
26 syn match btmConditional "==" | |
27 syn match btmConditional "!=" | |
28 syn keyword btmConditional defined errorlevel exist isalias | |
29 syn keyword btmConditional isdir direxist isinternal islabel | |
30 syn keyword btmRepeat for in do enddo | |
31 | |
32 syn keyword btmTodo contained TODO | |
33 | |
34 " String | |
35 syn cluster btmVars contains=btmVariable,btmArgument,btmBIFMatch | |
36 syn region btmString start=+"+ end=+"+ contains=@btmVars | |
37 syn match btmNumber "\<\d\+\>" | |
38 | |
39 "syn match btmIdentifier "\<\h\w*\>" | |
40 | |
41 " If you don't like tabs | |
42 "syn match btmShowTab "\t" | |
43 "syn match btmShowTabc "\t" | |
44 "syn match btmComment "^\ *rem.*$" contains=btmTodo,btmShowTabc | |
45 | |
46 " Some people use this as a comment line | |
47 " In fact this is a Label | |
48 "syn match btmComment "^\ *:\ \+.*$" contains=btmTodo | |
49 | |
50 syn match btmComment "^\ *rem.*$" contains=btmTodo | |
51 syn match btmComment "^\ *::.*$" contains=btmTodo | |
52 | |
53 syn match btmLabelMark "^\ *:[0-9a-zA-Z_\-]\+\>" | |
54 syn match btmLabelMark "goto [0-9a-zA-Z_\-]\+\>"lc=5 | |
55 syn match btmLabelMark "gosub [0-9a-zA-Z_\-]\+\>"lc=6 | |
56 | |
57 " syn match btmCmdDivider ">[>&][>&]\=" | |
58 syn match btmCmdDivider ">[>&]*" | |
59 syn match btmCmdDivider ">>&>" | |
60 syn match btmCmdDivider "|&\=" | |
61 syn match btmCmdDivider "%+" | |
62 syn match btmCmdDivider "\^" | |
63 | |
64 syn region btmEcho start="echo" skip="echo" matchgroup=btmCmdDivider end="%+" end="$" end="|&\=" end="\^" end=">[>&]*" contains=@btmEchos oneline | |
65 syn cluster btmEchos contains=@btmVars,btmEchoCommand,btmEchoParam | |
66 syn keyword btmEchoCommand contained echo echoerr echos echoserr | |
67 syn keyword btmEchoParam contained on off | |
68 | |
69 " this is also a valid Label. I don't use it. | |
70 "syn match btmLabelMark "^\ *:\ \+[0-9a-zA-Z_\-]\+\>" | |
71 | |
72 " //Environment variable can be expanded using notation %var in 4DOS | |
73 syn match btmVariable "%[0-9a-z_\-]\+" contains=@btmSpecialVars | |
74 " //Environment variable can be expanded using notation %var% | |
75 syn match btmVariable "%[0-9a-z_\-]*%" contains=@btmSpecialVars | |
76 " //The following are special variable in 4DOS | |
77 syn match btmVariable "%[=#]" contains=@btmSpecialVars | |
78 syn match btmVariable "%??\=" contains=@btmSpecialVars | |
79 " //Environment variable can be expanded using notation %[var] in 4DOS | |
80 syn match btmVariable "%\[[0-9a-z_\-]*\]" | |
81 " //After some keywords next word should be an environment variable | |
82 syn match btmVariable "defined\s\i\+"lc=8 | |
83 syn match btmVariable "set\s\i\+"lc=4 | |
84 " //Parameters to batchfiles take the format %<digit> | |
85 syn match btmArgument "%\d\>" | |
86 " //4DOS allows format %<digit>& meaning batchfile parameters digit and up | |
87 syn match btmArgument "%\d\>&" | |
88 " //Variable used by FOR loops sometimes use %%<letter> in batchfiles | |
89 syn match btmArgument "%%\a\>" | |
90 | |
91 " //Show 4DOS built-in functions specially | |
92 syn match btmBIFMatch "%@\w\+\["he=e-1 contains=btmBuiltInFunc | |
93 syn keyword btmBuiltInFunc contained alias ascii attrib cdrom | |
94 syn keyword btmBuiltInFunc contained char clip comma convert | |
95 syn keyword btmBuiltInFunc contained date day dec descript | |
96 syn keyword btmBuiltInFunc contained device diskfree disktotal | |
97 syn keyword btmBuiltInFunc contained diskused dosmem dow dowi | |
98 syn keyword btmBuiltInFunc contained doy ems eval exec execstr | |
99 syn keyword btmBuiltInFunc contained expand ext extended | |
100 syn keyword btmBuiltInFunc contained fileage fileclose filedate | |
101 syn keyword btmBuiltInFunc contained filename fileopen fileread | |
102 syn keyword btmBuiltInFunc contained files fileseek fileseekl | |
103 syn keyword btmBuiltInFunc contained filesize filetime filewrite | |
104 syn keyword btmBuiltInFunc contained filewriteb findclose | |
105 syn keyword btmBuiltInFunc contained findfirst findnext format | |
106 syn keyword btmBuiltInFunc contained full if inc index insert | |
107 syn keyword btmBuiltInFunc contained instr int label left len | |
108 syn keyword btmBuiltInFunc contained lfn line lines lower lpt | |
109 syn keyword btmBuiltInFunc contained makeage makedate maketime | |
110 syn keyword btmBuiltInFunc contained master month name numeric | |
111 syn keyword btmBuiltInFunc contained path random readscr ready | |
112 syn keyword btmBuiltInFunc contained remote removable repeat | |
113 syn keyword btmBuiltInFunc contained replace right search | |
114 syn keyword btmBuiltInFunc contained select sfn strip substr | |
115 syn keyword btmBuiltInFunc contained time timer trim truename | |
116 syn keyword btmBuiltInFunc contained unique upper wild word | |
117 syn keyword btmBuiltInFunc contained words xms year | |
118 | |
119 syn cluster btmSpecialVars contains=btmBuiltInVar,btmSpecialVar | |
120 | |
121 " //Show specialized variables specially | |
122 " syn match btmSpecialVar contained "+" | |
123 syn match btmSpecialVar contained "=" | |
124 syn match btmSpecialVar contained "#" | |
125 syn match btmSpecialVar contained "??\=" | |
126 syn keyword btmSpecialVar contained cmdline colordir comspec | |
127 syn keyword btmSpecialVar contained copycmd dircmd temp temp4dos | |
128 syn keyword btmSpecialVar contained filecompletion path prompt | |
129 | |
130 " //Show 4DOS built-in variables specially specially | |
131 syn keyword btmBuiltInVar contained _4ver _alias _ansi | |
132 syn keyword btmBuiltInVar contained _apbatt _aplife _apmac _batch | |
133 syn keyword btmBuiltInVar contained _batchline _batchname _bg | |
134 syn keyword btmBuiltInVar contained _boot _ci _cmdproc _co | |
135 syn keyword btmBuiltInVar contained _codepage _column _columns | |
136 syn keyword btmBuiltInVar contained _country _cpu _cwd _cwds _cwp | |
137 syn keyword btmBuiltInVar contained _cwps _date _day _disk _dname | |
138 syn keyword btmBuiltInVar contained _dos _dosver _dow _dowi _doy | |
139 syn keyword btmBuiltInVar contained _dpmi _dv _env _fg _hlogfile | |
140 syn keyword btmBuiltInVar contained _hour _kbhit _kstack _lastdisk | |
141 syn keyword btmBuiltInVar contained _logfile _minute _monitor | |
142 syn keyword btmBuiltInVar contained _month _mouse _ndp _row _rows | |
143 syn keyword btmBuiltInVar contained _second _shell _swapping | |
144 syn keyword btmBuiltInVar contained _syserr _time _transient | |
145 syn keyword btmBuiltInVar contained _video _win _wintitle _year | |
146 | |
147 " //Commands in 4DOS and/or DOS | |
148 syn match btmCommand "\s?" | |
149 syn match btmCommand "^?" | |
150 syn keyword btmCommand alias append assign attrib | |
151 syn keyword btmCommand backup beep break cancel case | |
152 syn keyword btmCommand cd cdd cdpath chcp chdir | |
153 syn keyword btmCommand chkdsk cls color comp copy | |
154 syn keyword btmCommand ctty date debug default defrag | |
155 syn keyword btmCommand del delay describe dir | |
156 syn keyword btmCommand dirhistory dirs diskcomp | |
157 syn keyword btmCommand diskcopy doskey dosshell | |
158 syn keyword btmCommand drawbox drawhline drawvline | |
159 "syn keyword btmCommand echo echoerr echos echoserr | |
160 syn keyword btmCommand edit edlin emm386 endlocal | |
161 syn keyword btmCommand endswitch erase eset except | |
162 syn keyword btmCommand exe2bin exit expand fastopen | |
163 syn keyword btmCommand fc fdisk ffind find format | |
164 syn keyword btmCommand free global gosub goto | |
165 syn keyword btmCommand graftabl graphics help history | |
166 syn keyword btmCommand inkey input join keyb keybd | |
167 syn keyword btmCommand keystack label lh list loadbtm | |
168 syn keyword btmCommand loadhigh lock log md mem | |
169 syn keyword btmCommand memory mirror mkdir mode more | |
170 syn keyword btmCommand move nlsfunc on option path | |
171 syn keyword btmCommand pause popd print prompt pushd | |
172 syn keyword btmCommand quit rd reboot recover ren | |
173 syn keyword btmCommand rename replace restore return | |
174 syn keyword btmCommand rmdir scandisk screen scrput | |
175 syn keyword btmCommand select set setdos setlocal | |
176 syn keyword btmCommand setver share shift sort subst | |
177 syn keyword btmCommand swapping switch sys tee text | |
178 syn keyword btmCommand time timer touch tree truename | |
179 syn keyword btmCommand type unalias undelete unformat | |
180 syn keyword btmCommand unlock unset ver verify vol | |
181 syn keyword btmCommand vscrput y | |
182 | |
183 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
184 " Only when an item doesn't have highlighting yet |
7 | 185 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
186 hi def link btmLabel Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
187 hi def link btmLabelMark Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
188 hi def link btmCmdDivider Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
189 hi def link btmConditional btmStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
190 hi def link btmDotBoolOp btmStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
191 hi def link btmRepeat btmStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
192 hi def link btmEchoCommand btmStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
193 hi def link btmEchoParam btmStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
194 hi def link btmStatement Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
195 hi def link btmTodo Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
196 hi def link btmString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
197 hi def link btmNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
198 hi def link btmComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
199 hi def link btmArgument Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
200 hi def link btmVariable Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
201 hi def link btmEcho String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
202 hi def link btmBIFMatch btmStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
203 hi def link btmBuiltInFunc btmStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
204 hi def link btmBuiltInVar btmStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
205 hi def link btmSpecialVar btmStatement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
206 hi def link btmCommand btmStatement |
7 | 207 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
208 "optional highlighting |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
209 "hi def link btmShowTab Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
210 "hi def link btmShowTabc Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
211 "hi def link btmIdentifier Identifier |
7 | 212 |
213 | |
214 let b:current_syntax = "btm" | |
215 | |
216 " vim: ts=8 |