python.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  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. var __defProp = Object.defineProperty;
  8. var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
  9. var __getOwnPropNames = Object.getOwnPropertyNames;
  10. var __hasOwnProp = Object.prototype.hasOwnProperty;
  11. var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
  12. var __reExport = (target, module, desc) => {
  13. if (module && typeof module === "object" || typeof module === "function") {
  14. for (let key of __getOwnPropNames(module))
  15. if (!__hasOwnProp.call(target, key) && key !== "default")
  16. __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
  17. }
  18. return target;
  19. };
  20. // src/fillers/monaco-editor-core.ts
  21. var monaco_editor_core_exports = {};
  22. __markAsModule(monaco_editor_core_exports);
  23. __reExport(monaco_editor_core_exports, monaco_editor_core_star);
  24. import * as monaco_editor_core_star from "../../editor/editor.api.js";
  25. // src/basic-languages/python/python.ts
  26. var conf = {
  27. comments: {
  28. lineComment: "#",
  29. blockComment: ["'''", "'''"]
  30. },
  31. brackets: [
  32. ["{", "}"],
  33. ["[", "]"],
  34. ["(", ")"]
  35. ],
  36. autoClosingPairs: [
  37. { open: "{", close: "}" },
  38. { open: "[", close: "]" },
  39. { open: "(", close: ")" },
  40. { open: '"', close: '"', notIn: ["string"] },
  41. { open: "'", close: "'", notIn: ["string", "comment"] }
  42. ],
  43. surroundingPairs: [
  44. { open: "{", close: "}" },
  45. { open: "[", close: "]" },
  46. { open: "(", close: ")" },
  47. { open: '"', close: '"' },
  48. { open: "'", close: "'" }
  49. ],
  50. onEnterRules: [
  51. {
  52. beforeText: new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\s*$"),
  53. action: { indentAction: monaco_editor_core_exports.languages.IndentAction.Indent }
  54. }
  55. ],
  56. folding: {
  57. offSide: true,
  58. markers: {
  59. start: new RegExp("^\\s*#region\\b"),
  60. end: new RegExp("^\\s*#endregion\\b")
  61. }
  62. }
  63. };
  64. var language = {
  65. defaultToken: "",
  66. tokenPostfix: ".python",
  67. keywords: [
  68. "False",
  69. "None",
  70. "True",
  71. "and",
  72. "as",
  73. "assert",
  74. "async",
  75. "await",
  76. "break",
  77. "class",
  78. "continue",
  79. "def",
  80. "del",
  81. "elif",
  82. "else",
  83. "except",
  84. "exec",
  85. "finally",
  86. "for",
  87. "from",
  88. "global",
  89. "if",
  90. "import",
  91. "in",
  92. "is",
  93. "lambda",
  94. "nonlocal",
  95. "not",
  96. "or",
  97. "pass",
  98. "print",
  99. "raise",
  100. "return",
  101. "try",
  102. "while",
  103. "with",
  104. "yield",
  105. "int",
  106. "float",
  107. "long",
  108. "complex",
  109. "hex",
  110. "abs",
  111. "all",
  112. "any",
  113. "apply",
  114. "basestring",
  115. "bin",
  116. "bool",
  117. "buffer",
  118. "bytearray",
  119. "callable",
  120. "chr",
  121. "classmethod",
  122. "cmp",
  123. "coerce",
  124. "compile",
  125. "complex",
  126. "delattr",
  127. "dict",
  128. "dir",
  129. "divmod",
  130. "enumerate",
  131. "eval",
  132. "execfile",
  133. "file",
  134. "filter",
  135. "format",
  136. "frozenset",
  137. "getattr",
  138. "globals",
  139. "hasattr",
  140. "hash",
  141. "help",
  142. "id",
  143. "input",
  144. "intern",
  145. "isinstance",
  146. "issubclass",
  147. "iter",
  148. "len",
  149. "locals",
  150. "list",
  151. "map",
  152. "max",
  153. "memoryview",
  154. "min",
  155. "next",
  156. "object",
  157. "oct",
  158. "open",
  159. "ord",
  160. "pow",
  161. "print",
  162. "property",
  163. "reversed",
  164. "range",
  165. "raw_input",
  166. "reduce",
  167. "reload",
  168. "repr",
  169. "reversed",
  170. "round",
  171. "self",
  172. "set",
  173. "setattr",
  174. "slice",
  175. "sorted",
  176. "staticmethod",
  177. "str",
  178. "sum",
  179. "super",
  180. "tuple",
  181. "type",
  182. "unichr",
  183. "unicode",
  184. "vars",
  185. "xrange",
  186. "zip",
  187. "__dict__",
  188. "__methods__",
  189. "__members__",
  190. "__class__",
  191. "__bases__",
  192. "__name__",
  193. "__mro__",
  194. "__subclasses__",
  195. "__init__",
  196. "__import__"
  197. ],
  198. brackets: [
  199. { open: "{", close: "}", token: "delimiter.curly" },
  200. { open: "[", close: "]", token: "delimiter.bracket" },
  201. { open: "(", close: ")", token: "delimiter.parenthesis" }
  202. ],
  203. tokenizer: {
  204. root: [
  205. { include: "@whitespace" },
  206. { include: "@numbers" },
  207. { include: "@strings" },
  208. [/[,:;]/, "delimiter"],
  209. [/[{}\[\]()]/, "@brackets"],
  210. [/@[a-zA-Z_]\w*/, "tag"],
  211. [
  212. /[a-zA-Z_]\w*/,
  213. {
  214. cases: {
  215. "@keywords": "keyword",
  216. "@default": "identifier"
  217. }
  218. }
  219. ]
  220. ],
  221. whitespace: [
  222. [/\s+/, "white"],
  223. [/(^#.*$)/, "comment"],
  224. [/'''/, "string", "@endDocString"],
  225. [/"""/, "string", "@endDblDocString"]
  226. ],
  227. endDocString: [
  228. [/[^']+/, "string"],
  229. [/\\'/, "string"],
  230. [/'''/, "string", "@popall"],
  231. [/'/, "string"]
  232. ],
  233. endDblDocString: [
  234. [/[^"]+/, "string"],
  235. [/\\"/, "string"],
  236. [/"""/, "string", "@popall"],
  237. [/"/, "string"]
  238. ],
  239. numbers: [
  240. [/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/, "number.hex"],
  241. [/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/, "number"]
  242. ],
  243. strings: [
  244. [/'$/, "string.escape", "@popall"],
  245. [/'/, "string.escape", "@stringBody"],
  246. [/"$/, "string.escape", "@popall"],
  247. [/"/, "string.escape", "@dblStringBody"]
  248. ],
  249. stringBody: [
  250. [/[^\\']+$/, "string", "@popall"],
  251. [/[^\\']+/, "string"],
  252. [/\\./, "string"],
  253. [/'/, "string.escape", "@popall"],
  254. [/\\$/, "string"]
  255. ],
  256. dblStringBody: [
  257. [/[^\\"]+$/, "string", "@popall"],
  258. [/[^\\"]+/, "string"],
  259. [/\\./, "string"],
  260. [/"/, "string.escape", "@popall"],
  261. [/\\$/, "string"]
  262. ]
  263. }
  264. };
  265. export {
  266. conf,
  267. language
  268. };