From c866cf06de97879c8ef629cb838f8e6b17f65b77 Mon Sep 17 00:00:00 2001 From: Unarray <48868686+Unarray@users.noreply.github.com> Date: Sat, 26 Aug 2023 18:52:41 +0200 Subject: [PATCH] Add new methods to plugin - getEditor - addRibbonIconObject --- src/FileTreeGenerator.ts | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/FileTreeGenerator.ts b/src/FileTreeGenerator.ts index 51ac597..9da37c8 100644 --- a/src/FileTreeGenerator.ts +++ b/src/FileTreeGenerator.ts @@ -1,7 +1,9 @@ import { SettingsTab } from "./SettingsTab"; -import { GenerateTree } from "#/commands"; -import type { App, Command, PluginManifest } from "obsidian"; +import { GenerateTree as GenerateTreeCommand } from "#/commands/generate-tree"; +import type { App, Command, Editor, PluginManifest } from "obsidian"; import { Plugin } from "obsidian"; +import type { RibbonIcon } from "#/ribbon-icons"; +import { GenerateTree as GenerateTreeIcon } from "#/ribbon-icons/generate-tree"; export default class FileTreeGenerator extends Plugin { @@ -23,9 +25,12 @@ export default class FileTreeGenerator extends Plugin { onload = async(): Promise => { this.addCommands( - new GenerateTree() + new GenerateTreeCommand() ); + this.addRibbonIconObject(new GenerateTreeIcon()); + + const settingsTab = new SettingsTab(this); await settingsTab.loadSettings(); @@ -38,4 +43,14 @@ export default class FileTreeGenerator extends Plugin { } }; + public addRibbonIconObject = (ribbonIcon: RibbonIcon): HTMLElement => { + return this.addRibbonIcon(ribbonIcon.icon, ribbonIcon.title, ribbonIcon.execute); + }; + + public getEditor = (): Editor | null => { + const editor = this.app.workspace.activeEditor?.editor; + + return editor ? editor : null; + }; + } \ No newline at end of file