dos.js 1.6 KB

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