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