mirror of
https://github.com/facebook/lexical.git
synced 2025-05-21 00:57:23 +08:00
Node fork modules & moduleResolution bundler (#5774)
This commit is contained in:
@ -6,59 +6,43 @@
|
||||
*
|
||||
*/
|
||||
|
||||
// eslint-disable-next-line simple-import-sort/imports
|
||||
import type {
|
||||
BaseSelection,
|
||||
LexicalCommand,
|
||||
LexicalEditor,
|
||||
LexicalNode,
|
||||
RangeSelection,
|
||||
LineBreakNode,
|
||||
NodeKey,
|
||||
BaseSelection,
|
||||
RangeSelection,
|
||||
} from 'lexical';
|
||||
|
||||
import * as Prism from 'prismjs';
|
||||
|
||||
import 'prismjs/components/prism-clike';
|
||||
import 'prismjs/components/prism-javascript';
|
||||
import 'prismjs/components/prism-markup';
|
||||
import 'prismjs/components/prism-markdown';
|
||||
import 'prismjs/components/prism-c';
|
||||
import 'prismjs/components/prism-css';
|
||||
import 'prismjs/components/prism-objectivec';
|
||||
import 'prismjs/components/prism-sql';
|
||||
import 'prismjs/components/prism-python';
|
||||
import 'prismjs/components/prism-rust';
|
||||
import 'prismjs/components/prism-swift';
|
||||
import 'prismjs/components/prism-typescript';
|
||||
import 'prismjs/components/prism-java';
|
||||
import 'prismjs/components/prism-cpp';
|
||||
|
||||
import {mergeRegister} from '@lexical/utils';
|
||||
import {
|
||||
$createLineBreakNode,
|
||||
$createTabNode,
|
||||
$createTextNode,
|
||||
$getNodeByKey,
|
||||
$getSelection,
|
||||
$insertNodes,
|
||||
$isLineBreakNode,
|
||||
$createTabNode,
|
||||
$isRangeSelection,
|
||||
$isTabNode,
|
||||
$isTextNode,
|
||||
COMMAND_PRIORITY_LOW,
|
||||
INSERT_TAB_COMMAND,
|
||||
INDENT_CONTENT_COMMAND,
|
||||
INSERT_TAB_COMMAND,
|
||||
KEY_ARROW_DOWN_COMMAND,
|
||||
KEY_ARROW_UP_COMMAND,
|
||||
KEY_TAB_COMMAND,
|
||||
MOVE_TO_END,
|
||||
MOVE_TO_START,
|
||||
$insertNodes,
|
||||
OUTDENT_CONTENT_COMMAND,
|
||||
KEY_TAB_COMMAND,
|
||||
TextNode,
|
||||
$isTabNode,
|
||||
TabNode,
|
||||
TextNode,
|
||||
} from 'lexical';
|
||||
import invariant from 'shared/invariant';
|
||||
|
||||
import {Prism, reifyPrismLanguages} from './CodeHighlighterPrism';
|
||||
import {
|
||||
$createCodeHighlightNode,
|
||||
$isCodeHighlightNode,
|
||||
@ -67,9 +51,7 @@ import {
|
||||
getFirstCodeNodeOfLine,
|
||||
getLastCodeNodeOfLine,
|
||||
} from './CodeHighlightNode';
|
||||
|
||||
import {$isCodeNode, CodeNode} from './CodeNode';
|
||||
import invariant from 'shared/invariant';
|
||||
|
||||
type TokenContent = string | Token | (string | Token)[];
|
||||
|
||||
@ -823,6 +805,7 @@ export function registerCodeHighlighting(
|
||||
editor: LexicalEditor,
|
||||
tokenizer?: Tokenizer,
|
||||
): () => void {
|
||||
reifyPrismLanguages();
|
||||
if (!editor.hasNodes([CodeNode, CodeHighlightNode])) {
|
||||
throw new Error(
|
||||
'CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor',
|
||||
|
Reference in New Issue
Block a user