diff options
| -rw-r--r-- | crates/atuin/src/shell/atuin.bash | 6 | ||||
| -rw-r--r-- | crates/atuin/src/shell/atuin.fish | 4 | ||||
| -rw-r--r-- | crates/atuin/src/shell/atuin.nu | 4 | ||||
| -rw-r--r-- | crates/atuin/src/shell/atuin.ps1 | 4 | ||||
| -rw-r--r-- | crates/atuin/src/shell/atuin.xsh | 3 | ||||
| -rw-r--r-- | crates/atuin/src/shell/atuin.zsh | 4 |
6 files changed, 18 insertions, 7 deletions
diff --git a/crates/atuin/src/shell/atuin.bash b/crates/atuin/src/shell/atuin.bash index 88b6af3a..18c943e2 100644 --- a/crates/atuin/src/shell/atuin.bash +++ b/crates/atuin/src/shell/atuin.bash @@ -12,9 +12,11 @@ else # (include guard) beginning of main content #------------------------------------------------------------------------------ __atuin_initialized=true -ATUIN_SESSION=$(atuin uuid) +if [[ -z "${ATUIN_SESSION:-}" ]]; then + ATUIN_SESSION=$(atuin uuid) + export ATUIN_SESSION +fi ATUIN_STTY=$(stty -g) -export ATUIN_SESSION ATUIN_HISTORY_ID="" export ATUIN_PREEXEC_BACKEND=$SHLVL:none diff --git a/crates/atuin/src/shell/atuin.fish b/crates/atuin/src/shell/atuin.fish index e333f981..0288e13b 100644 --- a/crates/atuin/src/shell/atuin.fish +++ b/crates/atuin/src/shell/atuin.fish @@ -1,4 +1,6 @@ -set -gx ATUIN_SESSION (atuin uuid) +if not set -q ATUIN_SESSION + set -gx ATUIN_SESSION (atuin uuid) +end set --erase ATUIN_HISTORY_ID function _atuin_preexec --on-event fish_preexec diff --git a/crates/atuin/src/shell/atuin.nu b/crates/atuin/src/shell/atuin.nu index 190f3117..150309cb 100644 --- a/crates/atuin/src/shell/atuin.nu +++ b/crates/atuin/src/shell/atuin.nu @@ -8,7 +8,9 @@ use (if not ( (version).minor >= 103 ) { "compat" }) * -$env.ATUIN_SESSION = (random uuid -v 7 | str replace -a "-" "") +if 'ATUIN_SESSION' not-in $env { + $env.ATUIN_SESSION = (random uuid -v 7 | str replace -a "-" "") +} hide-env -i ATUIN_HISTORY_ID # Magic token to make sure we don't record commands run by keybindings diff --git a/crates/atuin/src/shell/atuin.ps1 b/crates/atuin/src/shell/atuin.ps1 index 37753f8a..9215ad34 100644 --- a/crates/atuin/src/shell/atuin.ps1 +++ b/crates/atuin/src/shell/atuin.ps1 @@ -30,7 +30,9 @@ if (!(Get-Module PSReadLine -ErrorAction Ignore)) { } New-Module -Name Atuin -ScriptBlock { - $env:ATUIN_SESSION = atuin uuid + if (-not $env:ATUIN_SESSION) { + $env:ATUIN_SESSION = atuin uuid + } $script:atuinHistoryId = $null $script:previousPSConsoleHostReadLine = $Function:PSConsoleHostReadLine diff --git a/crates/atuin/src/shell/atuin.xsh b/crates/atuin/src/shell/atuin.xsh index 7c1b1f5d..0ea9514e 100644 --- a/crates/atuin/src/shell/atuin.xsh +++ b/crates/atuin/src/shell/atuin.xsh @@ -5,7 +5,8 @@ from prompt_toolkit.filters import Condition from prompt_toolkit.keys import Keys -$ATUIN_SESSION=$(atuin uuid).rstrip('\n') +if "ATUIN_SESSION" not in ${...}: + $ATUIN_SESSION=$(atuin uuid).rstrip('\n') @events.on_precommand def _atuin_precommand(cmd: str): diff --git a/crates/atuin/src/shell/atuin.zsh b/crates/atuin/src/shell/atuin.zsh index 0e7d79e9..562148d9 100644 --- a/crates/atuin/src/shell/atuin.zsh +++ b/crates/atuin/src/shell/atuin.zsh @@ -25,7 +25,9 @@ else ZSH_AUTOSUGGEST_STRATEGY=("atuin") fi -export ATUIN_SESSION=$(atuin uuid) +if [[ -z "${ATUIN_SESSION:-}" ]]; then + export ATUIN_SESSION=$(atuin uuid) +fi ATUIN_HISTORY_ID="" _atuin_preexec() { |
