| Commit message (Collapse) | Author | Age |
| | |
|
| | |
|
| |
|
|
|
|
| |
session start
This mode mimics the default behavior for many shells.
|
| |
|
|
|
|
| |
- 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
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
ATUIN_CONFIG_DIR is respected (#2707)
|
| |
|
|
|
|
|
|
|
| |
* 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)
|
| | |
|
| | |
|
| |
|
|
|
| |
* feat: add info for 'official' plugins
* fix default features
|
| |
|
|
|
|
|
| |
* feat: command chaining
Allow for smart completion of commands ending in && or ||
* fmt
|
| |
|
|
|
|
|
|
|
| |
* chore: update to rust 1.88
* clippy + fmt
* update ci version
* update flake
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
* chore: Allow setting script DB path
* Rename scripts.database_path setting to scripts.db_path to match other crates
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
| |
(#2407)
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
* chore: upgrade to 2024 edition
* ugh unsafe
* format
* nixxxxxxxxxxx why
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| | |
|
| |
|
|
|
|
|
| |
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).
|
| | |
|
| |
|
|
| |
Use `if let` rather than `is_some()` followed by `unwrap()`, and coerce
errors instead of calling `unwrap()` when available.
|
| |
|
|
|
|
|
| |
Update to use AWS env vars as documented, replace duplicated entries
AWS_SECRET_ACCESS_KEY the secret paired to Access Key IDs
AWS_SESSION_TOKEN the secret session token for STS sessions
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* wip
* wip
* final
* fix clippy
* do not hard code the year
* support tz properly, allow specifying the year
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* feat: add always_show_tabs setting
* feat(ultracompact): extra-compact options
* feat(ultracompact): enable via auto_hide_height
* feat(ultracompact): clarify comment
* fix(theming): minor tidyup to theming comment
* chore: rustfmt/clippy corrections
* chore: testing if CI issue was transient
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* test: add env ATUIN_TEST_LOCAL_TIMEOUT to control test timeout of SQLite
This make it possible to control the timeout of SQLite operations in
test. And ATUIN_TEST_LOCAL_TIMEOUT defaults to the default local_timeout,
which is actually used in the client. Instead of a small timeout (0.1),
this change makes the test less likely to fail and better imitate the
default behavior.
SQLite operation timeout was first introduced from #1590, including
connection and store timeout. The env ATUIN_TEST_SQLITE_STORE_TIMEOUT
which added by #1703 only specify the store timeout. This commit doesn't
deprecate ATUIN_TEST_SQLITE_STORE_TIMEOUT, but control it by setting its
default to the new env ATUIN_TEST_LOCAL_TIMEOUT.
* test!: replace ATUIN_TEST_SQLITE_STORE_TIMEOUT with ATUIN_TEST_LOCAL_TIMEOUT
This deprecate ATUIN_TEST_SQLITE_STORE_TIMEOUT for simplicity as the new
env ATUIN_TEST_LOCAL_TIMEOUT can control both connection and store
timeout of SQLite in test. Details see 4d88611.
Revert: #1703.
|
| |
|
|
|
|
|
| |
* fix(theme): restore ratatui colors
* chore: fix up rustfmt
* typo: correct spelling in comment
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix(theme): let the base colour remain unchanged
* fix(theme): split out default
* fix(theme): make base theme 'default' not an empty string
* wip(theme): return styles, not colors
* wip(theme): tidy up module structure a little
* wip(theme): removed unhandled references to foreground_color
* chore: fix cargo fmt
* feat(theme): allow crossterm-deserializable colors
|
| |
|
|
|
|
|
|
| |
* Added "fixed" to preview strategy
Uses max_preview_height as a fixed value to prevent the list from
"jumping".
* Added test for new setting
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* wip: add theme
* feat(theme): basic theming approach
* feat(theme): adds theming support
* fix: split out palette without compact inspector
* fix(theme): tidy up implementation
* fix(theme): correct yaml to toml
* fix(theme): typo in comments
* chore: cheer up clippy
* fix(themes): ensure tests cannot hit real loading directory
* chore: rustfmt
* chore: rebase
* feat(themes): add rgb hexcode support
* fix(theme): add tests
* fix(theme): use builtin log levels and correct debug test
* feat(theme): adds the ability to derive from a non-base theme
* fix(theme): warn if the in-file name of a theme does not match the filename
* chore: tidy for rustfmt and clippy
* chore: tidy for rustfmt and clippy
|
| |
|
| |
I'm now pretty confident in the automatic migration. Let's cut people over so they have a better experience
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* feat(gui): use fancy new side nav
* compact only sidebar, no expand-collapse
* custom drag region, remove titlebar
* add user popup
* wire up login/logout/register, move user button to bottom and add menu
* link help and feedback to forum
|
| | |
|