1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| /*
| Language: Batch file (DOS)
| Author: Alexander Makarov <sam@rmcreative.ru>
| Contributors: Anton Kochkov <anton.kochkov@gmail.com>
| Website: https://en.wikipedia.org/wiki/Batch_file
| */
|
| /** @type LanguageFn */
| function dos(hljs) {
| const COMMENT = hljs.COMMENT(
| /^\s*@?rem\b/, /$/,
| {
| relevance: 10
| }
| );
| const LABEL = {
| className: 'symbol',
| begin: '^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)',
| relevance: 0
| };
| return {
| name: 'Batch file (DOS)',
| aliases: [
| 'bat',
| 'cmd'
| ],
| case_insensitive: true,
| illegal: /\/\*/,
| keywords: {
| keyword:
| 'if else goto for in do call exit not exist errorlevel defined ' +
| 'equ neq lss leq gtr geq',
| built_in:
| 'prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux ' +
| 'shift cd dir echo setlocal endlocal set pause copy ' +
| 'append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color ' +
| 'comp compact convert date dir diskcomp diskcopy doskey erase fs ' +
| 'find findstr format ftype graftabl help keyb label md mkdir mode more move path ' +
| 'pause print popd pushd promt rd recover rem rename replace restore rmdir shift ' +
| 'sort start subst time title tree type ver verify vol ' +
| // winutils
| 'ping net ipconfig taskkill xcopy ren del'
| },
| contains: [
| {
| className: 'variable',
| begin: /%%[^ ]|%[^ ]+?%|![^ ]+?!/
| },
| {
| className: 'function',
| begin: LABEL.begin,
| end: 'goto:eof',
| contains: [
| hljs.inherit(hljs.TITLE_MODE, {
| begin: '([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*'
| }),
| COMMENT
| ]
| },
| {
| className: 'number',
| begin: '\\b\\d+',
| relevance: 0
| },
| COMMENT
| ]
| };
| }
|
| module.exports = dos;
|
|