aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client (unfollow)
Commit message (Collapse)Author
2025-10-21chore(release): prepare for release 18.10.0 (#2962)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-21Revert "feat: more accurately filter secret tokens" (#2961)Ellie Huxtable
Reverts atuinsh/atuin#2932 Resolves #2960
2025-10-20feat: Interactive Inspector (#2319)P T Weir
### What does this PR do? Adds simple navigation to the inspector, to explore a session starting from a single command. This creates a new user flow, where a user can find a history entry in the interactive view (in, say, Global mode), and hit Ctrl+o to navigate back and forward through that command's session. IMAGINED USE-CASE: I remembered that I did a sequence of git steps but I can't remember the order and forgot to document it. I remember that `reflog` was involved and want to see the actual sequence, and only those commands. IMAGINED USE-CASE: I used a curl command to get my IP address for greenlisting before I connected to the bastion server `abc.xyz` over SSH - I could easily find the SSH command with abc.xyz, and go back one step in the session, but without this change, scrolling through all my curl commands ever run to find a forgotten URL/domain would be too much work. Since this gives the inspector tab a broader purpose than viewing analytics, it needs to function even when there are not enough screen rows for charts -- hence, this PR also introduces an ultracompact mode for the inspector that _just_ shows the neighbouring history commands (as simple scrolling three-entry list, with no panes) if there are fewer than `auto_hide_height` rows (default: 8). Otherwise, the inspector behaves as normal, except that Up / Down will change the focused command by navigating through the session. That means there is no "compact" mode for the inspector - when the interactive search is compact (but not ultracompact), the inspector shows its usual chart view. The UX for this could be improved - to keep this PR as lean as it realistically can be, I have tried to keep the flow very minimal, but a follow-up PR could introduce some tooltips, nicer ultracompact formatting, etc. A minor QoL improvement that comes with this - since I had to deal with bold text and would otherwise have need a theming exception, I took the opportunity to ensure the theme engine sets styles completely (so a theme can have bold), not just colours. To limit scope creep, I do not add TOML syntax so (for now) you can only customize colours from config files, but it means that default-bold text (etc.) can now use the theming engine if the code-defined default Meaning is bolded. Key changes: * introduces a simplified inspector tab, with only previous-current-next commands as rows, in compact mode * allows navigation through session history within the inspector (so compact inspector view is still useful) It also (see comments below): * makes `compact` into `compactness`, an enum (to better standardize across inspector/interactive) * makes the inspector _only_ change layout for ultracompact mode, which is still compact+(height<8) * clippy's complexity limit wanted draw split up a little, so not sure if this is a reasonable minimal way to do so for now * adds a `(none)` theme to the theming to enable output testing without styling * ~~additional tests, although keen for input on how best to do these~~ one functional test, as a starting point * ~~documentation~~ [minor doc changes only](https://github.com/atuinsh/docs/pull/72), as I am not sure there is much to say <!-- 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 --> _Was stacked on #2357, which is now in `main`_ ## 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-10-20chore: update rusty_paseto and rusty_paserk (#2942)Ben Beasley
<!-- 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-10-20feat: add import from PowerShell history (#2864)Lucas Trzesniewski
This adds an `atuin import powershell` command. Of course, it is related to #2543 but I'm submitting it as a separate PR since the code is self-contained and simple enough, and the feature could be useful on its own. /cc @ajn142 who [requested it](https://github.com/atuinsh/atuin/issues/84#issuecomment-3091692807). ## 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-10-20chore(release): prepare for release 18.9.0 (#2952)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-06feat: add shell pipelines to command chaining (#2938)Lucas Trzesniewski
I wanted to use `command_chaining` to write a pipeline (`cmdA | cmdB`) and was genuinely surprised it didn't work. ## 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-10-02feat: more accurately filter secret tokens (#2932)Keith Cirkel
2025-09-30feat: add various acceptance keys (#2928)Keith Cirkel
This change introduces (optional) acceptance keys of Backspace and Left Arrow, when at the start of a line. These two are common muscle memory actions for users. The configuration defaults to false so as not to disrupt existing user patterns. This also adds a test that exercises the various acceptance modes, which as it turns out was quite easy to do. I discussed this on discord where [Ellie suggested I raised an issue](https://discord.com/channels/954121165239115808/1421180955657244703/1422642337481228400), but I felt like a PR would be more tangiable. I've tested this locally and I'm very happy with how these keys work, it fits my needs well. `exit_past_line_start` and `accept_past_line_start` can technically co-exist. When this happens `accept_past_line_start` takes precedence. Is this okay, or should we reconsider the config? Perhaps `acceptance_keys = []` would be better here? I'm very open to changes here. <!-- 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-09-25feat(stats): add dotnet to default common subcommandsLucas Trzesniewski
2025-09-15fix: clippy warningschitao1234
2025-09-15feat: add session-preload filter mode to include global history from before ↵chitao1234
session start This mode mimics the default behavior for many shells.
2025-09-12feat(tui): add show_numeric_shortcuts config to hide 1-9 shortcuts (#2766)sebbie
- Config option: show_numeric_shortcuts (default: true) - When false, hide 1–9 numeric badges; keep indicator on selected row - Example key added to example config.toml
2025-09-10fix: clippy warnings I don't have on my version of clippyRay Kohler
2025-09-10fix: run `cargo fmt`Ray Kohler
2025-09-10fix: `cargo update` and changes needed to accomodate itRay Kohler
2025-09-10fix: clean up new rustc and clippy warnings on Rust 1.89Ray Kohler
2025-08-23fix: expand path for daemon.socket_path (#2870)Paul Barton
This parses the daemon.socket_path config item to allow it to be set to something like `"${XDG_RUNTIME_DIR}/atuin.sock"`. Fixes https://github.com/atuinsh/atuin/issues/2490. <!-- 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-08-04fix: match logic of theme directory with settings directory, so ↵P T Weir
ATUIN_CONFIG_DIR is respected (#2707)
2025-08-04fix: honor timezone in inspector stats (#2853)Ray Kohler
* fix: honor timezone in inspector stats fixes: #2567 * docs: fix rustdoc warning about URL markup * fix: pass timezone by value, as suggested by clippy (oops)
2025-08-04fix: clippy issues on Windows (#2856)Lucas Trzesniewski
2025-08-04chore(release): prepare for release 18.8.0 (#2858)Ellie Huxtable
2025-07-23feat: add inline_height_shell_up_key_binding option (#2817)Caio S. Rohwedder
2025-07-22feat: add info for 'official' plugins (#2835)Ellie Huxtable
* feat: add info for 'official' plugins * fix default features
2025-07-22feat: command chaining (#2834)Ellie Huxtable
* feat: command chaining Allow for smart completion of commands ending in && or || * fmt
2025-07-22chore: update to rust 1.88 (#2815)Ellie Huxtable
* chore: update to rust 1.88 * clippy + fmt * update ci version * update flake
2025-07-21Update indicatif to 0.18.0 (#2833)Ben Beasley
2025-07-16chore(release): prepare for release 18.7.1 (#2826)Ellie Huxtable
2025-07-16chore(release): prepare for release 18.7.0 (#2823)Ellie Huxtable
* chore(release): prepare for release 18.7.0 * lockfile
2025-05-21fix(api): Allow trailing slashes in sync_address (#2760)Michelle Tilley
2025-05-14FormattingMichelle Tilley
2025-05-14fix: clarify that HISTFILE, if used, must be exported (#2758)Corey Kosak
2025-05-13chore: Allow setting script DB path (#2750)Michelle Tilley
* chore: Allow setting script DB path * Rename scripts.database_path setting to scripts.db_path to match other crates
2025-05-08chore(release): prepare for release 18.6.1 (#2749)Ellie Huxtable
2025-05-06chore(release): prepare for release 18.6.0 (#2740)Ellie Huxtable
Co-authored-by: Ellie Huxtable <ellie@mac.lan>
2025-05-06feat: Implement KV as a write-through cache (#2732)Michelle Tilley
2025-05-06chore(deps): update minspan to 0.1.5 (#2729)Mark Wotton
* update minspan to 0.1.3 had a correctness bug reported to 0.1.1, should probably update. * Update Cargo.toml * add Cargo.lock changes
2025-04-28chore(release): prepare for release 18.6.0-beta.1 (#2723)Ellie Huxtable
2025-04-21feat(stats): add jj to default common subcommands (#2708)Alex Hamilton
2025-04-17feat: delete duplicate history (#2697)依云
2025-04-08chore(release): prepare for release 18.5.0 (#2685)Ellie Huxtable
* chore(release): prepare for release 18.5.0 * update workflow ubuntu version * revert because dist checks lol
2025-04-07chore(release): prepare for release 18.5.0-beta.3 (#2678)Ellie Huxtable
2025-04-07feat: support storing, syncing and executing scripts (#2644)Ellie Huxtable
* feat: add atuin-scripts crate * initial * define record types * wip * wip * mvp * add show command, make stdin work * rewrite execution to use shebang and script file ALWAYS * rename show -> get, allow fetching script only * fmt * clippy * a bunch of fixes to the edits * update lock * variables * fmt * clippy * pr feedback * fmt
2025-04-02chore(release): prepare for release 18.5.0-beta.2Ellie Huxtable
2025-04-01feat(kv): Add support for 'atuin kv delete' (#2660)Michelle Tilley
2025-03-25fix: typeerror in client sync code (#2647)Ellie Huxtable
* fix: typeerror in client sync code Fixes #2645 This is really weird 1. I have not touched this code in _years_. It has not changed. In recent rust versions, it has a typeerror (see linked issue) 2. This does not occur when running `cargo build`, in release mode or otherwise. It only occurs with `cargo install` 3. I can't find any other occurences of this typeerror online - unsure if it is a compiler regression? The code here is not very complex at all. * chore(clippy): remove unused imports
2025-03-24feat: option to include duplicate commands when printing history commands ↵依云
(#2407)
2025-03-24fixes #1884: HISTFILE can be a directory or a file (#2630)Benjamin Weinstein-Raun
Xonsh history import was failing (in the default xonsh configuration) because $HISTFILE is actually a directory in that case. This change sets up the xonsh import to check for a *directory* instead of a regular file, and makes it clearer that other importers expect a regular file.
2025-03-19chore: migrate to rust 2024 (#2635)Ellie Huxtable
* chore: upgrade to 2024 edition * ugh unsafe * format * nixxxxxxxxxxx why
2025-03-13chore: align daemon and client sync freq (#2628)Ellie Huxtable