Unnamed repository; edit this file 'description' to name the repository.
Fix command line completion replacement for quoted items
With a directory with spaces in the name (for example `mkdir -p 'Temp/Abc Def'`), completing `Temp/Ab` would create a completion item `'Temp/AbAbc Def'`. Now it correctly completes `'Temp/Abc Def'`
Michael Davis 9 months ago
parent 8961ae1 · commit 67f1fe2
-rw-r--r--helix-term/src/commands/typed.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/helix-term/src/commands/typed.rs b/helix-term/src/commands/typed.rs
index 808c12ca..2013a9d8 100644
--- a/helix-term/src/commands/typed.rs
+++ b/helix-term/src/commands/typed.rs
@@ -3867,10 +3867,12 @@ fn quote_completion<'a>(
span.content = Cow::Owned(format!(
"'{}{}'",
// Escape any inner single quotes by doubling them.
- replace(token.content.as_ref().into(), '\'', "''"),
+ replace(token.content[..range.start].into(), '\'', "''"),
replace(span.content, '\'', "''")
));
- // Ignore `range.start` here since we're replacing the entire token.
+ // Ignore `range.start` here since we're replacing the entire token. We used
+ // `range.start` above to emulate the replacement that using `range.start` would have
+ // done.
((offset + token.content_start).., span)
}
TokenKind::Quoted(quote) => {