Skip to content

GlobalCommandHandler

Command handler for global commands invoked from the command palette.

Subclasses override canExecute and execute to provide behavior.

Import:

import { GlobalCommandHandler } from 'obsidian-dev-utils/obsidian/command-handlers/global-command-handler';

Signature:

export class GlobalCommandHandler extends CommandHandler

Extends: CommandHandler

Constructor

new GlobalCommandHandler(params: CommandHandlerConstructorParams)

Creates a new global command handler.

Properties

PropertyTypeDescription
iconIconNameThe icon for the command.
(Inherited from CommandHandler)
idstringThe ID of the command.
(Inherited from CommandHandler)
namestringThe display name of the command.
(Inherited from CommandHandler)

Methods

MethodReturnsDescription
buildCommand()CommandBuilds a plain Obsidian Command object with a checkCallback.
canExecute()booleanChecks whether the command can currently execute.
execute()Promisable<void>Executes the command.
onRegistered(context)Promise<void>Called after the command has been registered with Obsidian. Subclasses use the provided context to register menu event handlers.

Throws when the same instance is registered twice. A handler stores per-registration state — the plugin name here, the active-file provider and the submenu override in AbstractFileCommandHandler, plus whatever a subclass records — and the menu closures registered here read that state lazily, at menu-render time. So a second registration silently rewrites what the first registration's closures will see. CommandHandlerComponent registers a handler set once per menu surface, which is why CommandHandlerFactory must build FRESH instances on every call; this guard turns a factory that hands out shared instances into a loud failure instead of a wrong context menu.
(Inherited from CommandHandler)

Links to this page: