From 41335c1618d3c7c1c5950a228ea15e2d0c3c2d8d Mon Sep 17 00:00:00 2001
From: Rory Dudley
Date: Mon, 30 Sep 2024 21:55:42 -0600
Subject: Add backslashes to words with spaces in autocomplete()

This patch makes it so that the autcomplete() function automatically
inserts the backslash character (`\`) into words with spaces when
cylcing through the options.

Signed-off-by: Rory Dudley <rory@netc.lu>
---
 src/buffer.rs | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/buffer.rs b/src/buffer.rs
index c27946f..4d00d34 100644
--- a/src/buffer.rs
+++ b/src/buffer.rs
@@ -154,12 +154,22 @@ fn autocomplete(
         path.file_name().unwrap().to_str().unwrap().to_string()
     };
 
-    let path = if word.is_empty() {
+    let mut path = if word.is_empty() {
         path
     } else {
         path[word.len()..].to_string()
     };
 
+    let pause_positions = path
+        .chars()
+        .enumerate()
+        .filter(|(_, c)| *c == ' ')
+        .map(|(i, _)| i)
+        .collect::<Vec<_>>();
+    for pos in pause_positions {
+        path.insert(pos, '\\');
+    }
+
     print!("{}", path);
 
     Ok((path, paths.len()))
-- 
cgit v1.2.3