krobelus on riir
builtin: correctly flush stream… builtin: propagate status from … Port echo builtin to Rust (compare)
kill (jobs -p)
does the job
What about to introduce any environment variable to control what completions are allowed to do and what not? For instance when this variable ($fish_disable_smart_complete
or another name) is not set nothing changes (for backward compatibility) and otherwise:
--condition
complete option is not allowed because potentially it can run for a long time--arguments
for the same reasonWhat do you think about it?
eval $cmd &; echo $last_pid
but this really, really does not seem to want to work...
that wasn't my issue, actually I figured it out: the command I was trying to run was all in one string, I needed to string split
it an additional time.
Unfortumately this didn't solve what seems to be a much deeper problem of Xorg
absolutely not wanting to do what I'm trying to do here lol
having to use the
set cmd (echo original command here)
$cmd &
pattern is a little awkward, but it works
$ string replace -r '(\w+)\s+(\w+)' '$2 $1 $$' 'left right'
right left $
$ string replace -r '(\w+)\s+(\w+)' '\$2 \$1 $$' 'left right'
right left $
string replace
has a superfluous round of unescaping in the replacement part so you'll have to double up the slashes one more time. There's no great way of fixing it so we've introduced a feature flag until we figure out how to detect it and warn about it.
$
into "expand this" and \$
into $
. If it does too much unescaping that means you need more escaping. I do not believe this subtlety helps any in the explanation, so we've left it as "escaping".
If you also want the output, you can still use the set
:
if set x (tmux ls | grep foo)
set
doesn't set the status itself and simply passes on whatever the command substitution returned.