Fix atuin crashing on commands that start with -- (#509)

The use of `--` in the shell scripts prevents clap attempting to parse
the command name as a flag, in the case that it starts with `--`.
This commit is contained in:
Jamie Quigley 2022-08-23 17:26:42 +01:00 committed by GitHub
parent 225c41493e
commit aa556fa088
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 9 deletions

View file

@ -2,7 +2,7 @@ ATUIN_SESSION=$(atuin uuid)
export ATUIN_SESSION
_atuin_preexec() {
local id; id=$(atuin history start "$1")
local id; id=$(atuin history start -- "$1")
export ATUIN_HISTORY_ID="${id}"
}
@ -11,13 +11,13 @@ _atuin_precmd() {
[[ -z "${ATUIN_HISTORY_ID}" ]] && return
(RUST_LOG=error atuin history end "${ATUIN_HISTORY_ID}" --exit "${EXIT}" &) > /dev/null 2>&1
(RUST_LOG=error atuin history end --exit "${EXIT}" -- "${ATUIN_HISTORY_ID}" &) > /dev/null 2>&1
}
__atuin_history ()
{
tput rmkx
HISTORY="$(RUST_LOG=error atuin search -i "${READLINE_LINE}" 3>&1 1>&2 2>&3)"
HISTORY="$(RUST_LOG=error atuin search -i -- "${READLINE_LINE}" 3>&1 1>&2 2>&3)"
tput smkx
READLINE_LINE=${HISTORY}

View file

@ -1,19 +1,19 @@
set -gx ATUIN_SESSION (atuin uuid)
function _atuin_preexec --on-event fish_preexec
set -gx ATUIN_HISTORY_ID (atuin history start "$argv[1]")
set -gx ATUIN_HISTORY_ID (atuin history start -- "$argv[1]")
end
function _atuin_postexec --on-event fish_postexec
set s $status
if test -n "$ATUIN_HISTORY_ID"
RUST_LOG=error atuin history end $ATUIN_HISTORY_ID --exit $s &
RUST_LOG=error atuin history end --exit $s -- $ATUIN_HISTORY_ID &
disown
end
end
function _atuin_search
set h (RUST_LOG=error atuin search -i (commandline -b) 3>&1 1>&2 2>&3)
set h (RUST_LOG=error atuin search -i -- (commandline -b) 3>&1 1>&2 2>&3)
commandline -f repaint
if test -n "$h"
commandline -r $h

View file

@ -13,7 +13,7 @@ export ATUIN_SESSION=$(atuin uuid)
export ATUIN_HISTORY="atuin history list"
_atuin_preexec(){
local id; id=$(atuin history start "$1")
local id; id=$(atuin history start -- "$1")
export ATUIN_HISTORY_ID="$id"
}
@ -23,7 +23,7 @@ _atuin_precmd(){
[[ -z "${ATUIN_HISTORY_ID}" ]] && return
(RUST_LOG=error atuin history end $ATUIN_HISTORY_ID --exit $EXIT &) > /dev/null 2>&1
(RUST_LOG=error atuin history end --exit $EXIT -- $ATUIN_HISTORY_ID &) > /dev/null 2>&1
}
_atuin_search(){
@ -34,7 +34,7 @@ _atuin_search(){
echoti rmkx
# swap stderr and stdout, so that the tui stuff works
# TODO: not this
output=$(RUST_LOG=error atuin search -i $BUFFER 3>&1 1>&2 2>&3)
output=$(RUST_LOG=error atuin search -i -- $BUFFER 3>&1 1>&2 2>&3)
echoti smkx
if [[ -n $output ]] ; then