mirror of
https://github.com/h-sphere/sql-seal.git
synced 2026-07-22 10:10:28 +00:00
* chore: reworking plugin internals into modules * feat: settings module is now working, added debug module, enabled new api module * chore: restoring external API * feat: refactoring project to use proper inversion of control * feat: plugins can now be loaded in any order * chore: final file migration, all typescript is in modules now * chore: fixing dependencies of cellParser * feat: csv and json views are only registered when they are not colliding with other plugins * feat: fixed library behaviour on canvas
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import { asClass, asFactory, buildContainer } from "@hypersphere/dity"
|
|
import { App, Plugin } from "obsidian"
|
|
import { SqlSealDatabase } from "../database/database"
|
|
import { Sync } from "../sync/sync/sync"
|
|
import { RendererRegistry } from "./renderer/rendererRegistry"
|
|
import { EditorInit } from "./init"
|
|
import { SqlSealCodeblockHandler } from "./codeblockHandler/SqlSealCodeblockHandler"
|
|
import { SqlSealInlineHandler } from "./codeblockHandler/inline/InlineCodeHandler"
|
|
import { Settings } from "../settings/Settings"
|
|
import { ModernCellParser } from "../syntaxHighlight/cellParser/ModernCellParser"
|
|
|
|
export const editor = buildContainer(c => c
|
|
.register({
|
|
blockHandler: asClass(SqlSealCodeblockHandler),
|
|
inlineHandler: asClass(SqlSealInlineHandler),
|
|
rendererRegistry: asClass(RendererRegistry),
|
|
init: asFactory(EditorInit)
|
|
})
|
|
.externals<{
|
|
app: App,
|
|
db: SqlSealDatabase,
|
|
plugin: Plugin,
|
|
sync: Sync,
|
|
cellParser: ModernCellParser,
|
|
settings: Settings
|
|
}>()
|
|
.exports('rendererRegistry', 'init')
|
|
)
|
|
|
|
export type EditorModule = typeof editor
|