Commit Graph

1200 Commits

Author SHA1 Message Date
Rain
95e9530dad
fix(build): make atuin compile on non-win/mac/linux platforms (#1825)
Hi!

I've been trying to get atuin set up on the illumos machine I built for work
@oxidecomputer, and I ran into a few issues which are fixed here:

1. The `clipboard` feature was only supported on Windows, Mac and Linux. I've
   added a platform gate for that.
2. The `atomic-write-file` crate needed an update to the version of `nix` --
   that is included.
3. As part of this, I found a [security
   bug](https://rustsec.org/advisories/RUSTSEC-2024-0020.html) in the whoami
   crate. The bug has been fixed upstream and I've included it.

   whoami 1.5.0 deprecates the `hostname` function, which produced some fresh
   warnings. While fixing the warnings I also took the liberty of doing some
   code rearrangement, adding a few functions that wrap some common operations. I
   didn't really know where to put those functions, so I created a new `utils`
   module for it. If you have a better place to put them, I'm happy to change
   the PR.

Feel free to make any changes to this PR if you like before landing it, or to
ask for review.

As a followup I'm also happy to set up a cross-compile build for atuin on
illumos. It's a bit harder to run tests in CI for illumos at the moment, but
I'm trying to get a project started up to make that happen in the future as
well.
2024-03-05 09:49:40 +00:00
Ellie Huxtable
799dd1b0a9
fix(sync): record size limiter (#1827)
Settings the record size limit to 0 had issues. Inverting the condition
works better.
2024-03-05 09:42:10 +00:00
Ellie Huxtable
b1155873dd
fix(doctor): use a different method to detect env vars (#1819) 2024-03-04 17:50:30 +00:00
Ian Manske
ede5a5febf
feat(nu): Return early if history is disabled (#1807) 2024-03-04 16:19:13 +00:00
dependabot[bot]
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
Ellie Huxtable
7d956b52b9
docs: update docker compose (#1818) 2024-03-04 16:16:26 +00:00
Ellie Huxtable
a5e1d25287
refactor: rename atuin-config to atuin-dotfiles (#1817) 2024-03-04 15:49:28 +00:00
Ellie Huxtable
3d6b163546
fix(tz): attempt to fix timezone reading (#1810) 2024-03-02 17:05:04 +00:00
Ellie Huxtable
f9fa441d60
fix(regex): disable regex error logs (#1806) 2024-03-01 16:42:10 +00:00
Anderson
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
Samson
515f78fa4c
feat: Guard against ancient versions of bash where this does not work. (#1794) 2024-03-01 14:54:43 +00:00
github-actions[bot]
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
Ellie Huxtable
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
Helmut K. C. Tessarek
897af9a326
fix: missing characters in preview (#1803) 2024-03-01 12:52:37 +00:00
Ellie Huxtable
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
Ellie Huxtable
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
Remmy Cat Stock
5f0e6dd307
feat(nushell): add nushell completion generation (#1791) 2024-02-29 11:08:32 +00:00
Remmy Cat Stock
593dc410eb
fix(nushell): readd up-arrow keybinding, now with menu handling (#1770) 2024-02-28 14:01:15 +00:00
dependabot[bot]
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
Zhanibek Adilbekov
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
Helmut K. C. Tessarek
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
Sandro
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
Ellie Huxtable
d9ba2a0061
chore(deps): cargo update (#1777) 2024-02-26 14:57:32 +00:00
github-actions[bot]
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
Patrick Jackson
81e7b58532
feat(nix): add update action (#1779) 2024-02-26 14:53:12 +00:00
dependabot[bot]
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
Eric Hodel
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
Mike Pastore
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
Korvin Szanto
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
Helmut K. C. Tessarek
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
Ellie Huxtable
cf09464d4d
chore(release): prepare for release v18.0.2 (#1775) 2024-02-26 11:37:54 +00:00
Ellie Huxtable
248213bf3e
fix: ensure sync time is saved for sync v2 (#1758) 2024-02-22 19:02:02 +00:00
Ellie Huxtable
05857c1c0e
fix: check session file exists for status command (#1756) 2024-02-22 18:53:51 +00:00
David Chocholatý
cf2cbd23f0
refactor(alias): Clarify operation result for working with aliases (#1748) 2024-02-21 16:27:08 +00:00
Ellie Huxtable
6a885cf4ab
feat: add alias feedback and list command (#1747) 2024-02-21 11:54:46 +00:00
Aloxaf
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
Xavier Vello
3c375cad07
feat: add history prune subcommand (#1743) 2024-02-21 08:42:53 +00:00
Helmut K. C. Tessarek
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
dependabot[bot]
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
Onè
409456fce1
fix: typo (#1741) 2024-02-20 12:54:48 +00:00
Steven Xu
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
Koichi Murase
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
Ellie Huxtable
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
Ellie Huxtable
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
jfmontanaro
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
Ellie Huxtable
0d31499a62
fix: fish init (#1725) 2024-02-15 19:29:39 +00:00
Ellie Huxtable
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
David
f8d01eef99
feat: add 'ignored_commands' option to stats (#1722) 2024-02-15 18:52:19 +00:00