aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Maier <>2026-03-10 15:40:11 +0100
committerJonas Maier <>2026-03-10 15:40:11 +0100
commit5a20456be99899e6519ec0595817e0d436eab627 (patch)
tree6649d9c73d862f580925b31bd1c6260a18269ef7
parent36072988ddce8f8cd47961608255c4ad8ba6b73e (diff)
downloadpish-5a20456be99899e6519ec0595817e0d436eab627.tar.gz
allow completion in the middle of the prompt
-rw-r--r--src/linebuf.rs4
-rw-r--r--src/main.rs2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/linebuf.rs b/src/linebuf.rs
index f5bd95f..6ba619a 100644
--- a/src/linebuf.rs
+++ b/src/linebuf.rs
@@ -88,6 +88,10 @@ impl LineBuf {
self.post = Vec::new();
}
+ pub fn pre(&self) -> &[u8] {
+ &self.pre
+ }
+
pub fn into_bytes(&self) -> Vec<u8> {
let mut buf = Vec::with_capacity(self.pre.len() + self.post.len());
buf.extend_from_slice(&self.pre);
diff --git a/src/main.rs b/src/main.rs
index d822a03..37d2ed3 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -349,7 +349,7 @@ fn event_loop() {
}
b'\t' => {
- let cmd = se.line.into_bytes();
+ let cmd = se.line.pre().to_vec();
drop(se);
let comp = parse::completion_context(
&cmd,