1
0
зеркало из https://github.com/glebtv/tui-textarea.git synced 2026-09-03 22:35:50 +03:00

fix disabling/enabling raw mode in editor example (fix #44)

Этот коммит содержится в:
rhysd
2023-11-06 19:20:20 +09:00
родитель 2740b89a51
Коммит 9ec2f32edf
2 изменённых файлов: 6 добавлений и 18 удалений

Просмотреть файл

@@ -1,7 +1,6 @@
use crossterm::event::{DisableMouseCapture, EnableMouseCapture};
use crossterm::terminal::{
disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen,
LeaveAlternateScreen,
disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen,
};
use ratatui::backend::CrosstermBackend;
use ratatui::layout::{Constraint, Direction, Layout};
@@ -157,10 +156,8 @@ impl<'a> Editor<'a> {
return error!("USAGE: cargo run --example editor FILE1 [FILE2...]");
}
let mut stdout = io::stdout();
if !is_raw_mode_enabled()? {
enable_raw_mode()?;
crossterm::execute!(stdout, EnterAlternateScreen, EnableMouseCapture)?;
}
enable_raw_mode()?;
crossterm::execute!(stdout, EnterAlternateScreen, EnableMouseCapture)?;
let backend = CrosstermBackend::new(stdout);
let term = Terminal::new(backend)?;
Ok(Self {
@@ -352,9 +349,6 @@ impl<'a> Editor<'a> {
impl<'a> Drop for Editor<'a> {
fn drop(&mut self) {
self.term.show_cursor().unwrap();
if !is_raw_mode_enabled().unwrap() {
return;
}
disable_raw_mode().unwrap();
crossterm::execute!(
self.term.backend_mut(),

Просмотреть файл

@@ -2,8 +2,7 @@ use crossterm_025 as crossterm;
use crossterm::event::{DisableMouseCapture, EnableMouseCapture};
use crossterm::terminal::{
disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen,
LeaveAlternateScreen,
disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen,
};
use std::borrow::Cow;
use std::env;
@@ -159,10 +158,8 @@ impl<'a> Editor<'a> {
return error!("USAGE: cargo run --example editor FILE1 [FILE2...]");
}
let mut stdout = io::stdout();
if !is_raw_mode_enabled()? {
enable_raw_mode()?;
crossterm::execute!(stdout, EnterAlternateScreen, EnableMouseCapture)?;
}
enable_raw_mode()?;
crossterm::execute!(stdout, EnterAlternateScreen, EnableMouseCapture)?;
let backend = CrosstermBackend::new(stdout);
let term = Terminal::new(backend)?;
Ok(Self {
@@ -354,9 +351,6 @@ impl<'a> Editor<'a> {
impl<'a> Drop for Editor<'a> {
fn drop(&mut self) {
self.term.show_cursor().unwrap();
if !is_raw_mode_enabled().unwrap() {
return;
}
disable_raw_mode().unwrap();
crossterm::execute!(
self.term.backend_mut(),