| Commit message (Collapse) | Author |
|
That helps remove duplicated code and rustc/cargo will now also show
dead code correctly.
|
|
<!-- 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
|
|
* chore: update to rust 1.88
* clippy + fmt
* update ci version
* update flake
|
|
* Ignore leading environment variables when calculating stats
* There's always an extra println
* Make clippy happy
* We don't actually need the tokens
|
|
* chore: upgrade to 2024 edition
* ugh unsafe
* format
* nixxxxxxxxxxx why
|
|
* wip
* wip
* final
* fix clippy
* do not hard code the year
* support tz properly, allow specifying the year
|
|
* 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
|
|
* 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
|
|
Closes #1882
|
|
* wip, history scrolls right!
* wip
* virtual scroll fucking worksssss
* paging works :)
* scroll search results now too
|
|
* 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
|
|
I'd like to tidy up the root a little, and it's nice to have all the
rust crates in one place
|
|
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>
|
|
|
|
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
|
|
* 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
|
|
* 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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
* clear history id
* fix nu
|
|
|
|
* replace chrono with time
* Fix test chrono usage
---------
Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
|
|
* Add workspace mode, enable if in git repo
* Fix tests
* Should now be good
* Page filter modes correctly if in workspace
|
|
* 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.
|
|
* atuin stats with day, month and year
* fixed stats for week
* review suggestions
* rust formatted
|
|
* add common prefixes and subcommands to stats
* fmt
|
|
|
|
Should fix the error @pdecat found!
|
|
|
|
* docs: add more details about date parsing in the stats command
* chore: Replace chrono-english crate with interim
|
|
|
|
* start of importer refactor
* fish
* resh
* zsh
|
|
* 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>
|
|
* ignore JB IDEs
* tidy-up imports
* add rustfmt config
|
|
* 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
|
|
* refactor commands for better separation
* fmt
|
|
* use bail macro
replace client database errors
remove dead code
* fix test
|
|
|
|
|
|
* 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
|
|
Also allow unique listing and more ergonomic cwd usage
|
|
* 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
|
|
|
|
small improvements
|
|
* 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
|