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
23 lines
No EOL
819 B
TypeScript
23 lines
No EOL
819 B
TypeScript
import { makeInjector } from "@hypersphere/dity"
|
|
import { SyntaxHighlightModule } from "./module"
|
|
import { EditorView, ViewPlugin } from "@codemirror/view";
|
|
import { App, Plugin } from "obsidian";
|
|
import { RendererRegistry } from "../editor/renderer/rendererRegistry";
|
|
import { SQLSealViewPlugin } from "./editorExtension/syntaxHighlight";
|
|
|
|
@(makeInjector<SyntaxHighlightModule, 'factory'>()([
|
|
'app', 'rendererRegistry', 'plugin'
|
|
]))
|
|
export class SyntaxHighlightInit {
|
|
make(app: App, rendererRegistry: RendererRegistry, plugin: Plugin) {
|
|
return () => {
|
|
// FIXME: settings here.
|
|
plugin.registerEditorExtension([
|
|
ViewPlugin.define(
|
|
(view: EditorView) => new SQLSealViewPlugin(view, app, rendererRegistry),
|
|
{ decorations: v => v.decorations }
|
|
)
|
|
]);
|
|
}
|
|
}
|
|
} |