@revideo/2d / code / CodeHighlighter
Interface: CodeHighlighter<T>
Defined in: 2d/src/lib/code/CodeHighlighter.ts:29
Describes custom highlighters used by the Code node.
Type Parameters
T
T = unknown
The type of the cache used by the highlighter.
Methods
highlight()
highlight(
index,cache):HighlightResult
Defined in: 2d/src/lib/code/CodeHighlighter.ts:66
Highlights the code at the given index.
Parameters
index
number
The index of the code to highlight.
cache
T
The result of prepare.
Returns
initialize()
initialize():
boolean
Defined in: 2d/src/lib/code/CodeHighlighter.ts:44
Initializes the highlighter.
Returns
boolean
Remarks
This method is called when collecting async resources for the node. It can be called multiple times so caching the initialization is recommended.
If initialization is asynchronous, a promise should be registered using
DependencyContext.collectPromise and the value of false should
be returned. The hook will be called again when the promise resolves.
This process can be repeated until the value of true is returned which
will mark the highlighter as ready.
prepare()
prepare(
code):T
Defined in: 2d/src/lib/code/CodeHighlighter.ts:58
Prepares the code for highlighting.
Parameters
code
string
The code to prepare.
Returns
T
Remarks
This method is called each time the code changes. It can be used to do any preprocessing of the code before highlighting. The result of this method is cached and passed to highlight when the code is highlighted.
tokenize()
tokenize(
code):string[]
Defined in: 2d/src/lib/code/CodeHighlighter.ts:74
Tokenize the code.
Parameters
code
string
The code to tokenize.
Returns
string[]