Improve "Did you mean?" suggestions (#6579)

* Copy lev_distance.rs from the rust compiler

* Minor changes to code from rust compiler

* "Did you mean" suggestions: test instrumented to generate markdown report

* Did you mean suggestions: delete test instrumentation

* Fix tests

* Fix test

`foo` has a genuine match: `for`

* Improve tests
This commit is contained in:
Dan Davison
2022-09-20 20:46:01 -04:00
committed by GitHub
parent 9aed95408d
commit ad0c6bf7d5
11 changed files with 348 additions and 151 deletions

View File

@ -194,7 +194,7 @@ fn source_env_eval_export_env_hide() {
let actual = nu!(cwd: dirs.test(), pipeline(&inp.join("; ")));
assert!(actual.err.contains("did you mean"));
assert!(actual.err.contains("cannot find column"));
})
}
@ -275,21 +275,21 @@ fn source_env_is_scoped() {
sandbox.with_files(vec![FileWithContentToBeTrimmed(
"spam.nu",
r#"
def foo [] { 'foo' }
alias bar = 'bar'
def no-name-similar-to-this [] { 'no-name-similar-to-this' }
alias nor-similar-to-this = 'nor-similar-to-this'
"#,
)]);
let inp = &[r#"source-env spam.nu"#, r#"foo"#];
let inp = &[r#"source-env spam.nu"#, r#"no-name-similar-to-this"#];
let actual = nu!(cwd: dirs.test(), pipeline(&inp.join("; ")));
assert!(actual.err.contains("did you mean"));
assert!(actual.err.contains("can't run executable"));
let inp = &[r#"source-env spam.nu"#, r#"bar"#];
let inp = &[r#"source-env spam.nu"#, r#"nor-similar-to-this"#];
let actual = nu!(cwd: dirs.test(), pipeline(&inp.join("; ")));
assert!(actual.err.contains("did you mean"));
assert!(actual.err.contains("can't run executable"));
})
}