add case_sensitive_completions config option (#5646)

This commit is contained in:
Darren Schroeder 2022-05-26 09:22:20 -05:00 committed by GitHub
parent 3b8deb9ec7
commit 0594f9e7aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 2 deletions

View File

@ -37,7 +37,10 @@ impl NuCompleter {
) -> Vec<Suggestion> { ) -> Vec<Suggestion> {
let config = self.engine_state.get_config(); let config = self.engine_state.get_config();
let mut options = CompletionOptions::default(); let mut options = CompletionOptions {
case_sensitive: config.case_sensitive_completions,
..Default::default()
};
if config.completion_algorithm == "fuzzy" { if config.completion_algorithm == "fuzzy" {
options.match_algorithm = MatchAlgorithm::Fuzzy; options.match_algorithm = MatchAlgorithm::Fuzzy;

View File

@ -75,6 +75,7 @@ pub struct Config {
pub buffer_editor: String, pub buffer_editor: String,
pub disable_table_indexes: bool, pub disable_table_indexes: bool,
pub cd_with_abbreviations: bool, pub cd_with_abbreviations: bool,
pub case_sensitive_completions: bool,
} }
impl Default for Config { impl Default for Config {
@ -105,6 +106,7 @@ impl Default for Config {
buffer_editor: String::new(), buffer_editor: String::new(),
disable_table_indexes: false, disable_table_indexes: false,
cd_with_abbreviations: false, cd_with_abbreviations: false,
case_sensitive_completions: false,
} }
} }
} }
@ -311,7 +313,14 @@ impl Value {
if let Ok(b) = value.as_bool() { if let Ok(b) = value.as_bool() {
config.cd_with_abbreviations = b; config.cd_with_abbreviations = b;
} else { } else {
eprintln!("$config.disable_table_indexes is not a bool") eprintln!("$config.cd_with_abbreviations is not a bool")
}
}
"case_sensitive_completions" => {
if let Ok(b) = value.as_bool() {
config.case_sensitive_completions = b;
} else {
eprintln!("$config.case_sensitive_completions is not a bool")
} }
} }
x => { x => {

View File

@ -199,6 +199,8 @@ let-env config = {
shell_integration: true # enables terminal markers and a workaround to arrow keys stop working issue shell_integration: true # enables terminal markers and a workaround to arrow keys stop working issue
disable_table_indexes: false # set to true to remove the index column from tables disable_table_indexes: false # set to true to remove the index column from tables
cd_with_abbreviations: false # set to true to allow you to do things like cd s/o/f and nushell expand it to cd some/other/folder cd_with_abbreviations: false # set to true to allow you to do things like cd s/o/f and nushell expand it to cd some/other/folder
case_sensitive_completions: false # set to true to enable case-sensitive completions
hooks: { hooks: {
pre_prompt: [{ pre_prompt: [{
$nothing # replace with source code to run before the prompt is shown $nothing # replace with source code to run before the prompt is shown