Skip to main content

@lexical/code-prism

Interfaces

CodePrismConfig

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

Properties

disabled

disabled: boolean

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

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


Tokenizer

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

Properties

defaultLanguage

defaultLanguage: string

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

Methods

$tokenize()

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

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

Parameters
codeNode

CodeNode

language?

string

Returns

LexicalNode[]

tokenize()

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

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

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


CODE_LANGUAGE_MAP

const CODE_LANGUAGE_MAP: Record<string, string>

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


CodePrismExtension

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

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

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

Functions

getCodeLanguageOptions()

getCodeLanguageOptions(): [string, string][]

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

Returns

[string, string][]


getCodeLanguages()

getCodeLanguages(): string[]

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

Returns

string[]


getCodeThemeOptions()

getCodeThemeOptions(): [string, string][]

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

Returns

[string, string][]


getLanguageFriendlyName()

getLanguageFriendlyName(lang): string

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

Parameters

lang

string

Returns

string


isCodeLanguageLoaded()

isCodeLanguageLoaded(language): boolean

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

Parameters

language

string

Returns

boolean


loadCodeLanguage()

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

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

Parameters

language

string

editor?

LexicalEditor

codeNodeKey?

string

Returns

Promise<void>


normalizeCodeLanguage()

normalizeCodeLanguage(lang): string

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

Parameters

lang

string

Returns

string


registerCodeHighlighting()

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

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

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