Add editorCheckCallback to all commands and remove empty onunload
- Add editorCheckCallback to hide commands when no Markdown editor is active - Remove no-op onunload override (base Plugin class provides default)
This commit is contained in:
+12
-1
@@ -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) {
|
||||
|
||||
@@ -5,7 +5,4 @@ export default class UnicodeFormatterPlugin extends Plugin {
|
||||
async onload() {
|
||||
registerCommands(this);
|
||||
}
|
||||
|
||||
onunload() {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user