* 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(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'
* 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 ;)
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.)
* 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>
* 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(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>
* 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
* 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
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].