aboutsummaryrefslogtreecommitdiffstats
path: root/crates/turtle/src/shell/atuin.nu (unfollow)
Commit message (Collapse)Author
3 dayschore: Move everything into one big crateBenedikt Peetz
That helps remove duplicated code and rustc/cargo will now also show dead code correctly.
6 daysfeat: Capture command output + expose to new `atuin_output` tool (#3510)Michelle Tilley
2026-03-30fix: replace `e>|` with `|` in nushell integration to restore history ↵Hleb Shauchenka
recording (#3358) <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Summary Fix nushell history recording completely broken since v18.13.0. No commands are recorded because `ATUIN_HISTORY_ID` is always set to an empty string. Closes #3308 ## Root Cause PR #3183 (first included in v18.13.0) changed the `_atuin_pre_execution` hook: ```diff - $env.ATUIN_HISTORY_ID = (atuin history start -- $cmd) + $env.ATUIN_HISTORY_ID = (atuin history start -- $cmd e>| complete | get stdout | str trim) ``` The intent was to silence DB errors (e.g. when disk is full) by using `complete` to swallow failures. However, `e>|` redirects exclusively stderr into the pipe, dropping stdout. `complete` then sees atuin's stdout in the `stderr` field and the `stdout` field is empty. The result is that `ATUIN_HISTORY_ID` is always empty, and no commands are ever recorded. All nushell versions are affected. Not only 0.111.0, as I incorrectly wrote in [the issue](https://github.com/atuinsh/atuin/issues/3308#issuecomment-4113840110). ## Fix Replace `e>|` with `|`. The `| complete | get stdout` pattern still silences errors: `complete` captures stdout, stderr, and exit code into a record, and `get stdout` discards the rest, preserving the error suppression from #3183 without breaking stdout capture. ## Testing Tested with nix shells across three nushell versions (0.98, 0.103, 0.111): **History recording:** | Version | `e>\| complete \| get stdout` | `\| complete \| get stdout` | |---------|-------------------------------|------------------------------| | 0.98 | empty (broken) | valid history ID | | 0.103 | empty (broken) | valid history ID | | 0.111 | empty (broken) | valid history ID | **Error silencing** (verified `| complete | get stdout` on a failing command): | Version | Error shown to user? | stdout field | |---------|---------------------|--------------| | 0.98 | No | empty | | 0.103 | No | empty | | 0.111 | No | empty | ## Checks - [x] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [x] I have checked that there are no existing pull requests for the same thing
2026-03-16fix: Nushell 0.111; future Nushell 0.112 support (#3266)Stuart Carnie
Fix issue introduced by #3249. Nushell 0.112 will introduce the breaking change; not 0.111.
2026-03-10fix: support Nushell 0.111 (#3249)Stuart Carnie
The flag for `job spawn` changed, which prevents the script from compiling on Nushell 0.111+. ## Checks - [x] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [x] I have checked that there are no existing pull requests for the same thing
2026-02-13fix: silent DB failures e.g. when disk is full (#3183)Johannes Naylor
<!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [x] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [x] I have checked that there are no existing pull requests for the same thing Silent DB failures breaking shell when disk is full When storage runs out (i.e. disk full), atuin breaks the shell by continuously printing database errors for every character typed. This is a fix to silence the DB errors
2026-01-27fix: new session on shlvl change (#3111)Ellie Huxtable
eg, the user uses tmux, runs zsh again as a nested session, etc ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
2026-01-27fix: do not set ATUIN_SESSION if it is already set (#3107)Ellie Huxtable
<!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
2025-10-20feat: nu ≥ 0.106.0 support commandline accept (#2957)Stuart Carnie
# Summary Adjust the Nushell script to check the version and enable accept support when Nushell 0.106.0 or greater is found. See: https://github.com/nushell/nushell/pull/16193 <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [x] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [x] I have checked that there are no existing pull requests for the same thing
2025-07-23nushell: fix `get -i` deprecation (#2829)Joaquín Triñanes
Since https://github.com/nushell/nushell/pull/16007, the recommended flag is `--optional`. To avoid compatibility issues, the builtin optional access syntax is used instead, which is backwards-compatible.
2025-06-05fix: `atuin.nu` enchancements (#2778)Tyarel8
2024-04-26perf(nushell): use version.(major|minor|patch) if available (#1963)Poliorcetics
2024-04-18chore: move crates into crates/ dir (#1958)Ellie Huxtable
I'd like to tidy up the root a little, and it's nice to have all the rust crates in one place
2024-04-09feat: prevents stderr from going to the screen (#1933)YummyOreo
2024-04-02fix(nu): Update atuin.nu to resolve 0.92 deprecation (#1913)Wind
2024-03-13fix: pass search query in via env for *Nushell* (#1874)Steven Xu
2024-03-04feat(nu): Return early if history is disabled (#1807)Ian Manske
2024-02-20refactor(nushell): update `commandline` syntax, closes #1733 (#1735)Steven Xu
* refactor(nushell): update `commandline` syntax, closes #1733 * refactor(nushell): add backwards compatibility for *Nushell* v0.90.x
2024-01-08fix(shell): fix incorrect timing of child shells (#1510)Koichi Murase
When a child shell session is started from another shell session (parent session), the environment variable ATUIN_HISTORY_ID set by the parent session causes Atuin's precmd hook of the child session to be unexpectedly performed before the first call of Atuin's preexec hook. In this patch, we clear ATUIN_HISTORY_ID (possibly set by the parent session) on the startup of the session.
2023-10-23fix(nushell): Ignore stderr messages (#1320)Patrick Jackson
2023-10-08clear history id (#1263)Conrad Ludgate
* clear history id * fix nu
2023-09-29handle empty keybindings list for nushell (#1270)Daniel Carosone
fixes #1189 Co-authored-by: Daniel Carosone <dan@geek.com.au>
2023-07-31fix: nushell empty hooks (#1138)LeoniePhiline
Co-authored-by: Andrea Jemmett <1787979+acidghost@users.noreply.github.com>
2023-06-30update nushell env update syntax (#1080)JT
2023-04-14Workspace reorder (#868)Vladislav Stepanov
* Try different workspace structure Move main crate (atuin) to be on the same level with other crates in this workspace * extract common dependencies to the workspace definition * fix base64 v0.21 deprecation warning * questionable: update deps & fix chrono deprecations possible panic sites are unchanged, they're just more visible now * Revert "questionable: update deps & fix chrono deprecations" This reverts commit 993e60f8dea81a1625a04285a617959ad09a0866.
2023-04-05update `str substring` usage to use range parameter (#840)WindSoilder
2023-03-28Refactor/nu remove dep on sh (#823)Steven Xu
* fix: join flags with ` ` * refactor: remove dependency on `sh`
2023-03-28fix: record negative exit codes (#821)Steven Xu
2023-03-26fixes (#813)YummyOreo
2023-03-26feat: add *Nushell* support (#788)Steven Xu
* feat: add *Nushell* support * refactor: use `sh` to swap `STDOUT` and `STDERR` instead of using a temporary file * feat: include both keybindings, with the current REPL buffer passed to *Atuin*'s * feat: don't record commands run by keybindings