aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* fix: missing characters in preview (#1803)Helmut K. C. Tessarek2024-03-01
|
* feat: add checks for common setup issues (#1799)Ellie Huxtable2024-02-29
| | | | | | | | | * feat: add checks for common setup issues * colors * spacing * clippy
* feat: add atuin doctor (#1796)Ellie Huxtable2024-02-29
| | | | | | | | | | | | | | | | | | | | | * feat add atuin doctor * registered -> logged_in * not logged in, no sync info * add plugin detection * add a hack * clippy * add filesystem detection * add title * hmm * need interactive shell
* feat(nushell): add nushell completion generation (#1791)Remmy Cat Stock2024-02-29
|
* fix(nushell): readd up-arrow keybinding, now with menu handling (#1770)Remmy Cat Stock2024-02-28
|
* chore(deps): bump env_logger from 0.10.2 to 0.11.2 (#1781)dependabot[bot]2024-02-28
| | | | | | | | | | | | | | | | Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.10.2 to 0.11.2. - [Release notes](https://github.com/rust-cli/env_logger/releases) - [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-cli/env_logger/compare/v0.10.2...v0.11.2) --- updated-dependencies: - dependency-name: env_logger dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: add `CTRL+[` binding as `<Esc>` alias (#1787)Zhanibek Adilbekov2024-02-28
| | | | | | | | | in Vim/Neovim there is alias for `<Esc>` mapping -- `<C-[>`. it is useful if your `<Esc>` key is hard to hit on your keyboard. for reference: https://vimhelp.org/insert.txt.html#i_CTRL-%5B https://neovim.io/doc/user/insert.html#i_CTRL-%5B
* feat(stats): add linux sysadmin commands to common_subcommands (#1784)Helmut K. C. Tessarek2024-02-27
| | | | | | | | | | * feat(stats): add linux sysadmin commands to common_subcommands I've been using atuin on my Linux box for some time now and I have noticed that a few commands that are used rather often are not in the list of common_subcommands. This change adds these commands to the list. * feat(stats): I forgot 'apt'
* feat(stats): Normalize formatting of default config, suggest nix (#1764)Sandro2024-02-26
| | | | | | | | | | * Normalize formatting This makes the commented bits unifed and makes lists multiline and always adds the trailing comma. * Add nix to default config Since we are big fans of it ;)
* chore(deps): `cargo update` (#1777)Ellie Huxtable2024-02-26
|
* chore(deps): flake.lock: Update (#1780)github-actions[bot]2024-02-26
| | | | | | | | | | | | | | | Flake lock file updates: • Updated input 'flake-compat': 'github:edolstra/flake-compat/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9' (2023-01-17) → 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04) • Updated input 'flake-utils': 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11) → 'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/db8672b8d0a2593c2405aed0c1dfa64b2a2f428f' (2023-07-27) → 'github:NixOS/nixpkgs/2a34566b67bef34c551f204063faeecc444ae9da' (2024-02-25) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat(nix): add update action (#1779)Patrick Jackson2024-02-26
|
* chore(deps): bump debian (#1734)dependabot[bot]2024-02-26
| | | | | | | | | | | | Bumps debian from bullseye-20240130-slim to bullseye-20240211-slim. --- updated-dependencies: - dependency-name: debian dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(stats): Enable multiple command stats to be shown using ↵Eric Hodel2024-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | unicode_segmentation (#1739) * Enable multiple command stats to be shown Add improved pipe splitting Clean up split logic Remove unnecessary lifetime annotations Add per-column command padding * Add failing test case * Update #1054 to use unicode_segmentation This addresses feedback in PR #1054 Closes #1054 * Address cargo clippy, fmt --------- Co-authored-by: Sorenson Stallings <contact@sorenson.dev> Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
* feat: Add '/', '?', and 'I' bindings to vim-normal mode (#1760)Mike Pastore2024-02-26
| | | | | | | | | | | | Add 'I' binding to vim-normal mode (a la 'A' introduced in #1697) to jump into vim-insert mode at the beginning of the search input. Also add '/' and '?' bindings to vim-normal mode to clear the search input and jump into vim-insert mode. This mimics the UX in e.g. `set -o vi` (bash) or `bindkey -v` (zsh) mode when you are using 'k' and 'j' to browse history lines and can type '/' or '?' to start a new search. (In a perfect world it would target the search in the forward or backward range starting at your current position in the history, but this is a reasonable first step.)
* feat: Add PHP package manager "composer" to list of default common ↵Korvin Szanto2024-02-26
| | | | | | | subcommands (#1757) * Add PHP package manager "composer" to list of default common subcommands * Run cargo fmt and sort entries
* fix(client): no panic on empty inspector (#1768)Helmut K. C. Tessarek2024-02-26
| | | | | | | | | | | | | | | | * fix(client): no panic on empty inspector * fix: clippy warning Although I am not that happy with this clippy rule. I am old school and we learned to put the most likely path first. Back then compiler optimizations were not too great and cache prediction was better handled this way. * Update atuin/src/command/client/search/interactive.rs --------- Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
* chore(release): prepare for release v18.0.2 (#1775)Ellie Huxtable2024-02-26
|
* fix: ensure sync time is saved for sync v2 (#1758)Ellie Huxtable2024-02-22
|
* fix: check session file exists for status command (#1756)Ellie Huxtable2024-02-22
|
* refactor(alias): Clarify operation result for working with aliases (#1748)David Chocholatý2024-02-21
|
* feat: add alias feedback and list command (#1747)Ellie Huxtable2024-02-21
|
* fix(import/zsh-histdb): missing or wrong fields (#1740)Aloxaf2024-02-21
| | | | | | | | | * fix(import/zsh-histdb): import exit_status and session * fix(import/zsh-histdb): avoid session id conflict * fix(import/zsh-histdb): follow the format conventions of session and hostname * fix(import/zsh-histdb): duration unit is nanosecond
* feat: add history prune subcommand (#1743)Xavier Vello2024-02-21
|
* feat(client): add config option keys.scroll_exits (#1744)Helmut K. C. Tessarek2024-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | * feat(client): add config option keys.scroll_exits If the config option is set the `false`, using the up/down key won't exit the TUI when scrolled past the first/last entry. Example: ``` [keys] scroll_exits = false ``` The default is `true`, which is the current behavior. * Update atuin/src/command/client/search/interactive.rs Co-authored-by: Koichi Murase <myoga.murase@gmail.com> * refactor: add option to config.toml --------- Co-authored-by: Koichi Murase <myoga.murase@gmail.com>
* chore(deps): bump lukemathwalker/cargo-chef (#1705)dependabot[bot]2024-02-20
| | | | | | | | | | | | Bumps lukemathwalker/cargo-chef from latest-rust-1.75.0-buster to latest-rust-1.76.0-buster. --- updated-dependencies: - dependency-name: lukemathwalker/cargo-chef dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: typo (#1741)Onè2024-02-20
|
* refactor(nushell): update `commandline` syntax, closes #1733 (#1735)Steven Xu2024-02-20
| | | | | * refactor(nushell): update `commandline` syntax, closes #1733 * refactor(nushell): add backwards compatibility for *Nushell* v0.90.x
* feat: change fulltext to do multi substring match (#1660)依云2024-02-19
|
* fix(bash): rework #1509 to recover from the preexec failure (#1729)Koichi Murase2024-02-17
| | | | | | | | | | | | | | | In GitHub #1509, we blocked the unintended preexec event caused by the keybinding of Atuin. However, with that fix, the preexec event for the intended user command is still missing. In this patch, we try to manually run the preexec hook when we detected the unintended preexec (which means the missing intended preexec). References: https://github.com/atuinsh/atuin/pull/1509 https://forum.atuin.sh/t/atuin-bash-and-ble-sh/175 https://github.com/atuinsh/atuin/issues/1003#issuecomment-1947905213 https://github.com/atuinsh/atuin/pull/1727 https://github.com/atuinsh/atuin/pull/1728
* Revert "Revert "fix(bash): avoid unexpected `atuin history start` for ↵Ellie Huxtable2024-02-17
| | | | | keybind…" (#1728) This reverts commit 032ca19c73be45c39a2d7a9972cb7d47d34d31ce.
* Revert "fix(bash): avoid unexpected `atuin history start` for keybindings ↵Ellie Huxtable2024-02-17
| | | | | (#1…" (#1727) This reverts commit 86f2c8e58806020bc04999a5039e18ff10409e59.
* fix(xonsh): Add xonsh to auto import, respect $HISTFILE in xonsh import, and ↵jfmontanaro2024-02-15
| | | | | | | | | | | | | fix issue with up-arrow keybinding in xonsh (#1711) * add xonsh to `atuin import auto` * respect $HISTFILE in xonsh importers * disable up-arrow binding in xonsh when completion menu is active * include xonsh logic in the same conditional as other shells * format and fix clippy lints
* fix: fish init (#1725)Ellie Huxtable2024-02-15
|
* feat: support syncing aliases (#1721)Ellie Huxtable2024-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: support syncing aliases This is definitely not yet finished, but works for zsh right now. TODO: 1. Support other shells 2. Cache the alias generation, so we don't have to do a bunch of work at shell init time * correct imports * fix clippy errors * fix tests * add the other shells * support xonsh * add delete * update rust, then make clippy happy once more * omfg fmt too
* feat: add 'ignored_commands' option to stats (#1722)David2024-02-15
|
* feat(search): process Ctrl+m for kitty keyboard protocol (#1720)Koichi Murase2024-02-14
| | | | | | | | | | | | Fixes https://github.com/atuinsh/atuin/issues/1719 [C-m] is usually identical to [RET] in the terminal protocol, and some users use [C-m] in place of [RET]. However, kitty's extended keyboard protocol enables differentiating them so that [C-m] does not function as does without the extended keyboard protocol. For the compatibility with terminals without extended keyboard protocols, we anyway cannot assign a distinct feature to [C-m], so we can safely add the explicit binding of InputAction::Accept to [C-m].
* fix(ui): don't preserve for empty space (#1712)依云2024-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the following situation: $ atuin search -i --inline-height 15 [ HOST ] query > 1m 19d ago item 1 1 0s 1mo ago item 2 2 0s 1mo ago item 3 3 0s 1mo ago item 4 4 0s 1mo ago item 5 5 0s 1mo ago item 6 Atuin v17.2.1 [...] Scrolling item 6 results: [ HOST ] query 0s 1mo ago item 3 0s 1mo ago item 4 0s 1mo ago item 5 > 0s 1mo ago item 6 Atuin v17.2.1 [...] With this patch it becomes: [ HOST ] query 1m 19d ago item 1 0s 1mo ago item 2 0s 1mo ago item 3 0s 1mo ago item 4 0s 1mo ago item 5 > 0s 1mo ago item 6 Atuin v17.2.1 [...]
* feat: Add xonsh history import (#1678)jfmontanaro2024-02-12
| | | | | | | | | | | | | | | | | * add importers for xonsh JSON files and SQLite db * rustfmt xonsh importers * remove env-dependent tests from xonsh importers * pass xonsh_data_dir into path resolver instead of looking up in env * review: run format * review: fix clippy errors --------- Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
* perf: optimize history init-store (#1691)Ellie Huxtable2024-02-12
| | | | | | | Instead of lots of small sqlite transaction, do one monster one. A single tx with 100s of 1000s of rows should be fine on all systems A very unscientific test shows this to be roughly 10x faster
* feat: Add 'a', 'A', 'h', and 'l' bindings to vim-normal mode (#1697)Caleb Maclennan2024-02-12
| | | | | | | | | | | The current 'i' binding to switch to insert mode is entirely unintuitive since what I almost always want to do is append to the current query. The fact that the cursor extends past the current input (which vim doesn't do with default settings) adds to the problem. The 'a' key is what I would reach for, but 'A' makes a lot of sense too so I added that. The 'h' and 'l' bindings for moving the cursor also help makes things a bit more usable.
* docs: minor formatting updates to the default config.toml (#1689)David2024-02-12
|
* feat: use ATUIN_TEST_SQLITE_STORE_TIMEOUT to specify test timeout of SQLite ↵Eric Long2024-02-12
| | | | | store (#1703) Low-end devices like RISC-V SBCs are sometimes too slow to initialize SQLite in 0.1s. Option to specify a higher value allows check to pass on such devices with relaxed restrictions.
* chore(release): prepare for release v18.0.1 (#1706)Ellie Huxtable2024-02-12
|
* fix: reorder the exit of enhanced keyboard mode (#1694)Andrew Lee2024-02-12
| | | | | | | | | The `Stdout::new` function first enters an alternate screen then later enables enhanced keyboard mode. In `Drop`, we need to do this in the opposite order: disable enhanced keyboard mode then exit alternate mode. Fixes #1693
* chore(release): prepare for release v18.0.0 (#1685)Ellie Huxtable2024-02-09
|
* docs(README): clarify prerequisites for Bash (#1686)Koichi Murase2024-02-08
| | | | | | | * docs(README): clarify prerequisites for Bash https://github.com/atuinsh/atuin/discussions/1683 * docs(README): fix grammar
* feat: add progress bars to sync and store init (#1684)Ellie Huxtable2024-02-08
| | | | | | | Replace lots of logging with some progress bars. This looks much nicer I'd like to move it out of the atuin-client crate and into the atuin crate. But first, I want to decouple a lot of the record moving, so it can wait until that's done.
* fix(tests): add Settings::utc() for utc settings (#1677)Ellie Huxtable2024-02-06
| | | | | | Means we don't try and load timezones in tests, as this fails due to multiple threads. Also allow specifying '0' or 'utc' as a timezone
* Add timezone configuration option & CLI overrides (#1517)cyqsimon2024-02-06
| | | | | | | | | | | | | | | | | | | * Allow specifying a timezone in history search/list * Fix clippy complaints * Add a bit more comment on supporting named timezones * Add rudimentary tests * Ditch local timezone test * Timezone configuration support * Set default timezone to `local` * `--tz` -> `--timezone` `--tz` is kept as a visible alias