]> luflow.net public git repositories - flow-web.git/blob - static/highlight/es/languages/dos.js
Initial commit.
[flow-web.git] / static / highlight / es / languages / dos.js
1 /*! `dos` grammar compiled for Highlight.js 11.11.1 */
2 var hljsGrammar = (function () {
3 'use strict';
4
5 /*
6 Language: Batch file (DOS)
7 Author: Alexander Makarov <sam@rmcreative.ru>
8 Contributors: Anton Kochkov <anton.kochkov@gmail.com>
9 Website: https://en.wikipedia.org/wiki/Batch_file
10 Category: scripting
11 */
12
13 /** @type LanguageFn */
14 function dos(hljs) {
15 const COMMENT = hljs.COMMENT(
16 /^\s*@?rem\b/, /$/,
17 { relevance: 10 }
18 );
19 const LABEL = {
20 className: 'symbol',
21 begin: '^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)',
22 relevance: 0
23 };
24 const KEYWORDS = [
25 "if",
26 "else",
27 "goto",
28 "for",
29 "in",
30 "do",
31 "call",
32 "exit",
33 "not",
34 "exist",
35 "errorlevel",
36 "defined",
37 "equ",
38 "neq",
39 "lss",
40 "leq",
41 "gtr",
42 "geq"
43 ];
44 const BUILT_INS = [
45 "prn",
46 "nul",
47 "lpt3",
48 "lpt2",
49 "lpt1",
50 "con",
51 "com4",
52 "com3",
53 "com2",
54 "com1",
55 "aux",
56 "shift",
57 "cd",
58 "dir",
59 "echo",
60 "setlocal",
61 "endlocal",
62 "set",
63 "pause",
64 "copy",
65 "append",
66 "assoc",
67 "at",
68 "attrib",
69 "break",
70 "cacls",
71 "cd",
72 "chcp",
73 "chdir",
74 "chkdsk",
75 "chkntfs",
76 "cls",
77 "cmd",
78 "color",
79 "comp",
80 "compact",
81 "convert",
82 "date",
83 "dir",
84 "diskcomp",
85 "diskcopy",
86 "doskey",
87 "erase",
88 "fs",
89 "find",
90 "findstr",
91 "format",
92 "ftype",
93 "graftabl",
94 "help",
95 "keyb",
96 "label",
97 "md",
98 "mkdir",
99 "mode",
100 "more",
101 "move",
102 "path",
103 "pause",
104 "print",
105 "popd",
106 "pushd",
107 "promt",
108 "rd",
109 "recover",
110 "rem",
111 "rename",
112 "replace",
113 "restore",
114 "rmdir",
115 "shift",
116 "sort",
117 "start",
118 "subst",
119 "time",
120 "title",
121 "tree",
122 "type",
123 "ver",
124 "verify",
125 "vol",
126 // winutils
127 "ping",
128 "net",
129 "ipconfig",
130 "taskkill",
131 "xcopy",
132 "ren",
133 "del"
134 ];
135 return {
136 name: 'Batch file (DOS)',
137 aliases: [
138 'bat',
139 'cmd'
140 ],
141 case_insensitive: true,
142 illegal: /\/\*/,
143 keywords: {
144 keyword: KEYWORDS,
145 built_in: BUILT_INS
146 },
147 contains: [
148 {
149 className: 'variable',
150 begin: /%%[^ ]|%[^ ]+?%|![^ ]+?!/
151 },
152 {
153 className: 'function',
154 begin: LABEL.begin,
155 end: 'goto:eof',
156 contains: [
157 hljs.inherit(hljs.TITLE_MODE, { begin: '([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*' }),
158 COMMENT
159 ]
160 },
161 {
162 className: 'number',
163 begin: '\\b\\d+',
164 relevance: 0
165 },
166 COMMENT
167 ]
168 };
169 }
170
171 return dos;
172
173 })();
174 ;
175 export default hljsGrammar;