prism-code-editor
Version:
Lightweight, extensible code editor component for the web using Prism
64 lines (63 loc) • 1.95 kB
JavaScript
import { l as languages } from "../../index-DF54SWhA.js";
import "./mata.js";
import "./java.js";
import "./python.js";
var expression = {
pattern: /[^]+/
};
expression.inside = languages.stata = {
"comment": [
{
pattern: /(^[ ]*)\*.*/mg,
lookbehind: true
},
{
pattern: /(^|\s)\/\/.*|\/\*[^]*?\*\//g,
lookbehind: true
}
],
"string-literal": {
pattern: /"[^\n"]*"|[‘`']".*?"[’`']/g,
inside: {
"interpolation": {
pattern: /\$\{[^{}]*\}|[‘`']\w[^’`'\n]*[’`']/,
inside: {
"punctuation": /^\$\{|\}$/,
"expression": expression
}
},
"string": /[^]+/
}
},
"mata": {
pattern: /(^[ ]*mata[ ]*:)[^]+?(?=^end\b)/mg,
lookbehind: true,
alias: "language-mata",
inside: languages.mata
},
"java": {
pattern: /(^[ ]*java[ ]*:)[^]+?(?=^end\b)/mg,
lookbehind: true,
alias: "language-java",
inside: languages.java
},
"python": {
pattern: /(^[ ]*python[ ]*:)[^]+?(?=^end\b)/mg,
lookbehind: true,
alias: "language-python",
inside: languages.py
},
"command": {
pattern: /(^[ ]*(?:\.[ ]+)?(?:(?:bayes|bootstrap|by|bysort|capture|collect|fmm|frame|jackknife|m?fp|mi|nestreg|noisily|permute|quietly|rolling|simulate|statsby|stepwise|svy|version|xi)\b[^\n:]*:[ ]*|(?:capture|noisily|quietly|version)[ ]+)?)[a-zA-Z]\w*/mg,
lookbehind: true,
alias: "keyword"
},
"variable": /\$\w+|[‘`']\w[^’`'\n]*[’`']/,
"keyword": /\b(?:bayes|bootstrap|by|bysort|capture|clear|collect|fmm|frame|if|in|jackknife|mi[ ]+estimate|m?fp|nestreg|noisily|of|permute|quietly|rolling|simulate|sort|statsby|stepwise|svy|varlist|version|xi)\b/,
"boolean": /\b(?:off|on)\b/,
"number": /\b\d+(?:\.\d+)?\b|\B\.\d+/,
"function": /\b[a-z_]\w*(?=\()/i,
"operator": /--|\+\+|##?|[~!=<>]=?|[&|^/*+-]/,
"punctuation": /[()[\]{},:]/
};
//# sourceMappingURL=stata.js.map