prism-code-editor
Version:
Lightweight, extensible code editor component for the web using Prism
51 lines (50 loc) • 1.43 kB
JavaScript
import { a as languages, s as rest } from "../../core-8vQkh0Rd.js";
import { n as re, t as nested } from "../../shared-BPLAFNn7.js";
import "./scheme.js";
//#region src/prism/languages/lilypond.js
var schemeExpression = nested("\\((?:\\\\[\\s\\S]|[^\\\\\"();#]|;.*(?!.)|\"(?:\\\\.|[^\\\\\"])*\"|#(?:\\{(?:(?!#\\})[\\s\\S])*#\\}|[^{])|<self>)*\\)", 5);
var inside = {
pattern: /[^]+/,
alias: "language-lilypond"
};
inside.inside = languages.ly = languages.lilypond = {
"comment": /%\{[^]*?%\}|%.*/,
"embedded-scheme": {
pattern: re("(^|[=\\s])#(?:\"(?:\\\\.|[^\\\\\"])*\"|[^\\s()\"]*(?:[^\\s()]|<0>))", [schemeExpression], "mg"),
lookbehind: true,
inside: {
"scheme": {
pattern: /(?!^)[^]+/,
alias: "language-scheme",
inside: {
"embedded-lilypond": {
pattern: /#\{[^]*?#\}/g,
inside: {
"punctuation": /^..|#\}$/g,
"lilypond": inside
}
},
[rest]: languages.scheme
}
},
"punctuation": /#/
}
},
"string": /"(?:\\.|[^\\"])*"/g,
"class-name": {
pattern: /(\\new\s+)[\w-]+/,
lookbehind: true
},
"keyword": {
pattern: /\\[a-z][-\w]*/i,
inside: { "punctuation": /^\\/ }
},
"operator": /[=|]|<<|>>/,
"punctuation": {
pattern: /(^|[a-z\d])(?:'+|,+|[_^]?-[_^]?(?:[!>._^+-]|(?=\d))|[_^]\.?|[.!])|[()[\]{}<>^~]|\\[()[\]<>\\!]|--|__/,
lookbehind: true
},
"number": /\b\d+(?:\/\d+)?\b/
};
//#endregion
//# sourceMappingURL=lilypond.js.map