* Ignore leading environment variables when calculating stats
* There's always an extra println
* Make clippy happy
* We don't actually need the tokens
* 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
* feat(zsh): re-enable bracketed paste
atuin will reset it so after exiting atuin without executing a command,
bracketed paste mode is disabled until a command is executed. This
breaks e.g. the bracketed-paste-url-magic widget.
This change will re-enable it if it's enabled; when it's disabled or
unavailable, $zle_bracketed_paste[1] will be empty string.
* silent shellcheck
Modify paths specified in atuin-daemon build.rs to make tonic-build
print the correct cargo:rerun-if-changed instructions.
Fixes atuin-daemon being rebuilt unconditionally, even if .proto files
are unchanged.
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.
* fix: support fish plugin in install script
* fix sed command on Linux for fish plugin install
* light touch refactor for consistent and clearer cross-platform support
* start the final end at the beginning of the line
* ignore leading whitespace in fish config
Check atuin setting paths (eg. `db_path`) for broken symlinks on
initialization and disable all shell hooks + print error message.
sqlite doesn't create db files even with `.create_if_missing` when the
db files are a broken symlink. This would cause sqlite to error and
atuin to panic on every single keypress.
Also improves related error handling when calling atuin client commands
directly.
* feat: make new arrow key behavior configurable
The arrow key behavior in interactive search was changed in #2453,
make it configurable via keys.exit_past_line_start and
keys.accept_past_line_end
* Update crates/atuin-client/config.toml
* Update crates/atuin-client/config.toml
* Update crates/atuin-client/config.toml
* I've made so many typos with these, sorry
---------
Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
* chore: update rust toolchain to 1.85
* nix things
* make clippy happy
I've replaced a bunch of &Option<String> with Option<String>.
They were not in hot loops, so a single clone is really no big deal +
keeps things simpler.
* fmt
* fix: sql files checksums
Checking out on Windows may cause *.sql files to have CRLF line endings, which will change their checksums and cause migration errors.
https://github.com/launchbadge/sqlx/issues/2659
* fix: ensure shell scripts use lf
Improves the performance of `History::should_save` by constructing the
`SECRET_PATTERNS` `RegexSet` only once with a `LazyLock`.
This speeds up `atuin history prune` by ~100x (~7s to ~70ms on my
machine) (lol).
If the result set is empty and thus the TUI does not show any entries,
a panic occurs when a user invokes 'delete' via Prefix Ctrl-D or Ctrl-D
in the inspector..
This mirrors the addition to `history` from #1274, but with search too.
Ther are history search implementations for shells that are set to
search instead of running the history command.
These dependencies are unused in actual code, and the test I've removed
is a remnant from a move to use an external library -- it was useful to
show that the mechanical transformation was correct, but it's only
testing that library nowadays.