@lexical/code-core
Interfaces
CodeGutterConfig
Defined in: packages/lexical-code-core/src/CodeGutter.ts:231
Properties
disabled
disabled:
boolean
Defined in: packages/lexical-code-core/src/CodeGutter.ts:237
When true, the gutter mutation listener is not registered on the editor. This signal can be flipped at runtime to enable or disable gutter rendering without rebuilding the editor.
Variables
CodeGutterExtension
constCodeGutterExtension:LexicalExtension<CodeGutterConfig,"@lexical/code-gutter",NamedSignalsOutput<CodeGutterConfig>,unknown>
Defined in: packages/lexical-code-core/src/CodeGutter.ts:251
Manages the line-number gutter for "@lexical/code-core".CodeNode
blocks (both classic data-gutter mode and the word-wrap mode that
uses real DOM .code-gutter / .code-content children).
Both "@lexical/code-shiki".CodeShikiExtension and "@lexical/code-prism".CodePrismExtension declare this as a dependency, mirroring how "@lexical/code-core".CodeIndentExtension is consumed, so the gutter is activated automatically alongside either highlighter.
CodeImportExtension
constCodeImportExtension:LexicalExtension<ExtensionConfigBase,"@lexical/code/Import",unknown,unknown>
Defined in: packages/lexical-code-core/src/CodeImportExtension.ts:393
Experimental
Bundles CodeImportRules (plus CoreImportExtension) into a single dependency. The legacy CodeNode.importDOM continues to work in parallel; depend on this extension to opt into the new pipeline.
CodeImportRules
constCodeImportRules:DOMImportRule<ElementSelectorBuilder<HTMLElement,Record<string,never>>>[]
Defined in: packages/lexical-code-core/src/CodeImportExtension.ts:376
Experimental
Import rules for CodeNode.
Specific class-restricted rules (GitHub raw-file-view detectors) are
registered before the generic <table> / <tr> / <td> rules so
they win dispatch.
Functions
$plainifyCodeContent()
$plainifyCodeContent(
text):LexicalNode[]
Defined in: packages/lexical-code-core/src/FlatStructureUtils.ts:239
Plain split of code text into CodeHighlightNodes (with no highlight
type) + LineBreakNodes + TabNodes. Used when the tokenizer opts out
of a default language so a previously highlighted block still
renders its \n / \t as real line breaks / tabs, while staying
compatible with the indent / shift-lines handlers that only accept
CodeHighlightNode + TabNode + LineBreakNode inside a CodeNode.
Parameters
text
string
Returns
registerCodeGutter()
registerCodeGutter(
editor): () =>void
Defined in: packages/lexical-code-core/src/CodeGutter.ts:167
Register a CodeNode mutation listener that keeps the code block gutter (line numbers + their heights in word-wrap mode) in sync with the editor state.
Previously this code was duplicated inside both
@lexical/code-prism and @lexical/code-shiki; consolidating it
here lets either highlighter — or any other consumer that depends on
@lexical/code-core — share the same DOM contract established by
CodeNode#createDOM.
In headless mode this is a no-op (no DOM to update); the returned cleanup function is still safe to call.
Parameters
editor
Returns
() => void
References
$createCodeHighlightNode
Re-exports $createCodeHighlightNode
$createCodeNode
Re-exports $createCodeNode
$getCodeLineDirection
Re-exports $getCodeLineDirection
$getEndOfCodeInLine
Re-exports $getEndOfCodeInLine
$getFirstCodeNodeOfLine
Re-exports $getFirstCodeNodeOfLine
$getLastCodeNodeOfLine
Re-exports $getLastCodeNodeOfLine
$getStartOfCodeInLine
Re-exports $getStartOfCodeInLine
$isCodeHighlightNode
Re-exports $isCodeHighlightNode
$isCodeNode
Re-exports $isCodeNode
$outdentLeadingSpaces
Re-exports $outdentLeadingSpaces
CodeExtension
Re-exports CodeExtension
CodeHighlightNode
Re-exports CodeHighlightNode
CodeIndentConfig
Re-exports CodeIndentConfig
CodeIndentExtension
Re-exports CodeIndentExtension
CodeNode
Re-exports CodeNode
DEFAULT_CODE_LANGUAGE
Re-exports DEFAULT_CODE_LANGUAGE
SerializedCodeNode
Re-exports SerializedCodeNode