commands
Register globally executable commands that trigger an action on invocation.commands.registerCommand(id, handle[, thisArg, label])
Registers a globally executable command.
- arguments
- id
string - handle
Function - thisArg
any(optional) - label
string(optional)
- id
- returns
IKeyBindingRegister - Usage
Registering a command.
quark.commands.registerCommand('my.awesome.command.id', () => {
console.log('I ran');
});
quark.commands.executeCommand('my.awesome.command.id');
//logs `I ran` to console.
Adding a KeyBinding to the command.
const register = quark.commands.registerCommand('my.awesome.command.id', () => {
console.log('I ran');
});
register.addKeyBinding('ctrl+i');
//Now pressing the key combination "ctrl+i" will invoke the command.
Passing arguments to the command.
quark.commands.registerCommand('my.awesome.command.id', (label) => {
console.log(label);
});
quark.commands.executeCommand('my.awesome.command.id', 'I ran');
//logs `I ran` to console.
Adding command to the commands palette.
The example below shows how to add a command to the commands palette. The only thing you need to do differently is to provide the label argument to the commands.registerCommand function.
quark.commands.registerCommand('my.awesome.command.id', () => {
console.log('I ran');
}, null, 'My Awesome Command');
Now the command should be available in the commands palette like so.

commands.executeCommand(id, [...args])
Executes a registered command.
- arguments
- id
string - ...args
any
- id
- returns
void
commands.getCommand(id)
Returns a registered command with the provided id.
- arguments
- id
string
- id
- returns
ICommand|undefined - Usage
//e.g. Getting a command and then disposing it.
const command = quark.commands.getCommand('my.awesome.command.id');
command.dispose();
//unregisters the command
commands.getAllCommands()
Returns an array of all the registered commands.
- returns
Array<ICommand> - Usage
//e.g. filtering all commands registered in commands palette.
const commands = quark.commands.getAllCommands().map((command) => {
if(command.label) {
return command;
}
});