diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5886806..8784435 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -10,6 +10,9 @@ on: tags: - "v*" + release: + types: [created] + jobs: build: name: ${{ matrix.job.os }} (${{ matrix.job.target }}) diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..761243e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,56 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project (mostly) adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.7.0] - 2021-05-10 + +Thank you so much to everyone that started contributing to Atuin for this release! + +- [@yuvipanda](https://github.com/yuvipanda) +- [@Sciencentistguy](https://github.com/Sciencentistguy) +- [@bl-ue](https://github.com/bl-ue) +- [@ElvishJerricco](https://github.com/ElvishJerricco) +- [@avinassh](https://github.com/avinassh) +- [@ismith](https://github.com/ismith) +- [@thedrow](https://github.com/thedrow) + +And a special thank you to [@conradludgate](https://github.com/conradludgate) for his ongoing contributions :) + +### Added + +- Ctrl-C to exit (#53) +- Ctrl-D to exit (#65) +- Add option to not automatically bind keys (#62) +- Add importer for Resh history (#69) +- Retain the query entered if no results are found (#76) +- Support full-text querying (#75) +- Allow listing or searching with only the command as output (#89) +- Emacs-style ctrl-g, ctrl-n, ctrl-p (#77) +- `atuin logout` (#91) +- "quick access" to earlier commands via Alt-N (#79) + +### Changed + +- CI build caching (#49) +- Use an enum for dialect (#80) +- Generic importer trait (#71) +- Increased optimisation for release builds (#101) +- Shellcheck fixes for bash file (#81) +- Some general cleanup, bugfixes, and refactoring (#83, #90, #48) + +### Deprecated + +### Removed + +### Fixed + +- Ubuntu install (#46) +- Bash integration (#88) +- Newline when editing shell RC files (#60) + +### Security diff --git a/Cargo.lock b/Cargo.lock index 0369c71..d42c01d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -76,7 +76,7 @@ dependencies = [ [[package]] name = "atuin" -version = "0.6.4" +version = "0.7.0" dependencies = [ "async-trait", "atuin-client", @@ -108,7 +108,7 @@ dependencies = [ [[package]] name = "atuin-client" -version = "0.6.2" +version = "0.7.0" dependencies = [ "async-trait", "atuin-common", @@ -142,7 +142,7 @@ dependencies = [ [[package]] name = "atuin-common" -version = "0.6.2" +version = "0.7.0" dependencies = [ "chrono", "eyre", @@ -158,7 +158,7 @@ dependencies = [ [[package]] name = "atuin-server" -version = "0.6.2" +version = "0.7.0" dependencies = [ "async-trait", "atuin-common", diff --git a/Cargo.toml b/Cargo.toml index ca3df5b..999b7fe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "atuin" -version = "0.6.4" +version = "0.7.0" authors = ["Ellie Huxtable "] edition = "2018" license = "MIT" @@ -29,9 +29,9 @@ atuin = { path = "/usr/bin/atuin" } members = ["./atuin-client", "./atuin-server", "./atuin-common"] [dependencies] -atuin-server = { path = "atuin-server", version = "0.6.2" } -atuin-client = { path = "atuin-client", version = "0.6.2" } -atuin-common = { path = "atuin-common", version = "0.6.2" } +atuin-server = { path = "atuin-server", version = "0.7.0" } +atuin-client = { path = "atuin-client", version = "0.7.0" } +atuin-common = { path = "atuin-common", version = "0.7.0" } log = "0.4" pretty_env_logger = "0.4" diff --git a/README.md b/README.md index c79e781..795cbdc 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ I wanted to. And I **really** don't want to. - log exit code, cwd, hostname, session, command duration, etc - calculate statistics such as "most used command" - old history file is not replaced +- quick-jump to previous items with Alt-\ ## Documentation diff --git a/atuin-client/Cargo.toml b/atuin-client/Cargo.toml index 1dcb9aa..52d0d2f 100644 --- a/atuin-client/Cargo.toml +++ b/atuin-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "atuin-client" -version = "0.6.2" +version = "0.7.0" authors = ["Ellie Huxtable "] edition = "2018" license = "MIT" @@ -11,7 +11,7 @@ repository = "https://github.com/ellie/atuin" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -atuin-common = { path = "../atuin-common", version = "0.6.0" } +atuin-common = { path = "../atuin-common", version = "0.7.0" } log = "0.4" fern = {version = "0.6.0", features = ["colored"] } diff --git a/atuin-client/config.toml b/atuin-client/config.toml index 33e5b54..c892629 100644 --- a/atuin-client/config.toml +++ b/atuin-client/config.toml @@ -22,3 +22,7 @@ ## address of the sync server # sync_address = "https://api.atuin.sh" + +## which search mode to use +## possible values: prefix, fulltext +# search_mode = "prefix" diff --git a/atuin-common/Cargo.toml b/atuin-common/Cargo.toml index 2282f52..a30bb50 100644 --- a/atuin-common/Cargo.toml +++ b/atuin-common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "atuin-common" -version = "0.6.2" +version = "0.7.0" authors = ["Ellie Huxtable "] edition = "2018" license = "MIT" diff --git a/atuin-server/Cargo.toml b/atuin-server/Cargo.toml index 24529ba..c615a0e 100644 --- a/atuin-server/Cargo.toml +++ b/atuin-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "atuin-server" -version = "0.6.2" +version = "0.7.0" authors = ["Ellie Huxtable "] edition = "2018" license = "MIT" @@ -9,7 +9,7 @@ homepage = "https://atuin.sh" repository = "https://github.com/ellie/atuin" [dependencies] -atuin-common = { path = "../atuin-common", version = "0.6.0" } +atuin-common = { path = "../atuin-common", version = "0.7.0" } log = "0.4" fern = {version = "0.6.0", features = ["colored"] } diff --git a/demo.gif b/demo.gif index 1da6c0b..6eac1ab 100644 Binary files a/demo.gif and b/demo.gif differ diff --git a/docs/config.md b/docs/config.md index 7c04225..29ce770 100644 --- a/docs/config.md +++ b/docs/config.md @@ -94,6 +94,17 @@ The path to the Atuin server session file. Defaults to key = "~/.atuin-session" ``` +### `search_mode` + +Which search mode to use. Atuin supports both "prefix" and full text search +modes. The former will essentially search for "query*", and the latter "*query\*" + +Defaults to "prefix" + +``` +search_mode = "fulltext" +``` + ## Server config `// TODO` diff --git a/src/command/search.rs b/src/command/search.rs index 2dcdecc..d3807bc 100644 --- a/src/command/search.rs +++ b/src/command/search.rs @@ -103,10 +103,7 @@ impl State { None => Span::raw(" "), Some(diff) => { if 0 < diff && diff < 10 { - Span::styled( - format!(" {} ", diff), - Style::default().fg(Color::DarkGray), - ) + Span::raw(format!(" {} ", diff)) } else { Span::raw(" ") } @@ -275,7 +272,7 @@ fn draw(f: &mut Frame<'_, T>, history_count: i64, app: &mut State) { .split(top_chunks[1]); let title = Paragraph::new(Text::from(Span::styled( - format!("A'tuin v{}", VERSION), + format!("Atuin v{}", VERSION), Style::default().add_modifier(Modifier::BOLD), )));