diff options
| author | Lucas Trzesniewski <lucas.trzesniewski@gmail.com> | 2025-09-17 20:57:30 +0200 |
|---|---|---|
| committer | Ellie Huxtable <ellie@elliehuxtable.com> | 2025-09-18 12:02:08 -0700 |
| commit | 0eb84a65619cf744a69780df1e51546a24c95903 (patch) | |
| tree | 28a0da6018053cb246d52602077ec50c6ec45739 /crates | |
| parent | fix: dissociate command_chaining from enter_accept (diff) | |
| download | atuin-0eb84a65619cf744a69780df1e51546a24c95903.zip | |
fix: remove __atuin_chain_command__ prefix
The command chaining feature can be implemented without the prefix.
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/atuin/src/command/client/search/interactive.rs | 4 | ||||
| -rw-r--r-- | crates/atuin/src/shell/atuin.bash | 4 | ||||
| -rw-r--r-- | crates/atuin/src/shell/atuin.fish | 4 | ||||
| -rw-r--r-- | crates/atuin/src/shell/atuin.zsh | 5 |
4 files changed, 2 insertions, 15 deletions
diff --git a/crates/atuin/src/command/client/search/interactive.rs b/crates/atuin/src/command/client/search/interactive.rs index 1639c10c..eee8db29 100644 --- a/crates/atuin/src/command/client/search/interactive.rs +++ b/crates/atuin/src/command/client/search/interactive.rs @@ -1270,8 +1270,8 @@ pub async fn history( InputAction::Accept(index) if index < results.len() => { let mut command = results.swap_remove(index).command; - if is_command_chaining && (utils::is_zsh() || utils::is_fish() || utils::is_bash()) { - command = String::from("__atuin_chain_command__:") + &command; + if is_command_chaining { + command = format!("{} {}", original_query.trim_end(), command); } else if accept && (utils::is_zsh() || utils::is_fish() || utils::is_bash() || utils::is_xonsh()) { diff --git a/crates/atuin/src/shell/atuin.bash b/crates/atuin/src/shell/atuin.bash index eeb24e39..cd5a8eff 100644 --- a/crates/atuin/src/shell/atuin.bash +++ b/crates/atuin/src/shell/atuin.bash @@ -271,10 +271,6 @@ __atuin_history() { READLINE_LINE="" READLINE_POINT=${#READLINE_LINE} - elif [[ $__atuin_output == __atuin_chain_command__:* ]]; then - local new_command=${__atuin_output#__atuin_chain_command__:} - READLINE_LINE="$READLINE_LINE $new_command" - READLINE_POINT=${#READLINE_LINE} else READLINE_LINE=$__atuin_output READLINE_POINT=${#READLINE_LINE} diff --git a/crates/atuin/src/shell/atuin.fish b/crates/atuin/src/shell/atuin.fish index 7e73ad0c..6ef1e2d2 100644 --- a/crates/atuin/src/shell/atuin.fish +++ b/crates/atuin/src/shell/atuin.fish @@ -44,10 +44,6 @@ function _atuin_search commandline -f repaint commandline -f execute return - else if string match --quiet '__atuin_chain_command__:*' "$ATUIN_H" - set -l new_command (string replace "__atuin_chain_command__:" "" -- "$ATUIN_H" | string collect) - set -l current_command (commandline -b) - commandline -r "$current_command $new_command" else commandline -r "$ATUIN_H" end diff --git a/crates/atuin/src/shell/atuin.zsh b/crates/atuin/src/shell/atuin.zsh index 9475b339..f26c3fab 100644 --- a/crates/atuin/src/shell/atuin.zsh +++ b/crates/atuin/src/shell/atuin.zsh @@ -65,7 +65,6 @@ _atuin_search() { echo -n ${zle_bracketed_paste[1]} >/dev/tty if [[ -n $output ]]; then - local original_buffer=$BUFFER RBUFFER="" LBUFFER=$output @@ -73,10 +72,6 @@ _atuin_search() { then LBUFFER=${LBUFFER#__atuin_accept__:} zle accept-line - elif [[ $LBUFFER == __atuin_chain_command__:* ]] - then - local new_command=${LBUFFER#__atuin_chain_command__:} - LBUFFER="$original_buffer $new_command" fi fi } |
