Skip to main content

@lexical/code-prism

Interfaces​

CodePrismConfig​

Defined in: packages/lexical-code-prism/src/CodeHighlighterPrism.ts:424

Properties​

disabled​

disabled: boolean

Defined in: packages/lexical-code-prism/src/CodeHighlighterPrism.ts:431

When true, the Prism code highlighter is not registered on the editor. This signal can be flipped at runtime to enable or disable the highlighter, for example to switch between the Prism and Shiki highlighters without rebuilding the editor.

tokenizer​

tokenizer: Tokenizer

Defined in: packages/lexical-code-prism/src/CodeHighlighterPrism.ts:432


Tokenizer​

Defined in: packages/lexical-code-prism/src/CodeHighlighterPrism.ts:53

Properties​

defaultLanguage​

defaultLanguage: string | null

Defined in: packages/lexical-code-prism/src/CodeHighlighterPrism.ts:61

Language to fall back to when a CodeNode doesn't carry one. Set to null to opt out of the implicit fallback — code blocks without a language stay untouched (no data-language attribute, no syntax highlighting) so a markdown round-trip can preserve ``` with no info string.

Methods​

$tokenize()​

$tokenize(codeNode, language?): LexicalNode[]

Defined in: packages/lexical-code-prism/src/CodeHighlighterPrism.ts:63

Parameters​
codeNode​

CodeNode

language?​

string

Returns​

LexicalNode[]

tokenize()​

tokenize(code, language?): (string | Token)[]

Defined in: packages/lexical-code-prism/src/CodeHighlighterPrism.ts:62

Parameters​
code​

string

language?​

string

Returns​

(string | Token)[]

Variables​

CODE_LANGUAGE_FRIENDLY_NAME_MAP​

const CODE_LANGUAGE_FRIENDLY_NAME_MAP: Record<string, string>

Defined in: packages/lexical-code-prism/src/FacadePrism.ts:44


CODE_LANGUAGE_MAP​

const CODE_LANGUAGE_MAP: Record<string, string>

Defined in: packages/lexical-code-prism/src/FacadePrism.ts:65


CodePrismExtension​

const CodePrismExtension: LexicalExtension<CodePrismConfig, "@lexical/code-prism", NamedSignalsOutput<CodePrismConfig>, unknown>

Defined in: packages/lexical-code-prism/src/CodeHighlighterPrism.ts:444

Add code highlighting support for code blocks with Prism.

CodeExtension is a dependency, so the required CodeNode and CodeHighlightNode nodes are registered automatically. CodeIndentExtension is also a dependency, so Tab / Shift+Tab and the related keyboard handlers are activated automatically. Set tabSize on CodeIndentExtension to enable space-indent outdent.


PrismTokenizer​

const PrismTokenizer: Tokenizer

Defined in: packages/lexical-code-prism/src/CodeHighlighterPrism.ts:66

Functions​

getCodeLanguageOptions()​

getCodeLanguageOptions(): [string, string][]

Defined in: packages/lexical-code-prism/src/FacadePrism.ts:95

Returns​

[string, string][]


getCodeLanguages()​

getCodeLanguages(): string[]

Defined in: packages/lexical-code-prism/src/FacadePrism.ts:86

Returns​

string[]


getCodeThemeOptions()​

getCodeThemeOptions(): [string, string][]

Defined in: packages/lexical-code-prism/src/FacadePrism.ts:108

Returns​

[string, string][]


getLanguageFriendlyName()​

getLanguageFriendlyName(lang): string

Defined in: packages/lexical-code-prism/src/FacadePrism.ts:81

Parameters​

lang​

string

Returns​

string


isCodeLanguageLoaded()​

isCodeLanguageLoaded(language): boolean

Defined in: packages/lexical-code-prism/src/FacadePrism.ts:119

Parameters​

language​

string

Returns​

boolean


loadCodeLanguage()​

loadCodeLanguage(language, editor?, codeNodeKey?): Promise<void>

Defined in: packages/lexical-code-prism/src/FacadePrism.ts:130

Parameters​

language​

string

editor?​

LexicalEditor

codeNodeKey?​

string

Returns​

Promise<void>


normalizeCodeLanguage()​

normalizeCodeLanguage(lang): string

Defined in: packages/lexical-code-prism/src/FacadePrism.ts:77

Parameters​

lang​

string

Returns​

string


registerCodeHighlighting()​

registerCodeHighlighting(editor, tokenizer?): () => void

Defined in: packages/lexical-code-prism/src/CodeHighlighterPrism.ts:409

Register the Prism tokenizer-driven highlighting on the editor along with the indent / Tab / arrow-key keyboard handlers. This function is provided for legacy code that has not upgraded to using CodePrismExtension.

Parameters​

editor​

LexicalEditor

tokenizer?​

Tokenizer = PrismTokenizer

Returns​

() => void