🗑️ remove(fish): forgot to remove this file as well
This commit is contained in:
parent
34b31ebcb5
commit
3425f6abef
1 changed files with 0 additions and 54 deletions
|
@ -1,54 +0,0 @@
|
|||
function sudope -d "Quickly toggle sudo prefix"
|
||||
|
||||
# Save the current command line and cursor position.
|
||||
set -l command_buffer (commandline)
|
||||
set -l cursor_position (commandline -C)
|
||||
|
||||
# If the command line is empty, pull the last command from history.
|
||||
if test -z "$command_buffer"
|
||||
set command_buffer $history[1]
|
||||
end
|
||||
|
||||
# Parse the command line (first line only).
|
||||
set -l command_parts (string match -ir '^(\s*)(sudo(\s+|$))?(.*)' $command_buffer[1])
|
||||
|
||||
# Handle multiline commands with extra care.
|
||||
set -l command_lines_count (count $command_buffer)
|
||||
test $command_lines_count -gt 1
|
||||
and set -l command_rest $command_buffer[2..$command_lines_count]
|
||||
|
||||
switch (count $command_parts)
|
||||
case 3
|
||||
# No "sudo".
|
||||
|
||||
# Add "sudo" to the beginning of the command, after any leading whitespace (if present).
|
||||
commandline -r (string join \n (string join '' $command_parts[2] 'sudo ' $command_parts[3]) $command_rest)
|
||||
|
||||
# Push the cursor position ahead if necessary (+5 for 'sudo ').
|
||||
test $cursor_position -ge (string length -- "$command_parts[2]")
|
||||
and set cursor_position (math $cursor_position+5)
|
||||
|
||||
# Place the cursor where it was (or where it should be).
|
||||
commandline -C $cursor_position
|
||||
|
||||
case 5
|
||||
# "sudo" is present in the beginning of the command.
|
||||
|
||||
# Remove "sudo", leave any leading whitespace (if present).
|
||||
commandline -r (string join \n (string join '' $command_parts[2 5]) $command_rest)
|
||||
|
||||
# Push the cursor position back if appropriate ('sudo' and whitespace).
|
||||
set -l lead_length (string length -- "$command_parts[2]")
|
||||
set -l sudo_length (string length -- "$command_parts[3]")
|
||||
if test $cursor_position -ge (math $lead_length+$sudo_length)
|
||||
# The cursor was after "sudo".
|
||||
set cursor_position (math $cursor_position-$sudo_length)
|
||||
else if test $cursor_position -ge $lead_length
|
||||
# The cursor was somewhere on "sudo".
|
||||
set cursor_position $lead_length
|
||||
end
|
||||
|
||||
# Place the cursor where it was (or where it should be).
|
||||
commandline -C -- $cursor_position
|
||||
end
|
||||
end
|
Loading…
Add table
Reference in a new issue