mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-15 22:44:01 +00:00
__fish_prepend_sudo: First insert history and then *toggle*
Previously this would only ever insert sudo if it took a commandline from history, not remove it. So you would end up with sudo sudo apt install
This commit is contained in:
parent
3255999794
commit
fb7c8c4064
1 changed files with 8 additions and 3 deletions
|
@ -1,9 +1,14 @@
|
|||
function __fish_prepend_sudo -d "Prepend 'sudo ' to the beginning of the current commandline"
|
||||
# If there is no commandline, insert the last item from history
|
||||
# and *then* toggle
|
||||
if not commandline | string length -q
|
||||
commandline -r "$history[1]"
|
||||
end
|
||||
|
||||
set -l cmd (commandline -po)
|
||||
set -l cursor (commandline -C)
|
||||
if test -z "$cmd"
|
||||
commandline -r "sudo $history[1]"
|
||||
else if test "$cmd[1]" != sudo
|
||||
|
||||
if test "$cmd[1]" != sudo
|
||||
commandline -C 0
|
||||
commandline -i "sudo "
|
||||
commandline -C (math $cursor + 5)
|
||||
|
|
Loading…
Reference in a new issue