Skip to main content

@lexical/code-prism

Interfaces​

CodePrismConfig​

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

Properties​

disabled​

disabled: boolean

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

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:454


Tokenizer​

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

Properties​

defaultLanguage​

defaultLanguage: string | null

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

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:64

Parameters​
codeNode​

CodeNode

language?​

string

Returns​

LexicalNode[]

tokenize()​

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

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

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:53


CODE_LANGUAGE_MAP​

const CODE_LANGUAGE_MAP: Record<string, string>

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


CodePrismExtension​

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

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

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:67

Functions​

getCodeLanguageOptions()​

getCodeLanguageOptions(): [string, string][]

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

Returns​

[string, string][]


getCodeLanguages()​

getCodeLanguages(): string[]

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

Returns​

string[]


getCodeThemeOptions()​

getCodeThemeOptions(): [string, string][]

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

Returns​

[string, string][]


getLanguageFriendlyName()​

getLanguageFriendlyName(lang): string

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

Parameters​

lang​

string

Returns​

string


isCodeLanguageLoaded()​

isCodeLanguageLoaded(language): boolean

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

Parameters​

language​

string

Returns​

boolean


loadCodeLanguage()​

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

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

Parameters​

language​

string

editor?​

LexicalEditor

codeNodeKey?​

string

Returns​

Promise<void>


normalizeCodeLanguage()​

normalizeCodeLanguage(lang): string

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

Parameters​

lang​

string

Returns​

string


registerCodeHighlighting()​

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

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

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