Commit graph

27 commits

Author SHA1 Message Date
Vlad Stepanov
4077c33adf
Builder interface for History objects (#933)
* [feature] store env variables in History records

WIP: remove `HistoryWithoutDelete`, add some docstrings, tests

* Create History objects through builders.

Assure in compile-time that all required fields
are set for the given construction scenario

* (from #882) split Cmd::run into subfns

* Update `History` doc

* remove rmp-serde from history

* update warning

---------

Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
2023-06-15 10:29:40 +00:00
Ellie Huxtable
bf7432f392
Patch bash history import regression (#970)
* At least patch this on the server side so we don't loop forever

* Postgres doesn't support <microsecond precision

Use millis - almost everything should support them and they are still
faster than a human can reasonably spam a button.
2023-05-10 13:02:35 +00:00
postmath
64671a17c1
Improve error message for issue #850. (#876)
* Improve error message for issue #850.

* Applied cargo fmt, doh.
2023-04-14 19:48:45 +00:00
Ellie Huxtable
03dd3ddf8b
Switch to uuidv7 (#864)
* Add uuid_v7

* Actually use the new uuid

* Add a test to ensure all uuids are unique, even in a tight loop

* Make clippy happy
2023-04-11 16:26:16 +01:00
János Illés
04044c4146
Use XDG data directory for fish import (#851)
* Use XDG data directory for fish import

On MacOS, atuin was looking for fish history under "$HOME/Library/Application Support".

Now atuin honors XDG_DATA_HOME, if set, and otherwise uses "$HOME/.local/share".

* cargo fmt

---------

Co-authored-by: Charles Gould <charles@gould.dev>
2023-04-08 10:53:32 +01:00
cyqsimon
188117dfae
Handle empty lines when importing from Bash (#845)
* Handle empty lines

* Fix insufficient accuracy in timestamp tests

* Use nanoseconds
2023-04-05 09:37:27 +01:00
Steven Xu
a7cb21a51b
feat: add *Nushell* support (#788)
* feat: add *Nushell* support

* refactor: use `sh` to swap `STDOUT` and `STDERR` instead of using a temporary file

* feat: include both keybindings, with the current REPL buffer passed to *Atuin*'s

* feat: don't record commands run by keybindings
2023-03-26 15:44:06 +01:00
Ellie Huxtable
dcd77749dd
Add history deletion (#791)
* Drop events. I'd still like to do them, but differently

* Start adding delete api stuff

* Set mailmap

* Delete delete delete

* Fix tests

* Make clippy happy
2023-03-20 09:26:54 +00:00
cyqsimon
63c572104b
Rework Bash import (#747)
* Rework Bash import

Closes #745
- Imported history is now ordered correctly
- Timestamps (when `HISTTIMEFORMAT` is set) are handled correctly

* Timestamp tests test for strict sorting
2023-03-02 10:05:19 +00:00
Conrad Ludgate
edda1b741a
crossterm support (#331)
* crossterm v2

* patch crossterm

* fix-version

* no more tui dependency

* lints
2023-02-10 17:25:43 +00:00
Ellie Huxtable
3abc96fafe
Try to make clippy happy 🥺 (#686)
* Try to make clippy happy 🥺

* Fmt

* I missed one (can't run clippy locally on airport wifi...)
2023-02-06 11:59:01 +00:00
Patrick Jackson
17c2e73388
Never use HISTFILE for fish shell import (#573) 2022-10-19 11:57:51 +01:00
Ellie Huxtable
62aafc3537
Fix ZSH import print 2022-10-10 14:02:53 +01:00
noyez
3c2b055039
Noyez fix dir hostname utf8 (#430)
* Allow zsh_histdb import diretories and hostnames as utf-8

* Allow zsh_histdb import diretories and hostnames as utf-8

Co-authored-by: Bradley Noyes <b@noyes.dev>
2022-06-05 21:35:46 +01:00
noyez
e5df809dd2
Noyez zsh histdb import (#393)
* Attempting to implement zsh-histdb import

Import compiles passes tests, but doesn't run b/c of async runtime.
zsh-histdb uses sqlite, and sqlx-rs is async, but import code is sync.

* More working on importing histdb

* Rewriting tests and using `Vec<u8>` instead of `String`

 - Rewriting tests to eliminate depencency on local file system
 - Using `Vec<u8>` for command strings instead of `String` to eliminate
   the utf8 errors i was seeing previously. Seems to be working.

* Running fmt

Co-authored-by: Bradley Noyes <b@noyes.dev>
2022-05-20 07:36:53 +01:00
Conrad Ludgate
1d030b9d32
Importer V3 (#395)
* start of importer refactor

* fish

* resh

* zsh
2022-05-09 07:46:52 +01:00
Jakub Panek
93ab4e7842
ignore JetBrains IDEs, tidy-up imports (#348)
* ignore JB IDEs

* tidy-up imports

* add rustfmt config
2022-04-28 18:53:59 +01:00
Conrad Ludgate
02c70deecb
refactor (#327) 2022-04-22 19:24:38 +01:00
Conrad Ludgate
48747e3b7c
A few minor tweaks (#314)
* use bail macro

replace client database errors

remove dead code

* fix test
2022-04-21 08:05:57 +01:00
Conrad Ludgate
87df7d80ec
Fish importing (#234)
* make a start on fish

* fix

* test

* enable fish

* fmt

* update histpath

set up fish init script

* update readme

* cover edge case

* fmt

* fix session variables

Co-authored-by: PJ <me@panekj.dev>

* respect NOBIND

Co-authored-by: PJ <me@panekj.dev>

* fix env var setting

Co-authored-by: PJ <me@panekj.dev>

* fix whitespace

Co-authored-by: PJ <me@panekj.dev>

* add fish to supported shells

Co-authored-by: PJ <me@panekj.dev>
2021-12-11 09:48:53 +00:00
Conrad Ludgate
8f91b1410c
chore: some new linting (#201)
* chore: some new linting

* chore: some more linting

* chore: rustfmt
2021-11-13 22:40:24 +00:00
Mark Wotton
2024884f49
Reordered fuzzy search (#179)
* add test demonstrating problem

* add a reordered fuzzy-search mode that presents shorter matches first,
rather than using strict chronological ordering.

* fix warnings, refactor interface to minspan slightly
2021-09-09 11:46:46 +01:00
Jamie Quigley
af707ac5a4
Fix resh importer crashing on end of file (#92) 2021-05-09 19:09:09 +00:00
Conrad Ludgate
090120a834
Generic Importer Trait (#71)
* initial importer trait

* appease linters

* improve file handling. fixes #66

* use size hint

* format + comment

* update serde rename mess

* tested 😎 🚀

* small formatting
2021-05-09 18:34:15 +01:00
Jamie Quigley
725ea9b16b
Fix resh importer, and change error handling method (#82) 2021-05-09 15:20:39 +01:00
Jamie Quigley
bb086808b1
Add importer for resh_history file (#69)
* Added resh history importer

* Silence trivial clippy warnings for the PR CI
2021-05-08 17:29:46 +01:00
Ellie Huxtable
7b5c3d543d Support bash, resolves #3 2021-04-26 11:57:30 +01:00