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:
Operator | Symbol | Example |
---|---|---|
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
iconName?
optional
iconName:string
Icon to be used on toolbar buttons for example
Defined in
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
name
name:
string
Name of command - must be globally unique
Defined in
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
>