aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-client/src/database.rs (unfollow)
Commit message (Collapse)Author
2023-04-11Add `--reverse` to `atuin search` (#862)Tom Cammann
Add `-r/--reverse` flag to `atuin search` to allow searching by oldest results first. Example to find the oldest `cargo` command: ``` atuin search --limit 1 --reverse cargo ```
2023-03-29Add `--offset` flag to `atuin search` (#825)Tom Cammann
This flag allows the user to continue searching at an offset. This is useful for building tools that use atuin to search for previous commands and return only one result. ``` atuin search --limit 1 atuin search --limit 1 --offset 1 atuin search --limit 1 --offset 2 ```
2023-03-27client filtering done in query (#629)jean-santos
2023-03-26chore: use fork of skim (#803)Conrad Ludgate
* use fuzzy-matcher instead of skim switch to a search-engine abstraction * fmt * fix deprecated warnings
2023-03-24Delete all instances of a command (#797)Ellie Huxtable
* Delete all instances of a command Our search command will de-dupe results by default. But... This isn't great for deleting! You don't want to run it over-and-over-and-over until all commands are deleted. Loop the query, and keep on deleting what it returns until they are all gone. * Optimize delete upload It was running a request for every element, on every sync lol Only push a delete if needed Future: push all deletes in one request
2023-03-21Fix skim search (#795)Ellie Huxtable
2023-03-20Add history deletion (#791)Ellie Huxtable
* 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-19skim-demo (#695)Conrad Ludgate
* skim-demo * skim some more * Weight first word match higher (#712) * some improvements * make skim opt-in --------- Co-authored-by: Frank Hamand <frankhamand@gmail.com>
2023-03-14Prefer PWD environment variable over cwd if available to better support ↵Patrick Decat
symbolic links (#783)
2023-03-08Fix before/after combined with limit (#770)Ellie Huxtable
* Fix before/after combined with limit Mixing filters done in Rust with filters done in SQL is _no bueno_. Been meaning to do this for a while anyways. Search params are getting a bit fat but oh well! * Make an excuse for a big function sig * Do options map_or not if * Fix tests
2023-02-06Try to make clippy happy 🥺 (#686)Ellie Huxtable
* Try to make clippy happy 🥺 * Fmt * I missed one (can't run clippy locally on airport wifi...)
2022-12-27Improve error message when $AUTIN_SESSION is not set. (#654)Jamie Quigley
Closes #653
2022-12-16Switch to using ATUIN_LOG instead of RUST_LOG (#642)Ellie Huxtable
* Switch to using ATUIN_LOG instead of RUST_LOG * Stop clippy complaining * I should know better - clippy is never happy :(
2022-11-04Add local event log storage (#390)Ellie Huxtable
* Add event data structures This adds the data structures required to start syncing events, rather than syncing history directly. Adjust event Fix Add event data structure to client * Add server event table sql * Add client event table migration Adjust migration * Insert into event table from client * Add event merge function Right now this just ensures we have the right amount of events given the history we have BUT it will also be used to merge CREATE/DELETE events, resulting in history being deleted :) * Make CI happy * Adjust * we don't limit history length any more * Update atuin-client/src/database.rs Co-authored-by: Conrad Ludgate <conradludgate@gmail.com> * fix usage * Fix typo * New Rust, new clippy stuff Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
2022-09-11better cursor search (#473)Conrad Ludgate
* improve cursor code * proper unicode support * refactor and test * fmt * clippy * move methods to state * refactor search modules
2022-05-09Importer V3 (#395)Conrad Ludgate
* start of importer refactor * fish * resh * zsh
2022-04-28ignore JetBrains IDEs, tidy-up imports (#348)Jakub Panek
* ignore JB IDEs * tidy-up imports * add rustfmt config
2022-04-26fix db range query (#351)Conrad Ludgate
2022-04-23sql builder (#333)Conrad Ludgate
* start * clean up * refactor globs
2022-04-22Fix empty queries with filters (#332)Ellie Huxtable
2022-04-22History filter (#329)Ellie Huxtable
* Add history filters, and hotkey toggle Switch between different search modes to narrow down the history you want - global search for all history, host for all history from your current machine, session for the current shell session, and directory for the current directory The default can be configured via `filter_mode` * Update docs * Add context
2022-04-21A few minor tweaks (#314)Conrad Ludgate
* use bail macro replace client database errors remove dead code * fix test
2022-04-13provide better error messages (#300)Conrad Ludgate
2022-03-18Improve fuzzy search (#279)Patrick
* Add SearchMode fzf. Add a new search mode "fzf" that tries to mimic the search syntax of https://github.com/junegunn/fzf#search-syntax This search mode splits the query into terms where each term is matched individually. Terms can have operators like prefix, suffix, exact match only and can be inverted. Additionally, smart-case matching is performed: if a term contains a non-lowercase letter the match will be case-sensitive. * PR feedback. - Use SearchMode::Fuzzy instead of SearchMode::Fzf - update docs - re-order tests so previous fuzzy tests come first, add more tests for each operator * PR comments: remove named arguments, match expression * PR comments: macro -> async func
2022-03-13Fix `history list --cwd` errors (#278)Lucas Burns
2021-12-19use sqlite grouping rather than subquery (#181)Mark Wotton
2021-09-09Reordered fuzzy search (#179)Mark Wotton
* 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-06-01Add fuzzy text search mode (#142)Frank Hamand
2021-05-09Support fulltext search of commands (#75)Yuvi Panda
2021-04-26Pre release polishing (#42)Ellie Huxtable
* Improve readme * Add demo gif * Update readme * Add mac build * Amend release config * Update gif
2021-04-25Revert to storing history as nanosEllie Huxtable
2021-04-25Update docs, unify on SQLx, bugfixes (#40)Ellie Huxtable
* 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-21Bugfixes, show time ago, perf improvementsEllie Huxtable
Also allow unique listing and more ergonomic cwd usage
2021-04-20Use cargo workspaces (#37)Ellie Huxtable
* 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-20Switch to Warp + SQLx, use async, switch to Rust stable (#36)Ellie Huxtable
* Switch to warp + sql, use async and stable rust * Update CI to use stable
2021-04-13Add history sync, resolves #13 (#31)Ellie Huxtable
* 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-06Bump rusqlite from 0.24.2 to 0.25.0 (#30)dependabot[bot]
* 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-03-20Add TUI, resolve #19, #17, #16 (#21)Ellie Huxtable
2021-02-15Satisfy clippyEllie Huxtable
2021-02-15Allow listing by current directory and/or sessionEllie Huxtable
2021-02-14Add stats command (#9)Ellie Huxtable
* 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-14a few more tiny touch ups (#7)Conrad Ludgate
* a few more tiny touch ups * all praise clippy
2021-02-14tidy some stuff (#6)Conrad Ludgate
2021-02-14Neaten the history listing code (#5)Ellie Huxtable
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-14Make pedantic clippy happyEllie Huxtable
2021-02-13Add fuzzy history search and distinct argEllie Huxtable
2021-02-13Add sessionsEllie Huxtable
2021-02-13Implement history importEllie Huxtable
2021-02-13Record command exit code and durationEllie Huxtable
2020-10-05feat: use directories project data dirConrad Ludgate
chore: clean up some things