diff options
Diffstat (limited to 'packages/astro-parser/src/parse/state/codefence.ts')
-rw-r--r-- | packages/astro-parser/src/parse/state/codefence.ts | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/packages/astro-parser/src/parse/state/codefence.ts b/packages/astro-parser/src/parse/state/codefence.ts deleted file mode 100644 index b8e96b262..000000000 --- a/packages/astro-parser/src/parse/state/codefence.ts +++ /dev/null @@ -1,38 +0,0 @@ -// @ts-nocheck -import { Parser } from '../index.js'; - -export default function codefence(parser: Parser) { - const start = parser.index; - const open = parser.match_regex(/[`~]{3,}/); - parser.index += open!.length; - - let raw = open + ''; - - while (parser.index < parser.template.length && !parser.match(open)) { - raw += parser.template[parser.index++]; - } - - parser.eat(open, true); - raw += open; - const trailingWhitespace = parser.read_until(/\S/); - const { metadata, data } = extractCodeFence(raw); - - const node = { - start, - end: parser.index, - type: 'CodeFence', - raw: `${raw}` + trailingWhitespace, - metadata, - data, - }; - - parser.current().children.push(node); -} - -/** Extract attributes on first line */ -function extractCodeFence(str: string) { - const [_, leadingLine] = str.match(/(^[^\n]*\r?\n)/m) ?? ['', '']; - const metadata = leadingLine.trim(); - const data = str.slice(leadingLine.length); - return { metadata, data }; -} |