prism-code-editor
Version:
Lightweight, extensible code editor component for the web using Prism
30 lines (29 loc) • 1.16 kB
JavaScript
import { a as languages } from "../../core-8vQkh0Rd.js";
import { t as boolean } from "../../patterns-C0vJBvXO.js";
import { n as re } from "../../shared-BPLAFNn7.js";
//#region src/prism/languages/toml.js
/** @param {string} pattern */
var insertKey = (pattern) => re(pattern, [`(?:[\\w-]+|'[^\n']*'|"(?:\\\\.|[^\\\\"\n])*")`], "mg");
languages.toml = {
"comment": /#.*/g,
"table": {
pattern: insertKey("(^[ ]*\\[\\s*(?:\\[\\s*)?)<0>(?:\\s*\\.\\s*<0>)*(?=\\s*\\])"),
lookbehind: true,
alias: "class-name"
},
"key": {
pattern: insertKey("(^[ ]*|[{,]\\s*)<0>(?:\\s*\\.\\s*<0>)*(?=\\s*=)"),
lookbehind: true,
alias: "property"
},
"string": /"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n']*'|"(?:\\.|[^\\\n"])*"/g,
"date": {
pattern: /\b(?:\d{4}-\d\d-\d\d(?:[t\s]\d\d:\d\d:\d\d(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?)?|\d\d:\d\d:\d\d(?:\.\d+)?)\b/i,
alias: "number"
},
"number": /(?:\b0(?:x[a-zA-Z\d]+(?:_[a-zA-Z\d]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[+-]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[+-]?\b(?:inf|nan)\b/,
"boolean": boolean,
"punctuation": /[[\]{}.,=]/
};
//#endregion
//# sourceMappingURL=toml.js.map