refactoring

This commit is contained in:
Philipp Kühn 2021-04-04 23:44:57 +02:00
parent 143e0204a3
commit 65ef42a0b1
2 changed files with 11 additions and 9 deletions

View File

@ -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() {

View File

@ -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