mirror of
https://github.com/nushell/nushell.git
synced 2024-11-23 00:43:33 +01:00
Fix slice indexing (#6322)
* Return empty suggestions if no span contents is present * Fix slice indexing
This commit is contained in:
parent
1d18f6947e
commit
4ab468e65f
@ -81,6 +81,9 @@ impl CommandCompletion {
|
|||||||
match_algorithm: MatchAlgorithm,
|
match_algorithm: MatchAlgorithm,
|
||||||
) -> Vec<Suggestion> {
|
) -> Vec<Suggestion> {
|
||||||
let partial = working_set.get_span_contents(span);
|
let partial = working_set.get_span_contents(span);
|
||||||
|
if partial.is_empty() {
|
||||||
|
return Vec::new();
|
||||||
|
}
|
||||||
|
|
||||||
let filter_predicate = |command: &[u8]| match_algorithm.matches_u8(command, partial);
|
let filter_predicate = |command: &[u8]| match_algorithm.matches_u8(command, partial);
|
||||||
|
|
||||||
|
@ -576,8 +576,7 @@ impl EngineState {
|
|||||||
return &contents[(span.start - start)..(span.end - start)];
|
return &contents[(span.start - start)..(span.end - start)];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
&[0u8; 0]
|
||||||
panic!("internal error: span missing in file contents cache")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_config(&self) -> &Config {
|
pub fn get_config(&self) -> &Config {
|
||||||
@ -1292,7 +1291,13 @@ impl<'a> StateWorkingSet<'a> {
|
|||||||
if permanent_end <= span.start {
|
if permanent_end <= span.start {
|
||||||
for (contents, start, finish) in &self.delta.file_contents {
|
for (contents, start, finish) in &self.delta.file_contents {
|
||||||
if (span.start >= *start) && (span.end <= *finish) {
|
if (span.start >= *start) && (span.end <= *finish) {
|
||||||
return &contents[(span.start - start)..(span.end - start)];
|
let begin = span.start - start;
|
||||||
|
let mut end = span.end - start;
|
||||||
|
if begin > end {
|
||||||
|
end = *finish - permanent_end;
|
||||||
|
}
|
||||||
|
|
||||||
|
return &contents[begin..end];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user