Test sorting fuzzy compltns in alphabetical order
This commit is contained in:
parent
c0910383df
commit
eb5f5b4617
|
@ -90,8 +90,6 @@ fn subcommand_completer() -> NuCompleter {
|
||||||
// Create a new engine
|
// Create a new engine
|
||||||
let (dir, _, mut engine, mut stack) = new_engine();
|
let (dir, _, mut engine, mut stack) = new_engine();
|
||||||
|
|
||||||
// Use fuzzy matching, because subcommands are sorted by Levenshtein distance,
|
|
||||||
// and that's not very useful with prefix matching
|
|
||||||
let commands = r#"
|
let commands = r#"
|
||||||
$env.config.completions.algorithm = "fuzzy"
|
$env.config.completions.algorithm = "fuzzy"
|
||||||
def foo [] {}
|
def foo [] {}
|
||||||
|
@ -106,6 +104,22 @@ fn subcommand_completer() -> NuCompleter {
|
||||||
NuCompleter::new(Arc::new(engine), Arc::new(stack))
|
NuCompleter::new(Arc::new(engine), Arc::new(stack))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Use fuzzy completions but sort in alphabetical order
|
||||||
|
#[fixture]
|
||||||
|
fn fuzzy_alpha_sort_completer() -> NuCompleter {
|
||||||
|
// Create a new engine
|
||||||
|
let (dir, _, mut engine, mut stack) = new_engine();
|
||||||
|
|
||||||
|
let config = r#"
|
||||||
|
$env.config.completions.algorithm = "fuzzy"
|
||||||
|
$env.config.completions.sort = "alpha"
|
||||||
|
"#;
|
||||||
|
assert!(support::merge_input(config.as_bytes(), &mut engine, &mut stack, dir).is_ok());
|
||||||
|
|
||||||
|
// Instantiate a new completer
|
||||||
|
NuCompleter::new(Arc::new(engine), Arc::new(stack))
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn variables_dollar_sign_with_variablecompletion() {
|
fn variables_dollar_sign_with_variablecompletion() {
|
||||||
let (_, _, engine, stack) = new_engine();
|
let (_, _, engine, stack) = new_engine();
|
||||||
|
@ -1169,6 +1183,17 @@ fn custom_completer_triggers_cursor_after_word(mut custom_completer: NuCompleter
|
||||||
match_suggestions(expected, suggestions);
|
match_suggestions(expected, suggestions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[rstest]
|
||||||
|
fn sort_fuzzy_completions_in_alphabetical_order(mut fuzzy_alpha_sort_completer: NuCompleter) {
|
||||||
|
let suggestions = fuzzy_alpha_sort_completer.complete("ls nu", 5);
|
||||||
|
// Even though "nushell" is a better match, it should come second because
|
||||||
|
// the completions should be sorted in alphabetical order
|
||||||
|
match_suggestions(
|
||||||
|
vec!["custom_completion.nu".into(), "nushell".into()],
|
||||||
|
suggestions,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#[ignore = "was reverted, still needs fixing"]
|
#[ignore = "was reverted, still needs fixing"]
|
||||||
#[rstest]
|
#[rstest]
|
||||||
fn alias_offset_bug_7648() {
|
fn alias_offset_bug_7648() {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user