aboutsummaryrefslogtreecommitdiffstats
path: root/src/linebuf.rs
diff options
context:
space:
mode:
authorJonas Maier <>2026-03-05 09:15:42 +0100
committerJonas Maier <>2026-03-05 09:15:42 +0100
commit70dd1e194c10904993069c14dbf4642e7a265889 (patch)
tree7863edc06688e17e9c684dacfbab8edf6181edd5 /src/linebuf.rs
parent5e9a2aa9440c1a10b1740b77eb64a3936245c8f2 (diff)
downloadpish-70dd1e194c10904993069c14dbf4642e7a265889.tar.gz
pipe continuations
Diffstat (limited to 'src/linebuf.rs')
-rw-r--r--src/linebuf.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/linebuf.rs b/src/linebuf.rs
index 91d0306..15a8182 100644
--- a/src/linebuf.rs
+++ b/src/linebuf.rs
@@ -1,5 +1,5 @@
-use std::io::Write;
use crate::cursor::*;
+use std::io::Write;
pub struct LineBuf {
pre: Vec<u8>,
@@ -45,6 +45,16 @@ impl LineBuf {
self.pre.push(chr);
}
+ pub fn is_empty(&self) -> bool {
+ self.pre.is_empty() && self.post.is_empty()
+ }
+
+ /// sets content all to the left
+ pub fn set_content(&mut self, buf: Vec<u8>) {
+ self.pre = buf;
+ self.post = Vec::new();
+ }
+
/// returns the whole contents of the buffer, and empties it in the process
pub fn dump(&mut self) -> Vec<u8> {
while self.right() {}