Modifiers
Inline flags for one-off command behavior.
Modifiers are flags placed at the start of a line of input which change how
that one command is run, without affecting any other command. They look like
@name or @name=value, and one or more of them can be put before a command,
separated by spaces.
@priv echo this wont be saved to history
@dir=~/Downloads ls
@runner=lua print('hi')
A modifier with no =value is treated as the boolean true. A value of
true or false is converted to an actual boolean, and anything else is
kept as a string.
priv / private#
Runs the command without saving it to history, the same as if
hilbish.opts.history were temporarily disabled for just that command.
@priv curl -H "Authorization: Bearer secret" https://example.com
dir#
Changes the shell's directory to dir only for the duration of the command,
then restores the previous directory afterward. If the directory doesn't
exist or can't be entered, an error is printed and the command is not run.
@dir=~/Projects/Hilbish git status
runner#
Runs the command with a specific runner mode instead of the one currently set, just for that command.
@runner=lua print('hello from Lua')
alias#
Setting this to false skips alias resolution, so the command runs exactly
as typed even if it matches a defined alias. The absence of this modifier
is treated as true.
@alias=false ss