Skip to content

Command

Defined in: obsidian.d.ts:727

Properties

callback()?

optional callback: () => any

Defined in: obsidian.d.ts:766

Simple callback, triggered globally.

Returns

any

Example

this.addCommand({
id: 'print-greeting-to-console',
name: 'Print greeting to console',
callback: () => {
console.log('Hey, you!');
},
});

checkCallback()?

optional checkCallback: (checking) => boolean | void

Defined in: obsidian.d.ts:801

Complex callback, overrides the simple callback. Used to ‘check’ whether your command can be performed in the current circumstances. For example, if your command requires the active focused pane to be a MarkdownView, then you should only return true if the condition is satisfied. Returning false or undefined causes the command to be hidden from the command palette.

Parameters

checking

boolean

Whether the command palette is just ‘checking’ if your command should show right now. If checking is true, then this function should not perform any action. If checking is false, then this function should perform the action.

Returns

boolean | void

Whether this command can be executed at the moment.

Example

this.addCommand({
id: 'example-command',
name: 'Example command',
checkCallback: (checking: boolean) => {
const value = getRequiredValue();
if (value) {
if (!checking) {
doCommand(value);
}
return true;
}
return false;
}
});

editorCallback()?

optional editorCallback: (editor, ctx) => any

Defined in: obsidian.d.ts:820

A command callback that is only triggered when the user is in an editor. Overrides callback and checkCallback

Parameters

editor

Editor

ctx

MarkdownView | MarkdownFileInfo

Returns

any

Example

this.addCommand({
id: 'example-command',
name: 'Example command',
editorCallback: (editor: Editor, view: MarkdownView) => {
const sel = editor.getSelection();
console.log(`You have selected: ${sel}`);
}
});

editorCheckCallback()?

optional editorCheckCallback: (checking, editor, ctx) => boolean | void

Defined in: obsidian.d.ts:846

A command callback that is only triggered when the user is in an editor. Overrides editorCallback, callback and checkCallback

Parameters

checking

boolean

editor

Editor

ctx

MarkdownView | MarkdownFileInfo

Returns

boolean | void

Example

this.addCommand({
id: 'example-command',
name: 'Example command',
editorCheckCallback: (checking: boolean, editor: Editor, view: MarkdownView) => {
const value = getRequiredValue();
if (value) {
if (!checking) {
doCommand(value);
}
return true;
}
return false;
}
});

hotkeys?

optional hotkeys: Hotkey[]

Defined in: obsidian.d.ts:852

Sets the default hotkey. It is recommended for plugins to avoid setting default hotkeys if possible, to avoid conflicting hotkeys with one that’s set by the user, even though customized hotkeys have higher priority.


icon?

optional icon: string

Defined in: obsidian.d.ts:743

Icon ID to be used in the toolbar. See https://docs.obsidian.md/Plugins/User+interface/Icons for available icons and how to add your own.


id

id: string

Defined in: obsidian.d.ts:732

Globally unique ID to identify this command.


mobileOnly?

optional mobileOnly: boolean

Defined in: obsidian.d.ts:745


name

name: string

Defined in: obsidian.d.ts:737

Human friendly name for searching.


repeatable?

optional repeatable: boolean

Defined in: obsidian.d.ts:751

Whether holding the hotkey should repeatedly trigger this command.

Default Value

false
@public