h-sphere_sql-seal/src/modules/editor/codeblockHandler/SqlSealCodeblockHandler.ts

36 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-01-09 12:32:24 +00:00
import { App, MarkdownPostProcessorContext } from "obsidian"
import { RendererRegistry } from "../renderer/rendererRegistry"
import { CodeblockProcessor } from "./CodeblockProcessor"
import { SqlSealDatabase } from "../../database/database"
import { Sync } from "../../sync/sync/sync"
import { Settings } from "../../settings/Settings"
import { ModernCellParser } from "../../syntaxHighlight/cellParser/ModernCellParser"
2025-01-09 12:32:24 +00:00
export class SqlSealCodeblockHandler {
constructor(
private readonly app: App,
private readonly db: SqlSealDatabase,
private readonly cellParser: ModernCellParser,
2025-01-09 12:32:24 +00:00
private sync: Sync,
private rendererRegistry: RendererRegistry,
private settings: Settings
2025-01-09 12:32:24 +00:00
) {
}
getHandler() {
return async (source: string, el: HTMLElement, ctx: MarkdownPostProcessorContext) => {
const processor = new CodeblockProcessor(
el,
source,
ctx,
this.rendererRegistry,
this.db,
this.cellParser,
this.settings,
2025-01-09 12:32:24 +00:00
this.app,
this.sync
)
ctx.addChild(processor)
}
}
}