Compare commits
2 Commits
7bc10f34f2
...
40167f0f23
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40167f0f23 | ||
|
|
1ce513b688 |
1367
Cargo.lock
generated
1367
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -4,5 +4,5 @@ version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
crossterm = "0.26"
|
||||
ratatui = { version = "0.20", features = ["crossterm"] }
|
||||
crossterm = "0.29"
|
||||
ratatui = { version = "0.30", features = ["crossterm"] }
|
||||
|
||||
11
src/main.rs
11
src/main.rs
@@ -6,10 +6,10 @@ use crossterm::execute;
|
||||
use crossterm::terminal::{
|
||||
EnterAlternateScreen, LeaveAlternateScreen, disable_raw_mode, enable_raw_mode,
|
||||
};
|
||||
use ratatui::Terminal;
|
||||
use ratatui::backend::CrosstermBackend;
|
||||
use ratatui::layout::{Constraint, Direction, Layout};
|
||||
use ratatui::style::{Color, Modifier, Style};
|
||||
use ratatui::terminal::Terminal;
|
||||
use ratatui::widgets::{Block, Borders, List, ListItem, ListState};
|
||||
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
@@ -37,7 +37,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
|
||||
loop {
|
||||
terminal.draw(|f| {
|
||||
let size = f.size();
|
||||
let size = f.area();
|
||||
let chunks = Layout::default()
|
||||
.direction(Direction::Vertical)
|
||||
.constraints([Constraint::Min(0)].as_ref())
|
||||
@@ -92,12 +92,17 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
if let Some(i) = state.selected()
|
||||
&& i < marked.len()
|
||||
{
|
||||
assert!(i < marked.len());
|
||||
if marked[i] {
|
||||
marked[i] = false;
|
||||
} else {
|
||||
marked[i] = true;
|
||||
// move cursor down
|
||||
let next = if i + 1 < lines.len() { i + 1 } else { i };
|
||||
let next = lines.len().min(i + 1);
|
||||
state.select(Some(next));
|
||||
}
|
||||
}
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user