summaryrefslogtreecommitdiff
path: root/vendor/dialoguer/src/history.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/dialoguer/src/history.rs')
-rw-r--r--vendor/dialoguer/src/history.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/vendor/dialoguer/src/history.rs b/vendor/dialoguer/src/history.rs
new file mode 100644
index 0000000..d0818cc
--- /dev/null
+++ b/vendor/dialoguer/src/history.rs
@@ -0,0 +1,15 @@
+/// Trait for history handling.
+pub trait History<T> {
+ /// This is called with the current position that should
+ /// be read from history. The `pos` represents the number
+ /// of times the `Up`/`Down` arrow key has been pressed.
+ /// This would normally be used as an index to some sort
+ /// of vector. If the `pos` does not have an entry, [`None`](Option::None)
+ /// should be returned.
+ fn read(&self, pos: usize) -> Option<String>;
+
+ /// This is called with the next value you should store
+ /// in history at the first location. Normally history
+ /// is implemented as a FIFO queue.
+ fn write(&mut self, val: &T);
+}