Enhance TUI: add paste event handling, integrate bracketed paste mode, and implement paste support in editing mode.

Fixes #20
This commit is contained in:
2025-09-30 02:27:09 +02:00
parent 63ca71c6ae
commit a5727c0a1d
3 changed files with 27 additions and 3 deletions

View File

@@ -11,7 +11,7 @@ use tokio::sync::mpsc;
use tokio_util::sync::CancellationToken;
use crossterm::{
event::{DisableMouseCapture, EnableMouseCapture},
event::{DisableMouseCapture, EnableMouseCapture, DisableBracketedPaste, EnableBracketedPaste},
execute,
terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen},
};
@@ -57,7 +57,7 @@ async fn main() -> Result<()> {
// Terminal setup
enable_raw_mode()?;
let mut stdout = io::stdout();
execute!(stdout, EnterAlternateScreen, EnableMouseCapture)?;
execute!(stdout, EnterAlternateScreen, EnableMouseCapture, EnableBracketedPaste)?;
let backend = CrosstermBackend::new(stdout);
let mut terminal = Terminal::new(backend)?;
@@ -74,7 +74,8 @@ async fn main() -> Result<()> {
execute!(
terminal.backend_mut(),
LeaveAlternateScreen,
DisableMouseCapture
DisableMouseCapture,
DisableBracketedPaste
)?;
terminal.show_cursor()?;