Skip to content

Documentation / joplin-plugin-api / Command

Interface: Command

Properties

enabledCondition?

optional enabledCondition: string

Defines whether the command should be enabled or disabled, which in turns affects the enabled state of any associated button or menu item.

The condition should be expressed as a "when-clause" (as in Visual Studio Code). It's a simple boolean expression that evaluates to true or false. It supports the following operators:

OperatorSymbolExample
Equality=="editorType == markdown"
Inequality!="currentScreen != config"
Or||"noteIsTodo || noteTodoCompleted"
And&&"oneNoteSelected && !inConflictFolder"

Joplin, unlike VSCode, also supports parentheses, which allows creating more complex expressions such as cond1 || (cond2 && cond3). Only one level of parentheses is possible (nested ones aren't supported).

Currently the supported context variables aren't documented, but you can find the list below:

Note: Commands are enabled by default unless you use this property.

Defined in

types.ts:58


iconName?

optional iconName: string

Icon to be used on toolbar buttons for example

Defined in

types.ts:24


label?

optional label: string

Label to be displayed on menu items or keyboard shortcut editor for example. If it is missing, it's assumed it's a private command, to be called programmatically only. In that case the command will not appear in the shortcut editor or command panel, and logically should not be used as a menu item.

Defined in

types.ts:19


name

name: string

Name of command - must be globally unique

Defined in

types.ts:11

Methods

execute()

execute(...args): Promise<any>

Code to be ran when the command is executed. It may return a result.

Parameters

• ...args: any[]

Returns

Promise<any>

Defined in

types.ts:29

Released under the MIT License.