Commit graph

99 commits

Author SHA1 Message Date
Yuvi Panda
19bd00f620
Support fulltext search of commands (#75) 2021-05-09 08:33:56 +01:00
Ellie Huxtable
07c5461013
Retain the query entered into the TUI (#76)
If no results are found, and the user presses enter, keep the query!

Resolves #73
2021-05-08 22:10:40 +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
Jamie Quigley
2e5f16a6a3
Add Ctrl-d as a way of exiting the TUI (#65) 2021-05-08 14:04:33 +00:00
Ellie Huxtable
8bd4d12cfa
Add ATUIN_NOBIND (#62)
* Add ATUIN_NOBIND

* Update docs/key-binding.md

`<kbd>`, what magic

Co-authored-by: bl-ue <54780737+bl-ue@users.noreply.github.com>

Co-authored-by: bl-ue <54780737+bl-ue@users.noreply.github.com>
2021-05-08 14:17:22 +01:00
Ellie Huxtable
99f26ff383
Allow using Ctrl-c to exit (#53) 2021-05-08 00:02:39 +01:00
Ellie Huxtable
4df77c5201 Release v0.6.4
- Fix version
- Only build for two targets
2021-04-26 18:36:19 +01:00
Ellie Huxtable
646fec893e Fix pipeline
Lol no more committing to main for me
2021-04-26 12:05:20 +01:00
Ellie Huxtable
7b5c3d543d Support bash, resolves #3 2021-04-26 11:57:30 +01:00
Ellie Huxtable
156893d774
Update docs, unify on SQLx, bugfixes (#40)
* Begin moving to sqlx for local too

* Stupid scanners should just have a nice cup of tea

Random internet shit searching for /.env or whatever

* Remove diesel and rusqlite fully
2021-04-25 17:21:52 +00:00
Ellie Huxtable
4a50ce3666 Bugfixes, show time ago, perf improvements
Also allow unique listing and more ergonomic cwd usage
2021-04-21 21:26:44 +01:00
Ellie Huxtable
a21737e2b7
Use cargo workspaces (#37)
* Switch to Cargo workspaces

Breaking things into "client", "server" and "common" makes managing the
codebase much easier!

client - anything running on a user's machine for adding history
server - handles storing/syncing history and running a HTTP server
common - request/response API definitions, common utils, etc

* Update dockerfile
2021-04-20 20:53:07 +00:00
Ellie Huxtable
34888827f8
Switch to Warp + SQLx, use async, switch to Rust stable (#36)
* Switch to warp + sql, use async and stable rust

* Update CI to use stable
2021-04-20 16:07:11 +00:00
Ellie Huxtable
f6de558070
Optimise docker (#34)
* Smaller dockerfile, better error handling

* Add config dir
2021-04-14 17:40:50 +00:00
Ellie Huxtable
9c8d426184
Add dockerfile (#32) 2021-04-13 21:31:41 +00:00
Ellie Huxtable
5751463942
Add history sync, resolves #13 (#31)
* Add encryption

* Add login and register command

* Add count endpoint

* Write initial sync push

* Add single sync command

Confirmed working for one client only

* Automatically sync on a configurable frequency

* Add key command, key arg to login

* Only load session if it exists

* Use sync and history timestamps for download

* Bind other key code

Seems like some systems have this code for up arrow? I'm not sure why,
and it's not an easy one to google.

* Simplify upload

* Try and fix download sync loop

* Change sync order to avoid uploading what we just downloaded

* Multiline import fix

* Fix time parsing

* Fix importing history with no time

* Add hostname to sync

* Use hostname to filter sync

* Fixes

* Add binding

* Stuff from yesterday

* Set cursor modes

* Make clippy happy

* Bump version
2021-04-13 19:14:07 +01:00
Ellie Huxtable
9f16f76bd8 Update config 2021-04-09 12:40:21 +01:00
dependabot[bot]
b5845bc3a1
Bump rusqlite from 0.24.2 to 0.25.0 (#30)
* Bump rusqlite from 0.24.2 to 0.25.0

Bumps [rusqlite](https://github.com/rusqlite/rusqlite) from 0.24.2 to 0.25.0.
- [Release notes](https://github.com/rusqlite/rusqlite/releases)
- [Changelog](https://github.com/rusqlite/rusqlite/blob/master/Changelog.md)
- [Commits](https://github.com/rusqlite/rusqlite/compare/v0.24.2...v0.25.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Fixes for new rusqlite (mostly the new Params trait)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ellie Huxtable <e@elm.sh>
2021-04-06 10:59:07 +00:00
Ellie Huxtable
c9579cb9ca
Implement server (#23)
* Add initial database and server setup

* Set up all routes, auth, etc

* Implement sessions, password auth, hashing with argon2, and history storage
2021-03-21 20:04:39 +00:00
Ellie Huxtable
716c7722cd
Add TUI, resolve #19, #17, #16 (#21) 2021-03-20 00:50:31 +00:00
Ellie Huxtable
61607e023f
Add config file support (#15) 2021-03-10 21:24:08 +00:00
Ellie Huxtable
a342dc58bb BUFFER -> LBUFFER 2021-02-16 21:34:33 +00:00
Ellie Huxtable
41f072a8b4
Add init command (#12)
* Add init command

This makes setting up the shell part of A'tuin much easier. Eval the
output of "atuin init".

* Update readme, add up binding
2021-02-15 23:33:30 +00:00
Ellie Huxtable
e980973ba0 Satisfy clippy 2021-02-15 21:36:07 +00:00
Ellie Huxtable
ba086f909d Allow listing by current directory and/or session 2021-02-15 21:30:19 +00:00
Ellie Huxtable
48198cdfe9 Fix import message 2021-02-15 20:33:39 +00:00
Conrad Ludgate
68c5ca9ece
use database trait instead of sqlite impl (#10)
small improvements
2021-02-15 09:07:49 +00:00
Ellie Huxtable
b10d302e57 Bump version 2021-02-14 22:33:22 +00:00
Ellie Huxtable
851285225f
Add stats command (#9)
* Add stats command

For example

atuin stats day yesterday
atuin stats day last friday
atuin stats day 01/01/21

* Output tables, fix import blanks
2021-02-14 22:12:35 +00:00
Conrad Ludgate
6636f5878a
zsh bin is sometimes /usr/bin/zsh or might be elsewhere too (#8)
zsh also uses ~/.zsh_history

get better errors for not found history file
2021-02-14 18:40:51 +00:00
Ellie Huxtable
3323b3079a Add test for extended parsing 2021-02-14 18:10:56 +00:00
Conrad Ludgate
bae59474ee
a few more tiny touch ups (#7)
* a few more tiny touch ups

* all praise clippy
2021-02-14 18:00:41 +00:00
Conrad Ludgate
72c5ea7914
tidy some stuff (#6) 2021-02-14 17:18:02 +00:00
Ellie Huxtable
8af0034ae0
Neaten the history listing code (#5)
I'd like to reduce the amount of SQL in the database code. Make it as
generic as possible, and later on perhaps expose a generic "execute"
function.

This function can be used by analysis commands, and the SQL can live
there - rather than database.rs being a huge bag of SQL.
2021-02-14 16:53:18 +00:00
Ellie Huxtable
660edfefed Make pedantic clippy happy 2021-02-14 15:35:08 +00:00
Ellie Huxtable
d128297e67 Make clippy annoying asf + add server 2021-02-14 13:28:01 +00:00
Ellie Huxtable
8697aceb72 Fix clippy issues 2021-02-13 23:20:16 +00:00
Ellie Huxtable
e7d234e305 Remove panic 2021-02-13 22:58:31 +00:00
Ellie Huxtable
d8aacb4a80 Add fuzzy history search and distinct arg 2021-02-13 22:06:27 +00:00
Ellie Huxtable
fbaeedbba4 Minor fixes 2021-02-13 20:55:06 +00:00
Ellie Huxtable
440c4fc233 Add sessions 2021-02-13 20:24:22 +00:00
Ellie Huxtable
099afe66ec Implement history import 2021-02-13 19:37:31 +00:00
Ellie Huxtable
7e60ace610 Record command exit code and duration 2021-02-13 17:02:52 +00:00
Ellie Huxtable
50ebe68d9f Begin import 2021-02-13 13:20:39 +00:00
Ellie Huxtable
07aceb3dd4 Rename 2021-02-13 12:58:40 +00:00
Conrad Ludgate
7dd2d02238
fix: help text 2020-10-05 17:34:28 +01:00
Conrad Ludgate
28287a6303
feat: use directories project data dir
chore: clean up some things
2020-10-05 17:20:48 +01:00
Conrad Ludgate
34038f6aaa
chore: use structopt wrapper instead of building clap by hand 2020-10-05 11:52:03 +01:00
Ellie Huxtable
27b9a94305 Initial commit
Currently writing shell history to a sqlite db :)

Could do with:

1) store exit code
2) store duration
3) tidy up main
4) ...remote stuff
2020-10-05 00:59:28 +01:00