add wrapper script
This commit is contained in:
13
src/main.rs
13
src/main.rs
@@ -1,11 +1,10 @@
|
|||||||
use std::{env::args, io::{self, BufRead, Read, stdin}};
|
use std::{env::args, fs::OpenOptions, io::{self, Read, Write}};
|
||||||
|
|
||||||
use ratatui::{
|
use ratatui::{
|
||||||
DefaultTerminal, Frame, crossterm::event::{self, Event}, layout::{self, Constraint, Layout}, style::{Style, palette::material::{BLACK, WHITE}}, widgets::{Block, BorderType, Paragraph}
|
DefaultTerminal, Frame, crossterm::event::{self, Event}, layout::{self, Constraint, Layout}, style::{Style, palette::material::{BLACK, WHITE}}, widgets::{Block, BorderType, Paragraph}
|
||||||
};
|
};
|
||||||
|
|
||||||
fn main() -> Result<(), std::io::Error> {
|
fn main() -> Result<(), std::io::Error> {
|
||||||
// let mut buffer = Vec::new();
|
|
||||||
let mut buffer = String::new();
|
let mut buffer = String::new();
|
||||||
let stdin = io::stdin();
|
let stdin = io::stdin();
|
||||||
let mut handle = stdin.lock();
|
let mut handle = stdin.lock();
|
||||||
@@ -19,7 +18,15 @@ fn main() -> Result<(), std::io::Error> {
|
|||||||
ratatui::restore();
|
ratatui::restore();
|
||||||
|
|
||||||
let v = &app.options[app.index];
|
let v = &app.options[app.index];
|
||||||
println!("{}", v);
|
|
||||||
|
let args = args();
|
||||||
|
// gets the last arg
|
||||||
|
let path = args.skip(1).fold(String::new(), |_last, next| next);
|
||||||
|
if let Ok(mut file) = OpenOptions::new().write(true).create(false).open(&path) {
|
||||||
|
file.write_all(v.as_bytes()).expect("Could not write all bytes");
|
||||||
|
} else {
|
||||||
|
println!("{v}");
|
||||||
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
15
wrapper.sh
Executable file
15
wrapper.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Make a buffered FIFO queue
|
||||||
|
mkfifo /tmp/fifo 2> /dev/null
|
||||||
|
exec 4<> /tmp/fifo
|
||||||
|
|
||||||
|
# Put the output to fd 4 and put the TUI to 2, since pipes redirect 1 by default
|
||||||
|
cat /dev/stdin | ./target/release/select_option /proc/self/fd/4 1>&2
|
||||||
|
|
||||||
|
read -r VAL < /proc/self/fd/4
|
||||||
|
|
||||||
|
echo $VAL
|
||||||
|
|
||||||
|
rm /tmp/fifo
|
||||||
|
|
||||||
Reference in New Issue
Block a user