diff --git a/src/commands.ts b/src/commands.ts index 2cb90db..2ad0ea8 100644 --- a/src/commands.ts +++ b/src/commands.ts @@ -1,10 +1,15 @@ -import { Plugin } from "obsidian"; +import { Plugin, MarkdownView } from "obsidian"; import { transformText, cleanText, bulletToEmdash, bulletToArrow, numberedListSlash, numberedListParens, markdownToLinkedIn, FormatStyle } from "./formatter"; +function editorCheck(plugin: Plugin) { + return (_checking: boolean) => plugin.app.workspace.getActiveViewOfType(MarkdownView) !== null; +} + function addFormatCommand(plugin: Plugin, style: FormatStyle, name: string) { plugin.addCommand({ id: `unicode-formatter:${style}`, name, + editorCheckCallback: editorCheck(plugin), editorCallback: (editor) => { const selection = editor.getSelection(); if (selection) { @@ -21,6 +26,7 @@ export function registerCommands(plugin: Plugin): void { plugin.addCommand({ id: "unicode-formatter:clean", name: "Remove Unicode Formatting", + editorCheckCallback: editorCheck(plugin), editorCallback: (editor) => { const selection = editor.getSelection(); if (selection) { @@ -31,6 +37,7 @@ export function registerCommands(plugin: Plugin): void { plugin.addCommand({ id: "unicode-formatter:bullet-to-arrow", name: "Convert List Bullets to Arrow", + editorCheckCallback: editorCheck(plugin), editorCallback: (editor) => { const selection = editor.getSelection(); if (selection) { @@ -41,6 +48,7 @@ export function registerCommands(plugin: Plugin): void { plugin.addCommand({ id: "unicode-formatter:bullet-to-emdash", name: "Convert List Bullets to Em Dash", + editorCheckCallback: editorCheck(plugin), editorCallback: (editor) => { const selection = editor.getSelection(); if (selection) { @@ -51,6 +59,7 @@ export function registerCommands(plugin: Plugin): void { plugin.addCommand({ id: "unicode-formatter:numbered-list-slash", name: "Convert List to Numbered (Slash)", + editorCheckCallback: editorCheck(plugin), editorCallback: (editor) => { const selection = editor.getSelection(); if (selection) { @@ -61,6 +70,7 @@ export function registerCommands(plugin: Plugin): void { plugin.addCommand({ id: "unicode-formatter:numbered-list-parens", name: "Convert List to Numbered (Parentheses)", + editorCheckCallback: editorCheck(plugin), editorCallback: (editor) => { const selection = editor.getSelection(); if (selection) { @@ -71,6 +81,7 @@ export function registerCommands(plugin: Plugin): void { plugin.addCommand({ id: "unicode-formatter:markdown-to-linkedin", name: "Convert Markdown to Post Format", + editorCheckCallback: editorCheck(plugin), editorCallback: (editor) => { const selection = editor.getSelection(); if (selection) { diff --git a/src/main.ts b/src/main.ts index 5aa22f8..5625545 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,7 +5,4 @@ export default class UnicodeFormatterPlugin extends Plugin { async onload() { registerCommands(this); } - - onunload() { - } }