Commit Graph

998 Commits

Author SHA1 Message Date
b1155873dd fix(doctor): use a different method to detect env vars (#1819) 2024-03-04 17:50:30 +00:00
ede5a5febf feat(nu): Return early if history is disabled (#1807) 2024-03-04 16:19:13 +00:00
5c0455bf9b chore(deps): bump rustls-pemfile from 2.1.0 to 2.1.1 (#1814)
Bumps [rustls-pemfile](https://github.com/rustls/pemfile) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/rustls/pemfile/releases)
- [Commits](https://github.com/rustls/pemfile/compare/v/2.1.0...v/2.1.1)

---
updated-dependencies:
- dependency-name: rustls-pemfile
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 16:16:48 +00:00
7d956b52b9 docs: update docker compose (#1818) 2024-03-04 16:16:26 +00:00
a5e1d25287 refactor: rename atuin-config to atuin-dotfiles (#1817) 2024-03-04 15:49:28 +00:00
3d6b163546 fix(tz): attempt to fix timezone reading (#1810) 2024-03-02 17:05:04 +00:00
f9fa441d60 fix(regex): disable regex error logs (#1806) 2024-03-01 16:42:10 +00:00
9933220dac feat(ui): Add config setting for showing tabs (#1755)
* Add config setting for showing tabs

* Added semicolon
2024-03-01 14:57:18 +00:00
515f78fa4c feat: Guard against ancient versions of bash where this does not work. (#1794) 2024-03-01 14:54:43 +00:00
fe2bb086f5 chore(deps): update flake.lock (#1801)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15)
  → 'github:numtide/flake-utils/d465f4819400de7c8d874d50b982301f28a84605' (2024-02-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2a34566b67bef34c551f204063faeecc444ae9da' (2024-02-25)
  → 'github:NixOS/nixpkgs/ebe6e807793e7c9cc59cf81225fdee1a03413811' (2024-02-29)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-01 13:22:43 +00:00
291791ee3d fix(sync): check store length after sync, not before (#1805) 2024-03-01 13:22:14 +00:00
aec5df4123 feat: support regex with r/.../ syntax (#1745)
* feat: support regex with r/.../ syntax

* cargo fmt

* feat(tests): add some tests for regex matching
2024-03-01 13:21:53 +00:00
897af9a326 fix: missing characters in preview (#1803) 2024-03-01 12:52:37 +00:00
f44928220c feat: add checks for common setup issues (#1799)
* feat: add checks for common setup issues

* colors

* spacing

* clippy
2024-02-29 18:12:05 +00:00
6d62749e19 feat: add atuin doctor (#1796)
* 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
2024-02-29 15:32:48 +00:00
5f0e6dd307 feat(nushell): add nushell completion generation (#1791) 2024-02-29 11:08:32 +00:00
593dc410eb fix(nushell): readd up-arrow keybinding, now with menu handling (#1770) 2024-02-28 14:01:15 +00:00
9def30b3c5 chore(deps): bump env_logger from 0.10.2 to 0.11.2 (#1781)
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>
2024-02-28 14:00:22 +00:00
22a9b497ad feat: add CTRL+[ binding as <Esc> alias (#1787)
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
2024-02-28 11:59:29 +00:00
94c85c3189 feat(stats): add linux sysadmin commands to common_subcommands (#1784)
* 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'
2024-02-27 13:27:39 +00:00
cc964861c4 feat(stats): Normalize formatting of default config, suggest nix (#1764)
* 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 ;)
2024-02-26 14:58:22 +00:00
d9ba2a0061 chore(deps): cargo update (#1777) 2024-02-26 14:57:32 +00:00
1f88c9b085 chore(deps): flake.lock: Update (#1780)
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>
2024-02-26 14:57:15 +00:00
81e7b58532 feat(nix): add update action (#1779) 2024-02-26 14:53:12 +00:00
b0062cdb60 chore(deps): bump debian (#1734)
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>
2024-02-26 12:37:54 +00:00
a3743f846b fix(stats): Enable multiple command stats to be shown using 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>
2024-02-26 12:07:59 +00:00
43a1d3a862 feat: Add '/', '?', and 'I' bindings to vim-normal mode (#1760)
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.)
2024-02-26 12:01:14 +00:00
d7582b62fd feat: Add PHP package manager "composer" to list of default common subcommands (#1757)
* Add PHP package manager "composer" to list of default common subcommands

* Run cargo fmt and sort entries
2024-02-26 11:59:34 +00:00
91ddcd60ca fix(client): no panic on empty inspector (#1768)
* 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>
2024-02-26 11:57:23 +00:00
cf09464d4d chore(release): prepare for release v18.0.2 (#1775) 2024-02-26 11:37:54 +00:00
248213bf3e fix: ensure sync time is saved for sync v2 (#1758) 2024-02-22 19:02:02 +00:00
05857c1c0e fix: check session file exists for status command (#1756) 2024-02-22 18:53:51 +00:00
cf2cbd23f0 refactor(alias): Clarify operation result for working with aliases (#1748) 2024-02-21 16:27:08 +00:00
6a885cf4ab feat: add alias feedback and list command (#1747) 2024-02-21 11:54:46 +00:00
21fee97a62 fix(import/zsh-histdb): missing or wrong fields (#1740)
* 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
2024-02-21 08:56:41 +00:00
3c375cad07 feat: add history prune subcommand (#1743) 2024-02-21 08:42:53 +00:00
56b971ae19 feat(client): add config option keys.scroll_exits (#1744)
* 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>
2024-02-21 08:25:55 +00:00
3d82adad36 chore(deps): bump lukemathwalker/cargo-chef (#1705)
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>
2024-02-20 13:08:54 +00:00
409456fce1 fix: typo (#1741) 2024-02-20 12:54:48 +00:00
1c29702e44 refactor(nushell): update commandline syntax, closes #1733 (#1735)
* refactor(nushell): update `commandline` syntax, closes #1733

* refactor(nushell): add backwards compatibility for *Nushell* v0.90.x
2024-02-20 08:19:33 +00:00
2a65f89cd5 feat: change fulltext to do multi substring match (#1660) 2024-02-19 11:03:09 +00:00
38dfaabf10 fix(bash): rework #1509 to recover from the preexec failure (#1729)
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
2024-02-17 19:43:25 +00:00
07f363ba3a Revert "Revert "fix(bash): avoid unexpected atuin history start for keybind…" (#1728)
This reverts commit 032ca19c73.
2024-02-17 10:50:19 +00:00
032ca19c73 Revert "fix(bash): avoid unexpected atuin history start for keybindings (#1…" (#1727)
This reverts commit 86f2c8e588.
2024-02-17 09:48:15 +00:00
4512cd5c7f fix(xonsh): Add xonsh to auto import, respect $HISTFILE in xonsh import, and 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
2024-02-15 19:33:30 +00:00
0d31499a62 fix: fish init (#1725) 2024-02-15 19:29:39 +00:00
20f3296468 feat: support syncing aliases (#1721)
* 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
2024-02-15 19:07:08 +00:00
f8d01eef99 feat: add 'ignored_commands' option to stats (#1722) 2024-02-15 18:52:19 +00:00
063d9054d7 feat(search): process Ctrl+m for kitty keyboard protocol (#1720)
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].
2024-02-14 08:54:44 +00:00
1a432b61ee fix(ui): don't preserve for empty space (#1712)
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 [...]
2024-02-13 18:33:23 +00:00