* feat(keyup): Configure SearchMode for KeyUp invocation #1216 * docs: adjusted search mode documentation * feat: setting search mode on engine * chore: cargo fmt * chore: removed redundant field name
This commit is contained in:
parent
15abf42984
commit
ebef5cdaf0
5 changed files with 28 additions and 4 deletions
|
@ -47,6 +47,11 @@
|
||||||
## leave unspecified to use same mode set in "filter_mode"
|
## leave unspecified to use same mode set in "filter_mode"
|
||||||
# filter_mode_shell_up_key_binding = "global"
|
# filter_mode_shell_up_key_binding = "global"
|
||||||
|
|
||||||
|
## which search mode to use when atuin is invoked from a shell up-key binding
|
||||||
|
## the accepted values are identical to those of "search_mode"
|
||||||
|
## leave unspecified to use same mode set in "search_mode"
|
||||||
|
# search_mode_shell_up_key_binding = "fuzzy"
|
||||||
|
|
||||||
## which style to use
|
## which style to use
|
||||||
## possible values: auto, full, compact
|
## possible values: auto, full, compact
|
||||||
# style = "auto"
|
# style = "auto"
|
||||||
|
|
|
@ -157,6 +157,7 @@ pub struct Settings {
|
||||||
pub search_mode: SearchMode,
|
pub search_mode: SearchMode,
|
||||||
pub filter_mode: FilterMode,
|
pub filter_mode: FilterMode,
|
||||||
pub filter_mode_shell_up_key_binding: Option<FilterMode>,
|
pub filter_mode_shell_up_key_binding: Option<FilterMode>,
|
||||||
|
pub search_mode_shell_up_key_binding: Option<SearchMode>,
|
||||||
pub shell_up_key_binding: bool,
|
pub shell_up_key_binding: bool,
|
||||||
pub inline_height: u16,
|
pub inline_height: u16,
|
||||||
pub invert: bool,
|
pub invert: bool,
|
||||||
|
|
|
@ -614,13 +614,19 @@ pub async fn history(
|
||||||
let context = current_context();
|
let context = current_context();
|
||||||
|
|
||||||
let history_count = db.history_count().await?;
|
let history_count = db.history_count().await?;
|
||||||
|
let search_mode = if settings.shell_up_key_binding {
|
||||||
|
settings
|
||||||
|
.search_mode_shell_up_key_binding
|
||||||
|
.unwrap_or(settings.search_mode)
|
||||||
|
} else {
|
||||||
|
settings.search_mode
|
||||||
|
};
|
||||||
let mut app = State {
|
let mut app = State {
|
||||||
history_count,
|
history_count,
|
||||||
results_state: ListState::default(),
|
results_state: ListState::default(),
|
||||||
update_needed: None,
|
update_needed: None,
|
||||||
switched_search_mode: false,
|
switched_search_mode: false,
|
||||||
search_mode: settings.search_mode,
|
search_mode,
|
||||||
search: SearchState {
|
search: SearchState {
|
||||||
input,
|
input,
|
||||||
filter_mode: if settings.workspaces && context.git_root.is_some() {
|
filter_mode: if settings.workspaces && context.git_root.is_some() {
|
||||||
|
@ -634,7 +640,7 @@ pub async fn history(
|
||||||
},
|
},
|
||||||
context,
|
context,
|
||||||
},
|
},
|
||||||
engine: engines::engine(settings.search_mode),
|
engine: engines::engine(search_mode),
|
||||||
results_len: 0,
|
results_len: 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -154,6 +154,18 @@ Filter modes can still be toggled via ctrl-r
|
||||||
filter_mode = "host"
|
filter_mode = "host"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### `search_mode_shell_up_key_binding`
|
||||||
|
|
||||||
|
The default searchmode to use when searching and being invoked from a shell up-key binding.
|
||||||
|
|
||||||
|
Accepts exactly the same options as `search_mode` above
|
||||||
|
|
||||||
|
```
|
||||||
|
search_mode_shell_up_key_binding = "fuzzy"
|
||||||
|
```
|
||||||
|
|
||||||
|
Defaults to the value specified for search_mode.
|
||||||
|
|
||||||
### `filter_mode_shell_up_key_binding`
|
### `filter_mode_shell_up_key_binding`
|
||||||
|
|
||||||
The default filter to use when searching and being invoked from a shell up-key binding.
|
The default filter to use when searching and being invoked from a shell up-key binding.
|
||||||
|
|
|
@ -8,7 +8,7 @@ Atuin does not yet have full key binding customization, though we do allow some
|
||||||
|
|
||||||
## Custom up arrow filter mode
|
## Custom up arrow filter mode
|
||||||
|
|
||||||
It can be useful to use a different filter mode on the up arrow. For example, you could use ctrl-r for searching globally, but the up arrow for searching history from the current directory only.
|
It can be useful to use a different filter or search mode on the up arrow. For example, you could use ctrl-r for searching globally, but the up arrow for searching history from the current directory only.
|
||||||
|
|
||||||
Set your config like this:
|
Set your config like this:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue