refactor: migrate from shiki to shikiji (#2520)
This commit is contained in:
parent
e63473a5f8
commit
74138a9a58
17 changed files with 124 additions and 223 deletions
20
composables/tiptap/shikiji-parser.ts
Normal file
20
composables/tiptap/shikiji-parser.ts
Normal file
|
@ -0,0 +1,20 @@
|
|||
import { type Parser, createParser } from 'prosemirror-highlight/shikiji'
|
||||
import type { BuiltinLanguage } from 'shikiji/langs'
|
||||
|
||||
let parser: Parser | undefined
|
||||
|
||||
export const shikijiParser: Parser = (options) => {
|
||||
const lang = options.language ?? 'text'
|
||||
|
||||
// Register the language if it's not yet registered
|
||||
const highlighter = useHighlighter(lang as BuiltinLanguage)
|
||||
|
||||
// If the language is not loaded, we return an empty set of decorations
|
||||
if (!highlighter)
|
||||
return []
|
||||
|
||||
if (!parser)
|
||||
parser = createParser(highlighter)
|
||||
|
||||
return parser(options)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue