mdz_lexer.ts

mdz lexer — tokenizes input into a flat MdzToken[] stream.

Phase 1 of the synchronous parsing pipeline behind mdz_parse. Phase 2 (token parser) is in mdz_token_parser.ts.

view source

Declarations
#

29 declarations

MdzLexer
#

mdz_lexer.ts view source

import {MdzLexer} from '@fuzdev/mdz/mdz_lexer.js';

Tokenizes mdz input into a flat MdzToken stream for MdzTokenParser.

The lexer owns all structural decisions — block boundaries, list level stacks, blockquote prefix stripping (sub-lexing quote content as a mini-document with positions remapped to source offsets), and inline delimiter pairing bounded by #max_search_index — so the token parser only assembles the tree.

constructor

type new (text: string): MdzLexer

text

type string

tokenize

type (): MdzToken[]

returns MdzToken[]

MdzToken
#

MdzTokenAutolink
#

MdzTokenBase
#

mdz_lexer.ts view source

MdzTokenBase import type {MdzTokenBase} from '@fuzdev/mdz/mdz_lexer.js';

start

type number

end

type number

MdzTokenBlockquoteClose
#

mdz_lexer.ts view source

MdzTokenBlockquoteClose import type {MdzTokenBlockquoteClose} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'blockquote_close'

MdzTokenBlockquoteOpen
#

mdz_lexer.ts view source

MdzTokenBlockquoteOpen import type {MdzTokenBlockquoteOpen} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'blockquote_open'

MdzTokenBoldClose
#

MdzTokenBoldOpen
#

MdzTokenCode
#

MdzTokenCodeblock
#

mdz_lexer.ts view source

MdzTokenCodeblock import type {MdzTokenCodeblock} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'codeblock'

lang

type string | null

content

type string

MdzTokenHeadingEnd
#

MdzTokenHeadingStart
#

mdz_lexer.ts view source

MdzTokenHeadingStart import type {MdzTokenHeadingStart} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'heading_start'

level

type 1 | 2 | 3 | 4 | 5 | 6

MdzTokenHr
#

MdzTokenItalicClose
#

MdzTokenItalicOpen
#

MdzTokenLinkRef
#

mdz_lexer.ts view source

MdzTokenLinkRef import type {MdzTokenLinkRef} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'link_ref'

reference

type string

link_type

type 'external' | 'internal'

MdzTokenLinkTextClose
#

mdz_lexer.ts view source

MdzTokenLinkTextClose import type {MdzTokenLinkTextClose} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'link_text_close'

MdzTokenLinkTextOpen
#

mdz_lexer.ts view source

MdzTokenLinkTextOpen import type {MdzTokenLinkTextOpen} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'link_text_open'

MdzTokenListClose
#

MdzTokenListItemClose
#

mdz_lexer.ts view source

MdzTokenListItemClose import type {MdzTokenListItemClose} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'list_item_close'

MdzTokenListItemOpen
#

mdz_lexer.ts view source

MdzTokenListItemOpen import type {MdzTokenListItemOpen} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'list_item_open'

number?

Authored number (ordered lists only).

type number

MdzTokenListOpen
#

mdz_lexer.ts view source

MdzTokenListOpen import type {MdzTokenListOpen} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'list_open'

ordered

type boolean

MdzTokenParagraphBreak
#

mdz_lexer.ts view source

MdzTokenParagraphBreak import type {MdzTokenParagraphBreak} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'paragraph_break'

MdzTokenStrikethroughClose
#

mdz_lexer.ts view source

MdzTokenStrikethroughClose import type {MdzTokenStrikethroughClose} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'strikethrough_close'

MdzTokenStrikethroughOpen
#

mdz_lexer.ts view source

MdzTokenStrikethroughOpen import type {MdzTokenStrikethroughOpen} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'strikethrough_open'

MdzTokenTagClose
#

mdz_lexer.ts view source

MdzTokenTagClose import type {MdzTokenTagClose} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'tag_close'

name

type string

MdzTokenTagOpen
#

mdz_lexer.ts view source

MdzTokenTagOpen import type {MdzTokenTagOpen} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'tag_open'

name

type string

is_component

type boolean

MdzTokenTagSelfClose
#

mdz_lexer.ts view source

MdzTokenTagSelfClose import type {MdzTokenTagSelfClose} from '@fuzdev/mdz/mdz_lexer.js';

inheritance

extends: MdzTokenBase

type

type 'tag_self_close'

name

type string

is_component

type boolean

MdzTokenText
#

Depends on
#

Imported by
#