在出现错误时使用最后一条命令填充命令行缓冲区
Populate command line buffer with last command in case of error
我正在尝试实现一种方法来在 Fish 出现错误时放回之前的命令。但是,以下始终会导致命令行为空。
function __process_last_cmd -e fish_postexec
set -lx error $status
set -lx cmd (commandline)
if test $error -ne 0
commandline $cmd
end
# history delete -C --exact $cmd
end
(还有一个辅助操作,其中命令从历史记录中删除,我已将其留在代码中以防相关。)
记录了 fish_postexec
事件以向函数提供命令行作为第一个参数,因此请使用
set -l cmd $argv[1]
我正在尝试实现一种方法来在 Fish 出现错误时放回之前的命令。但是,以下始终会导致命令行为空。
function __process_last_cmd -e fish_postexec
set -lx error $status
set -lx cmd (commandline)
if test $error -ne 0
commandline $cmd
end
# history delete -C --exact $cmd
end
(还有一个辅助操作,其中命令从历史记录中删除,我已将其留在代码中以防相关。)
记录了 fish_postexec
事件以向函数提供命令行作为第一个参数,因此请使用
set -l cmd $argv[1]