-
Notifications
You must be signed in to change notification settings - Fork 24
Custom Commands
ibrahim dursun edited this page May 1, 2025
·
1 revision
Custom commands can be defined in the custom_commands
section of the configuration:
[custom_commands]
"show diff" = { key = ["U"], args = ["diff", "-r", "$change_id", "--color", "always"], show = "diff" }
"show oplog diff" = { key = ["ctrl+o"], args = ["op", "show", "$operation_id", "--color", "always"], show = "diff" }
"resolve vscode" = { key = ["R"], args = ["resolve", "--tool", "vscode"], show = "interactive" }
"new main" = { args = ["new", "main"] }
"tug" = { key = ["ctrl+t"], args = ["bookmark", "move", "--from", "closest_bookmark($change_id)", "--to", "closest_pushable($change_id)"] }
Custom commands can have placeholder arguments like $change_id
, $operation_id
and $file
.
There is also a show
argument which you can set it to be:
-
none
(default); command will run as is and will only be displayed in the status bar. -
diff
: the output of the command will be displayed in the diff viewer. -
interactive
: the command run in interactive mode similar todiffedit
,split
,commit
etc.
Custom commands menu can be opened by pressing x
key. Each custom command can have a dedicated optional custom key binding which you can use to invoke it without having to open the custom commands menu.
Custom command window is context aware so it won't display the commands that have place holder but not applicable to the selected item.
