aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-history/src/stats.rs (unfollow)
Commit message (Collapse)Author
2026-06-11chore: Move everything into one big crateBenedikt Peetz
That helps remove duplicated code and rustc/cargo will now also show dead code correctly.
2026-04-21chore: update to rust 1.95 (#3426)Ellie Huxtable
<!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
2025-07-22chore: update to rust 1.88 (#2815)Ellie Huxtable
* chore: update to rust 1.88 * clippy + fmt * update ci version * update flake
2025-04-01fix(stats): Ignore leading environment variables when calculating stats (#2659)Michelle Tilley
* Ignore leading environment variables when calculating stats * There's always an extra println * Make clippy happy * We don't actually need the tokens
2025-03-19chore: migrate to rust 2024 (#2635)Ellie Huxtable
* chore: upgrade to 2024 edition * ugh unsafe * format * nixxxxxxxxxxx why
2024-12-27feat: add `atuin wrapped` (#2493)Ellie Huxtable
* wip * wip * final * fix clippy * do not hard code the year * support tz properly, allow specifying the year
2024-07-23fix(themes): Restore default theme, refactor (#2294)P T Weir
* fix(theme): let the base colour remain unchanged * fix(theme): split out default * fix(theme): make base theme 'default' not an empty string * wip(theme): return styles, not colors * wip(theme): tidy up module structure a little * wip(theme): removed unhandled references to foreground_color * chore: fix cargo fmt * feat(theme): allow crossterm-deserializable colors
2024-07-15feat(tui): Customizable Themes (#2236)P T Weir
* wip: add theme * feat(theme): basic theming approach * feat(theme): adds theming support * fix: split out palette without compact inspector * fix(theme): tidy up implementation * fix(theme): correct yaml to toml * fix(theme): typo in comments * chore: cheer up clippy * fix(themes): ensure tests cannot hit real loading directory * chore: rustfmt * chore: rebase * feat(themes): add rgb hexcode support * fix(theme): add tests * fix(theme): use builtin log levels and correct debug test * feat(theme): adds the ability to derive from a non-base theme * fix(theme): warn if the in-file name of a theme does not match the filename * chore: tidy for rustfmt and clippy * chore: tidy for rustfmt and clippy
2024-05-30fix(stats): generation for commands starting with a pipe (#2058)Sandro
Closes #1882
2024-05-06feat(ui): scroll history infinitely (#1999)Ellie Huxtable
* wip, history scrolls right! * wip * virtual scroll fucking worksssss * paging works :) * scroll search results now too
2024-04-30feat(history): create atuin-history, add stats to it (#1990)Ellie Huxtable
* feat(history): create atuin-history, add stats to it I'd like to eventually pull all the history stuff into this crate. Stats are a nice start, as I'd like to use them from the UI anyways. * lock * clippy
2024-04-18chore: move crates into crates/ dir (#1958)Ellie Huxtable
I'd like to tidy up the root a little, and it's nice to have all the rust crates in one place
2024-02-26fix(stats): Enable multiple command stats to be shown using ↵Eric Hodel
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-15feat: add 'ignored_commands' option to stats (#1722)David
2024-02-06fix(tests): add Settings::utc() for utc settings (#1677)Ellie Huxtable
Means we don't try and load timezones in tests, as this fails due to multiple threads. Also allow specifying '0' or 'utc' as a timezone
2024-02-06Add timezone configuration option & CLI overrides (#1517)cyqsimon
* Allow specifying a timezone in history search/list * Fix clippy complaints * Add a bit more comment on supporting named timezones * Add rudimentary tests * Ditch local timezone test * Timezone configuration support * Set default timezone to `local` * `--tz` -> `--timezone` `--tz` is kept as a visible alias
2024-01-24stats: Misc improvements (#1613)Philippe Normand
* fix(stats): Don't bail/error if no command is found An empty history shouldn't be source of error when printing stats. * fix(stats): Improve help message a bit. It wasn't clear what the period format could be.
2024-01-19fix: Use existing db querying for history list (#1589)Peter Holloway
When printing the history list with either the session or cwd filter enabled, use to same query method as without either to ensure that the other options (hide deleted entries etc) are respected.
2024-01-17Stop control characters being printed to terminal (#1576)Peter Holloway
If a previous command in the history contained a literal control character (eg via Ctrl-v, Ctrl-[), when the command was printed, the control character was printed and whatever control sequence it was part of was interpreted by the terminal. For instance, if a command contained the SGR sequence `^[[31m`, all subsequent output from `atuin history list` would be in red. Slightly less of a problem, control characters would also not appear in the interactive search widget although they would be printed when selected. This meant `echo '^[[31foo'` would appear as `echo '[31foo'`. When the entry was selected, the same problem as before would occur and, for the example above, `echo 'foo'` would be printed with 'foo' in red. When copied, this command would not behave the same as the original as it would be missing the control sequence. This adds an extension trait to add a method to anything that behaves like a string to escape ascii control characters and return a string that can be printed safely. This string can then be copied and run directly without having to add the control characters back.
2024-01-01fix(stats): time now_local not working Conrad Ludgate
2023-11-29feat: allow spaces in stats prefixes (#1414)Patrick Jackson
2023-11-23feat: allow configuring stats prefix (#1411)Ellie Huxtable
2023-10-08clear history id (#1263)Conrad Ludgate
* clear history id * fix nu
2023-10-04Fix/1207 deleted entries shown in interactive search (#1272)Dieter Eickstaedt
2023-09-11replace chrono with time (#806)Conrad Ludgate
* replace chrono with time * Fix test chrono usage --------- Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
2023-07-14Add workspace mode, enable if in git repo (#1053)Ellie Huxtable
* Add workspace mode, enable if in git repo * Fix tests * Should now be good * Page filter modes correctly if in workspace
2023-04-14Workspace reorder (#868)Vladislav Stepanov
* Try different workspace structure Move main crate (atuin) to be on the same level with other crates in this workspace * extract common dependencies to the workspace definition * fix base64 v0.21 deprecation warning * questionable: update deps & fix chrono deprecations possible panic sites are unchanged, they're just more visible now * Revert "questionable: update deps & fix chrono deprecations" This reverts commit 993e60f8dea81a1625a04285a617959ad09a0866.
2023-04-10Atuin stats with day, month, week and year filter (#858)Gokul
* atuin stats with day, month and year * fixed stats for week * review suggestions * rust formatted
2023-03-13add common prefixes and subcommands to stats (#773)Conrad Ludgate
* add common prefixes and subcommands to stats * fmt
2023-03-09fix new stats unique count (#772)Conrad Ludgate
2023-02-14Check before unwrapping in stats (#717)Ellie Huxtable
Should fix the error @pdecat found!
2023-02-10stats (#707)Conrad Ludgate
2022-10-21docs: add more details about date parsing in the stats command (#579)Benjamin Vergnaud
* docs: add more details about date parsing in the stats command * chore: Replace chrono-english crate with interim
2022-10-18Upgrade clap (#568)Conrad Ludgate
2022-05-09Importer V3 (#395)Conrad Ludgate
* start of importer refactor * fish * resh * zsh
2022-05-03Adds stats summary (#384)Satyarth Sampath
* stat command parsing is handled without subcommands * Updates match clause based on PR review Co-authored-by: Conrad Ludgate <oon@conradludgate.com> * updates value returned by match based on PR review * adds vscode to gitignore * use an if statement instead of match Co-authored-by: Satyarth <satyarth.sampath@gojek.com> Co-authored-by: Conrad Ludgate <oon@conradludgate.com>
2022-04-28ignore JetBrains IDEs, tidy-up imports (#348)Jakub Panek
* ignore JB IDEs * tidy-up imports * add rustfmt config
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-21refactor commands for better separation (#313)Conrad Ludgate
* refactor commands for better separation * fmt
2022-04-21A few minor tweaks (#314)Conrad Ludgate
* use bail macro replace client database errors remove dead code * fix test
2022-04-07Update to clap 3.1.x (#289)Jamie Quigley
2021-05-09Use an enum for dialect (#80)Yuvi Panda
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-03-10Add config file support (#15)Ellie Huxtable
2021-02-15use database trait instead of sqlite impl (#10)Conrad Ludgate
small improvements
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