bat.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /*!-----------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
  4. * Released under the MIT license
  5. * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
  6. *-----------------------------------------------------------------------------*/
  7. define("vs/basic-languages/bat/bat",[],()=>{
  8. var moduleExports = (() => {
  9. var __defProp = Object.defineProperty;
  10. var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
  11. var __export = (target, all) => {
  12. __markAsModule(target);
  13. for (var name in all)
  14. __defProp(target, name, { get: all[name], enumerable: true });
  15. };
  16. // src/basic-languages/bat/bat.ts
  17. var bat_exports = {};
  18. __export(bat_exports, {
  19. conf: () => conf,
  20. language: () => language
  21. });
  22. var conf = {
  23. comments: {
  24. lineComment: "REM"
  25. },
  26. brackets: [
  27. ["{", "}"],
  28. ["[", "]"],
  29. ["(", ")"]
  30. ],
  31. autoClosingPairs: [
  32. { open: "{", close: "}" },
  33. { open: "[", close: "]" },
  34. { open: "(", close: ")" },
  35. { open: '"', close: '"' }
  36. ],
  37. surroundingPairs: [
  38. { open: "[", close: "]" },
  39. { open: "(", close: ")" },
  40. { open: '"', close: '"' }
  41. ],
  42. folding: {
  43. markers: {
  44. start: new RegExp("^\\s*(::\\s*|REM\\s+)#region"),
  45. end: new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")
  46. }
  47. }
  48. };
  49. var language = {
  50. defaultToken: "",
  51. ignoreCase: true,
  52. tokenPostfix: ".bat",
  53. brackets: [
  54. { token: "delimiter.bracket", open: "{", close: "}" },
  55. { token: "delimiter.parenthesis", open: "(", close: ")" },
  56. { token: "delimiter.square", open: "[", close: "]" }
  57. ],
  58. keywords: /call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,
  59. symbols: /[=><!~?&|+\-*\/\^;\.,]+/,
  60. escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
  61. tokenizer: {
  62. root: [
  63. [/^(\s*)(rem(?:\s.*|))$/, ["", "comment"]],
  64. [/(\@?)(@keywords)(?!\w)/, [{ token: "keyword" }, { token: "keyword.$2" }]],
  65. [/[ \t\r\n]+/, ""],
  66. [/setlocal(?!\w)/, "keyword.tag-setlocal"],
  67. [/endlocal(?!\w)/, "keyword.tag-setlocal"],
  68. [/[a-zA-Z_]\w*/, ""],
  69. [/:\w*/, "metatag"],
  70. [/%[^%]+%/, "variable"],
  71. [/%%[\w]+(?!\w)/, "variable"],
  72. [/[{}()\[\]]/, "@brackets"],
  73. [/@symbols/, "delimiter"],
  74. [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
  75. [/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
  76. [/\d+/, "number"],
  77. [/[;,.]/, "delimiter"],
  78. [/"/, "string", '@string."'],
  79. [/'/, "string", "@string.'"]
  80. ],
  81. string: [
  82. [
  83. /[^\\"'%]+/,
  84. {
  85. cases: {
  86. "@eos": { token: "string", next: "@popall" },
  87. "@default": "string"
  88. }
  89. }
  90. ],
  91. [/@escapes/, "string.escape"],
  92. [/\\./, "string.escape.invalid"],
  93. [/%[\w ]+%/, "variable"],
  94. [/%%[\w]+(?!\w)/, "variable"],
  95. [
  96. /["']/,
  97. {
  98. cases: {
  99. "$#==$S2": { token: "string", next: "@pop" },
  100. "@default": "string"
  101. }
  102. }
  103. ],
  104. [/$/, "string", "@popall"]
  105. ]
  106. }
  107. };
  108. return bat_exports;
  109. })();
  110. return moduleExports;
  111. });