Commit Graph

959 Commits

Author SHA1 Message Date
f20fb4e4f5 feat: enable workspaces by default
We've had lots of good feedback for them, so I think perhaps time to
enable workspaces by default.
2024-03-07 14:20:07 +00:00
8e9e7b92a3 chore: do not show history table stats when using records (#1835) 2024-03-06 16:20:03 +00:00
f943e03f90 fix(store-init): re-sync after running auto store init (#1834) 2024-03-06 15:16:07 +00:00
da24f734e5 feat: add automatic history store init (#1831) 2024-03-06 11:55:53 +00:00
be6f6534da chore(deps): cargo update (#1832) 2024-03-06 11:55:39 +00:00
7d8b4b3398 chore(ci): add cross-compile job for illumos (#1830)
I also tried getting FreeBSD to work, but didn't get too far sadly. I don't
have the time to debug this so I just put in a comment for now. (With my
changes, Atuin works great on FreeBSD as well.)
2024-03-06 10:32:56 +00:00
50b043a88b chore(deps): bump mio (#1824)
Bumps the cargo group group with 1 update: [mio](https://github.com/tokio-rs/mio).


Updates `mio` from 0.8.10 to 0.8.11
- [Release notes](https://github.com/tokio-rs/mio/releases)
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/mio/compare/v0.8.10...v0.8.11)

---
updated-dependencies:
- dependency-name: mio
  dependency-type: indirect
  dependency-group: cargo-security-group
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-05 15:13:04 +00:00
14be7e048e feat(dotfiles): add enable setting to dotfiles, disable by default (#1829) 2024-03-05 14:50:42 +00:00
60a09f9465 fix(nix): set meta.mainProgram in the package (#1823)
* fix(nix): set meta.mainProgram in the package

* style: Update link for the nixpkgs atuin package
2024-03-05 10:02:57 +00:00
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
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
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