aboutsummaryrefslogtreecommitdiff
path: root/src/backends/mod.rs
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2019-01-11 02:31:29 +0000
committerRobin Krahl <robin.krahl@ireas.org>2019-01-11 03:32:45 +0100
commit84bfea7add93a98f83ad958151cca718c33bc0a4 (patch)
treecd860c19962398c06b17f383931441787a6e786e /src/backends/mod.rs
parentdc754cbc9763b3ea6979ed55bd4e8030fe073078 (diff)
downloaddialog-rs-84bfea7add93a98f83ad958151cca718c33bc0a4.tar.gz
dialog-rs-84bfea7add93a98f83ad958151cca718c33bc0a4.tar.bz2
Add the stdio backend
This patch adds the stdio backend which acts as a fallback backend and uses standard input and output. For password queries, the rpassword crate is used to suppress output. Also, default_backend is changed to return Stdio if Dialog is not available.
Diffstat (limited to 'src/backends/mod.rs')
-rw-r--r--src/backends/mod.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/backends/mod.rs b/src/backends/mod.rs
index f5af7ef..5ae3cef 100644
--- a/src/backends/mod.rs
+++ b/src/backends/mod.rs
@@ -2,9 +2,11 @@
// SPDX-License-Identifier: MIT
mod dialog;
+mod stdio;
mod zenity;
pub use crate::backends::dialog::Dialog;
+pub use crate::backends::stdio::Stdio;
pub use crate::backends::zenity::Zenity;
use std::env;
@@ -49,6 +51,7 @@ pub(crate) fn is_available(name: &str) -> bool {
pub(crate) fn from_str(s: &str) -> Option<Box<dyn Backend>> {
match s.to_lowercase().as_ref() {
"dialog" => Some(Box::new(Dialog::new())),
+ "stdio" => Some(Box::new(Stdio::new())),
"zenity" => Some(Box::new(Zenity::new())),
_ => None,
}