mirror of
https://github.com/ueberdosis/tiptap.git
synced 2024-11-29 16:48:54 +08:00
refactoring
This commit is contained in:
parent
143e0204a3
commit
65ef42a0b1
@ -1,10 +1,10 @@
|
||||
import CodeBlock, { CodeBlockOptions } from '@tiptap/extension-code-block'
|
||||
import low from 'lowlight/lib/core'
|
||||
import lowlight from 'lowlight/lib/core'
|
||||
import { LowlightPlugin } from './lowlight-plugin'
|
||||
|
||||
export interface CodeBlockLowlightOptions extends CodeBlockOptions {
|
||||
languages: {
|
||||
[key: string]: Function
|
||||
[key: string]: Function,
|
||||
},
|
||||
}
|
||||
|
||||
@ -15,9 +15,11 @@ export const CodeBlockLowlight = CodeBlock.extend<CodeBlockLowlightOptions>({
|
||||
},
|
||||
|
||||
onBeforeCreate() {
|
||||
Object.entries(this.options.languages).forEach(([name, mapping]) => {
|
||||
low.registerLanguage(name, mapping)
|
||||
})
|
||||
Object
|
||||
.entries(this.options.languages)
|
||||
.forEach(([name, mapping]) => {
|
||||
lowlight.registerLanguage(name, mapping)
|
||||
})
|
||||
},
|
||||
|
||||
addProseMirrorPlugins() {
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { Plugin, PluginKey } from 'prosemirror-state'
|
||||
import { Decoration, DecorationSet } from 'prosemirror-view'
|
||||
import { Node as ProsemirrorNode } from 'prosemirror-model'
|
||||
import low from 'lowlight/lib/core'
|
||||
import { findChildren } from '@tiptap/core'
|
||||
import lowlight from 'lowlight/lib/core'
|
||||
|
||||
function parseNodes(nodes: any[], className: string[] = []): { text: string, classes: string[] }[] {
|
||||
return nodes
|
||||
@ -35,10 +35,10 @@ function getDecorations({ doc, name }: { doc: ProsemirrorNode, name: string}) {
|
||||
const { language } = block.node.attrs
|
||||
// TODO: add missing type for `listLanguages`
|
||||
// @ts-ignore
|
||||
const languages = low.listLanguages() as string[]
|
||||
const languages = lowlight.listLanguages() as string[]
|
||||
const nodes = language && languages.includes(language)
|
||||
? low.highlight(language, block.node.textContent).value
|
||||
: low.highlightAuto(block.node.textContent).value
|
||||
? lowlight.highlight(language, block.node.textContent).value
|
||||
: lowlight.highlightAuto(block.node.textContent).value
|
||||
|
||||
parseNodes(nodes).forEach(node => {
|
||||
const to = from + node.text.length
|
||||
|
Loading…
Reference in New Issue
Block a user