mirror of
https://github.com/nushell/nushell.git
synced 2025-03-13 15:08:43 +01:00
test: exportable
This commit is contained in:
parent
63d9867b60
commit
27ec35160f
@ -591,7 +591,7 @@ impl NuCompleter {
|
|||||||
ctx.prefix.len().min(pos.min(span.end) - ctx.span.start + 1);
|
ctx.prefix.len().min(pos.min(span.end) - ctx.span.start + 1);
|
||||||
let new_ctx = Context::new(
|
let new_ctx = Context::new(
|
||||||
ctx.working_set,
|
ctx.working_set,
|
||||||
Span::new(span.start, ctx.span.end.min(span.end).min(pos + 1)),
|
Span::new(span.start, ctx.span.end.min(span.end)),
|
||||||
ctx.prefix.get(offset..end_offset).unwrap_or_default(),
|
ctx.prefix.get(offset..end_offset).unwrap_or_default(),
|
||||||
ctx.offset,
|
ctx.offset,
|
||||||
);
|
);
|
||||||
|
@ -558,6 +558,33 @@ fn dotnu_stdlib_completions() {
|
|||||||
match_suggestions(&vec!["clip"], &suggestions);
|
match_suggestions(&vec!["clip"], &suggestions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn exportable_completions() {
|
||||||
|
let (_, _, mut engine, stack) = new_dotnu_engine();
|
||||||
|
assert!(load_standard_library(&mut engine).is_ok());
|
||||||
|
let mut completer = NuCompleter::new(Arc::new(engine), Arc::new(stack));
|
||||||
|
|
||||||
|
let completion_str = "use std null";
|
||||||
|
let suggestions = completer.complete(completion_str, completion_str.len());
|
||||||
|
match_suggestions(&vec!["null-device", "null_device"], &suggestions);
|
||||||
|
|
||||||
|
let completion_str = "export use std/assert eq";
|
||||||
|
let suggestions = completer.complete(completion_str, completion_str.len());
|
||||||
|
match_suggestions(&vec!["equal"], &suggestions);
|
||||||
|
|
||||||
|
let completion_str = "use std/assert \"not eq";
|
||||||
|
let suggestions = completer.complete(completion_str, completion_str.len());
|
||||||
|
match_suggestions(&vec!["'not equal'"], &suggestions);
|
||||||
|
|
||||||
|
let completion_str = "use std-rfc/clip ['prefi";
|
||||||
|
let suggestions = completer.complete(completion_str, completion_str.len());
|
||||||
|
match_suggestions(&vec!["prefix"], &suggestions);
|
||||||
|
|
||||||
|
let completion_str = "use std/math [E, `TAU";
|
||||||
|
let suggestions = completer.complete(completion_str, completion_str.len());
|
||||||
|
match_suggestions(&vec!["TAU"], &suggestions);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn dotnu_completions_const_nu_lib_dirs() {
|
fn dotnu_completions_const_nu_lib_dirs() {
|
||||||
let (_, _, engine, stack) = new_dotnu_engine();
|
let (_, _, engine, stack) = new_dotnu_engine();
|
||||||
|
@ -63,10 +63,8 @@ impl LanguageServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let span = r.suggestion.span;
|
let span = r.suggestion.span;
|
||||||
let range = span_to_range(&Span::new(span.start, span.end), file, 0);
|
|
||||||
|
|
||||||
let text_edit = Some(CompletionTextEdit::Edit(TextEdit {
|
let text_edit = Some(CompletionTextEdit::Edit(TextEdit {
|
||||||
range,
|
range: span_to_range(&Span::new(span.start, span.end), file, 0),
|
||||||
new_text: label_value.clone(),
|
new_text: label_value.clone(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@ -236,7 +234,7 @@ mod tests {
|
|||||||
"detail": "Edit nu configurations.",
|
"detail": "Edit nu configurations.",
|
||||||
"textEdit": { "range": { "start": { "line": 0, "character": 0 }, "end": { "line": 0, "character": 8 }, },
|
"textEdit": { "range": { "start": { "line": 0, "character": 0 }, "end": { "line": 0, "character": 8 }, },
|
||||||
"newText": "config nu "
|
"newText": "config nu "
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user