UNPKG

prism-code-editor

Version:

Lightweight, extensible code editor component for the web using Prism

57 lines (56 loc) 1.89 kB
import { l as languages, a as tokenize, r as rest } from "../../index-DF54SWhA.js"; import { e as embeddedIn } from "../../templating-BdWShxVo.js"; import "./javascript.js"; var js = languages.js; var templateString = js["template-string"]; var templateLiteralPattern = templateString.pattern.source; var interpolationPattern = templateString.inside.interpolation.pattern; var createTemplate = (language, tag) => ({ pattern: RegExp("(\\b(?:" + tag + ")\\s*)" + templateLiteralPattern, "g"), lookbehind: true, inside: { "template-punctuation": { pattern: /^`|`$/, alias: "string" }, ["language-" + language]: { pattern: /[^]+/, inside: { "interpolation": { pattern: interpolationPattern, lookbehind: true, alias: "language-javascript", inside: { "interpolation-punctuation": { pattern: /^..|\}$/g, alias: "punctuation" }, [rest]: "js" } }, [tokenize]: embeddedIn(language) } } } }); js["template-string"] = [ // styled-jsx: // css`a { color: #25F; }` // styled-components: // styled.h1`color: red;` createTemplate("css", "styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes"), // html`<p></p>` // div.innerHTML = `<p></p>` createTemplate("html", "html|\\.\\s*(?:inner|outer)HTML\\s*\\+?="), // svg`<path fill="#fff" d="M55.37 ..."/>` createTemplate("svg", "svg"), // md`# h1`, markdown`## h2` createTemplate("markdown", "markdown|md"), // gql`...`, graphql`...`, graphql.experimental`...` createTemplate("graphql", "gql|graphql(?:\\s*\\.\\s*experimental)?"), // sql`...` createTemplate("sql", "sql"), // vanilla template string templateString ]; //# sourceMappingURL=js-templates.js.map