33 lines
862 B
Rust
33 lines
862 B
Rust
use crossterm::event::{self, Event, KeyCode, KeyEvent, KeyEventKind};
|
|
use nix_json_parser::*;
|
|
use ratatui::{
|
|
DefaultTerminal, Frame,
|
|
buffer::Buffer,
|
|
layout::Rect,
|
|
style::Stylize,
|
|
symbols::border,
|
|
text::{Line, Text},
|
|
widgets::{Block, Paragraph, Widget},
|
|
};
|
|
use std::io::{self, stdin};
|
|
|
|
fn main() -> io::Result<()> {
|
|
let mut terminal = ratatui::init();
|
|
let app_result = Nous::default().run(&mut terminal);
|
|
ratatui::restore();
|
|
app_result
|
|
}
|
|
|
|
#[derive(Default)]
|
|
struct Nous {}
|
|
|
|
impl Nous {
|
|
pub fn run(&mut self, terminal: &mut DefaultTerminal) -> io::Result<()> {
|
|
let lines = stdin().lines();
|
|
for line in lines.map_while(Result::ok) {
|
|
let trim = line.trim_start_matches("@nix ");
|
|
println!("{:?}", serde_json::from_str::<Actions>(trim).unwrap());
|
|
}
|
|
Ok(())
|
|
}
|
|
}
|