diff options
| author | Aram Drevekenin <aram@poor.dev> | 2026-03-16 10:37:45 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-16 10:37:45 +0100 |
| commit | 91e7297b6397fd52d4ff995bdff1fa124a5acf81 (patch) | |
| tree | 6420aa5a8ee3e47938dfdf39533e89a7236fc728 | |
| parent | Ansi dump support (#4848) (diff) | |
| download | sl0ppij-91e7297b6397fd52d4ff995bdff1fa124a5acf81.tar.gz sl0ppij-91e7297b6397fd52d4ff995bdff1fa124a5acf81.tar.xz sl0ppij-91e7297b6397fd52d4ff995bdff1fa124a5acf81.zip | |
Warning and duplication cleanups (#4857)
* cleanup compilation warnings
* consolidate EditScrollbackRaw into EditScrollback
29 files changed, 142 insertions, 179 deletions
diff --git a/default-plugins/fixture-plugin-for-tests/src/main.rs b/default-plugins/fixture-plugin-for-tests/src/main.rs index 82f1cecc..5663544b 100644 --- a/default-plugins/fixture-plugin-for-tests/src/main.rs +++ b/default-plugins/fixture-plugin-for-tests/src/main.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use std::collections::BTreeMap; #[allow(unused_imports)] use std::io::prelude::*; +#[allow(unused_imports)] // Action is used in non-test code paths (run_action call) use zellij_tile::prelude::actions::Action; use zellij_tile::prelude::*; @@ -19,6 +20,7 @@ struct State { explicit_string_to_render: Option<String>, } +#[allow(dead_code)] // used when compiled as wasm plugin, not in native test target #[derive(Default, Serialize, Deserialize)] struct TestWorker { number_of_messages_received: usize, diff --git a/default-plugins/strider/src/main.rs b/default-plugins/strider/src/main.rs index 6357d955..14571532 100644 --- a/default-plugins/strider/src/main.rs +++ b/default-plugins/strider/src/main.rs @@ -149,6 +149,8 @@ impl ZellijPlugin for State { self.close_on_selection = true; } else { // Filepicker callback mode: send result back to caller. + #[allow(unused_variables)] + // pipe_id is used inside #[cfg(target_family = "wasm")] block if let PipeSource::Cli(pipe_id) = &pipe_message.source { #[cfg(target_family = "wasm")] block_cli_pipe_input(pipe_id); diff --git a/default-plugins/strider/src/state.rs b/default-plugins/strider/src/state.rs index 2ad996f1..7932764a 100644 --- a/default-plugins/strider/src/state.rs +++ b/default-plugins/strider/src/state.rs @@ -224,6 +224,8 @@ impl State { #[cfg(target_family = "wasm")] close_self(); }, + #[allow(unused_variables)] + // pipe_id is used inside #[cfg(target_family = "wasm")] blocks Some((PipeSource::Cli(pipe_id), _args)) => { #[cfg(target_family = "wasm")] cli_pipe_output(pipe_id, &selected_path.display().to_string()); diff --git a/zellij-client/src/cli_client.rs b/zellij-client/src/cli_client.rs index fa302368..83f9e607 100644 --- a/zellij-client/src/cli_client.rs +++ b/zellij-client/src/cli_client.rs @@ -246,7 +246,7 @@ fn individual_messages_client( } pub fn start_subscribe_client( - mut os_input: Box<dyn ClientOsApi>, + os_input: Box<dyn ClientOsApi>, session_name: &str, subscribe_cli: SubscribeCli, ) { diff --git a/zellij-client/src/lib.rs b/zellij-client/src/lib.rs index 294c4139..95a0810f 100644 --- a/zellij-client/src/lib.rs +++ b/zellij-client/src/lib.rs @@ -342,6 +342,7 @@ impl ClientInfo { pub(crate) enum InputInstruction { KeyEvent(InputEvent, Vec<u8>), KeyWithModifierEvent(KeyWithModifier, Vec<u8>, bool), // bool = is_kitty_keyboard_protocol + #[allow(dead_code)] // constructed in stdin_handler_windows.rs (Windows-only) MouseEvent(zellij_utils::input::mouse::MouseEvent), AnsiStdinInstructions(Vec<AnsiStdinInstruction>), StartedParsing, diff --git a/zellij-client/src/web_client/mod.rs b/zellij-client/src/web_client/mod.rs index ef6f6b49..b63e066f 100644 --- a/zellij-client/src/web_client/mod.rs +++ b/zellij-client/src/web_client/mod.rs @@ -54,6 +54,7 @@ use utils::should_use_https; use uuid::Uuid; use websocket_handlers::{ws_handler_control, ws_handler_terminal}; +#[allow(dead_code)] // used in #[cfg(not(unix))] code path const DEFAULT_SERVER_STARTUP_TIMEOUT_SECS: u64 = 10; pub fn start_web_client( diff --git a/zellij-client/src/web_client/types.rs b/zellij-client/src/web_client/types.rs index 18f3d155..02f80333 100644 --- a/zellij-client/src/web_client/types.rs +++ b/zellij-client/src/web_client/types.rs @@ -1,10 +1,7 @@ use axum::extract::ws::Message; use serde::{Deserialize, Serialize}; use std::collections::HashMap; -use std::sync::{ - atomic::{AtomicBool, Ordering}, - Arc, Mutex, -}; +use std::sync::{atomic::AtomicBool, Arc, Mutex}; use tokio::sync::mpsc::UnboundedSender; use tokio_util::sync::CancellationToken; diff --git a/zellij-client/src/web_client/unit/web_client_tests.rs b/zellij-client/src/web_client/unit/web_client_tests.rs index 2ea2982a..c2b80948 100644 --- a/zellij-client/src/web_client/unit/web_client_tests.rs +++ b/zellij-client/src/web_client/unit/web_client_tests.rs @@ -8,7 +8,6 @@ use std::sync::{Arc, Mutex}; use tokio::time::timeout; use tokio_tungstenite::tungstenite::http::Request; use tokio_tungstenite::{connect_async, tungstenite::Message}; -use zellij_utils::input::cli_assets::CliAssets; use zellij_utils::input::layout::Layout; use zellij_utils::{consts::VERSION, input::config::Config, input::options::Options}; @@ -19,9 +18,9 @@ use crate::web_client::control_message::{ }; use crate::web_client::ClientOsApiFactory; use zellij_utils::{ - data::{LayoutInfo, Palette}, + data::Palette, errors::ErrorContext, - ipc::{ClientAttributes, ClientToServerMsg, ServerToClientMsg}, + ipc::{ClientToServerMsg, ServerToClientMsg}, pane_size::Size, web_authentication_tokens::{create_token, delete_db, revoke_token}, }; @@ -2662,6 +2661,7 @@ impl MockSessionManager { } } + #[allow(dead_code)] pub fn get_first_message_for_session(&self, session_name: &str) -> Option<ClientToServerMsg> { self.first_messages_sent .lock() diff --git a/zellij-server/src/background_jobs.rs b/zellij-server/src/background_jobs.rs index 435ae2e5..5509c5fd 100644 --- a/zellij-server/src/background_jobs.rs +++ b/zellij-server/src/background_jobs.rs @@ -1,10 +1,13 @@ +#[allow(unused_imports)] // some imports used only with web_server_capability feature use zellij_utils::consts::{ session_info_cache_file_name, session_info_folder_for_session, session_layout_cache_file_name, VERSION, ZELLIJ_SESSION_INFO_CACHE_DIR, ZELLIJ_SOCK_DIR, }; +#[allow(unused_imports)] use zellij_utils::data::{Event, HttpVerb, SessionInfo, WebServerStatus}; use zellij_utils::errors::{prelude::*, BackgroundJobContext, ContextType}; use zellij_utils::input::layout::RunPlugin; +#[allow(unused_imports)] use zellij_utils::shared::parse_base_url; #[cfg(feature = "web_server_capability")] @@ -116,6 +119,7 @@ static DEFAULT_SERIALIZATION_INTERVAL: u64 = 60000; static REPAINT_DELAY_MS: u64 = 10; static HELP_TEXT_DEBOUNCE_DURATION: u64 = 5000; +#[allow(unused_variables)] // web_server_base_url used only with web_server_capability feature pub(crate) fn background_jobs_main( bus: Bus<BackgroundJob>, serialization_interval: Option<u64>, @@ -252,7 +256,7 @@ pub(crate) fn background_jobs_main( ); // Send SavedCurrentSession instruction to plugin thread - let timestamp_millis = std::time::SystemTime::now() + let _timestamp_millis = std::time::SystemTime::now() .duration_since(std::time::UNIX_EPOCH) .unwrap_or_default() .as_millis() @@ -435,7 +439,7 @@ pub(crate) fn background_jobs_main( .unwrap_or(WebServerStatus::Offline); runtime.spawn({ let senders = bus.senders.clone(); - let web_server_base_url = web_server_base_url.clone(); + let _web_server_base_url = web_server_base_url.clone(); async move { let _ = senders.send_to_plugin(PluginInstruction::Update(vec![( None, diff --git a/zellij-server/src/panes/grid.rs b/zellij-server/src/panes/grid.rs index f57150bf..0f0e3fb4 100644 --- a/zellij-server/src/panes/grid.rs +++ b/zellij-server/src/panes/grid.rs @@ -1392,7 +1392,7 @@ impl Grid { if self.lock_renders { return Ok(None); } - let mut raw_vte_output = String::new(); + let raw_vte_output = String::new(); let (mut character_chunks, sixel_image_chunks) = self.read_changes(content_x, content_y); diff --git a/zellij-server/src/plugins/unit/plugin_tests.rs b/zellij-server/src/plugins/unit/plugin_tests.rs index 4e2ad047..7222ddb6 100644 --- a/zellij-server/src/plugins/unit/plugin_tests.rs +++ b/zellij-server/src/plugins/unit/plugin_tests.rs @@ -12329,7 +12329,6 @@ pub fn get_session_environment_variables_plugin_command() { // ===================================================================== use crate::panes::PaneId; -use zellij_utils::data::{HighlightStyle, RegexHighlight}; #[test] #[ignore] diff --git a/zellij-server/src/plugins/wasm_bridge.rs b/zellij-server/src/plugins/wasm_bridge.rs index d187ef49..2eb55e7c 100644 --- a/zellij-server/src/plugins/wasm_bridge.rs +++ b/zellij-server/src/plugins/wasm_bridge.rs @@ -18,10 +18,7 @@ use std::{ str::FromStr, sync::{Arc, Mutex}, }; -use tokio::{ - sync::mpsc::Sender, - task::{self, JoinHandle}, -}; +use tokio::sync::mpsc::Sender; use url::Url; use wasmi::{Engine, Module}; use zellij_utils::consts::{ZELLIJ_CACHE_DIR, ZELLIJ_SESSION_CACHE_DIR, ZELLIJ_TMP_DIR}; diff --git a/zellij-server/src/plugins/zellij_exports.rs b/zellij-server/src/plugins/zellij_exports.rs index db63e1ae..c96f028d 100644 --- a/zellij-server/src/plugins/zellij_exports.rs +++ b/zellij-server/src/plugins/zellij_exports.rs @@ -26,7 +26,7 @@ use zellij_utils::data::{ FloatingPaneCoordinates, FocusOrCreateTabResponse, GetFocusedPaneInfoResponse, GetPaneCwdResponse, GetPanePidResponse, GetPaneRunningCommandResponse, HttpVerb, KeyWithModifier, LayoutInfo, LayoutMetadata, LayoutParsingError, MessageToPlugin, - NewPanePlacement, NewTabResponse, NewTabsResponse, OpenCommandPaneBackgroundResponse, + NewPanePlacement, NewTabResponse, OpenCommandPaneBackgroundResponse, OpenCommandPaneFloatingNearPluginResponse, OpenCommandPaneFloatingResponse, OpenCommandPaneInPlaceOfPaneIdResponse, OpenCommandPaneInPlaceOfPluginResponse, OpenCommandPaneInPlaceResponse, OpenCommandPaneNearPluginResponse, OpenCommandPaneResponse, diff --git a/zellij-server/src/pty.rs b/zellij-server/src/pty.rs index cd982209..c277dd64 100644 --- a/zellij-server/src/pty.rs +++ b/zellij-server/src/pty.rs @@ -14,7 +14,7 @@ use crate::{ }; use std::sync::Arc; use std::{collections::HashMap, path::PathBuf}; -use tokio::task::{self, JoinHandle}; +use tokio::task::JoinHandle; use zellij_utils::{ data::{ CommandOrPlugin, Event, FloatingPaneCoordinates, GetPaneCwdResponse, GetPanePidResponse, diff --git a/zellij-server/src/route.rs b/zellij-server/src/route.rs index 7a2459f8..4adad181 100644 --- a/zellij-server/src/route.rs +++ b/zellij-server/src/route.rs @@ -485,15 +485,7 @@ pub(crate) fn route_action( )) .with_context(err_context)?; }, - Action::EditScrollbackRaw => { - senders - .send_to_screen(ScreenInstruction::EditScrollback( - client_id, - true, - Some(NotificationEnd::new(completion_tx)), - )) - .with_context(err_context)?; - }, + Action::ScrollUp => { senders .send_to_screen(ScreenInstruction::ScrollUp( @@ -2552,7 +2544,7 @@ pub(crate) fn route_thread_main( ref scrollback, ansi, } => { - send_to_screen_or_retry_queue!( + let _ = send_to_screen_or_retry_queue!( senders, ScreenInstruction::SubscribeToPaneRenders { client_id, diff --git a/zellij-server/src/screen.rs b/zellij-server/src/screen.rs index da9f67a6..aa6c64da 100644 --- a/zellij-server/src/screen.rs +++ b/zellij-server/src/screen.rs @@ -1101,6 +1101,7 @@ impl CopyOptions { #[derive(Debug, Clone)] pub struct RenderBlocker { blocking_plugins: HashMap<u32, Instant>, + #[cfg_attr(test, allow(dead_code))] timeout_ms: u64, } @@ -1232,7 +1233,9 @@ pub(crate) struct Screen { styled_underlines: bool, osc8_hyperlinks: bool, arrow_fonts: bool, + #[cfg_attr(test, allow(dead_code))] layout_dir: Option<PathBuf>, + #[cfg_attr(test, allow(dead_code))] default_layout_name: Option<String>, explicitly_disable_kitty_keyboard_protocol: bool, default_editor: Option<PathBuf>, @@ -1379,13 +1382,6 @@ impl Screen { self.tabs.get_mut(&id) } - /// Gets a tab by its display position (0-based). - /// - /// Use this when you have a position from user input or visual operations. - fn get_tab_by_position(&self, position: usize) -> Option<&Tab> { - self.tabs.values().find(|t| t.position == position) - } - /// Gets a mutable tab by its display position (0-based). fn get_tab_by_position_mut(&mut self, position: usize) -> Option<&mut Tab> { self.tabs.values_mut().find(|t| t.position == position) diff --git a/zellij-server/src/session_layout_metadata.rs b/zellij-server/src/session_layout_metadata.rs index 3ea8b28e..62efea98 100644 --- a/zellij-server/src/session_layout_metadata.rs +++ b/zellij-server/src/session_layout_metadata.rs @@ -591,8 +591,6 @@ impl PaneLayoutMetadata { } } fn to_pane_metadata(&self) -> PaneMetadata { - use zellij_utils::input::layout::RunPluginLocation; - // Try to extract a meaningful name from the pane // Priority: explicit title > command name > file name > plugin location let name = self.title.clone().or_else(|| { diff --git a/zellij-server/src/tab/layout_applier.rs b/zellij-server/src/tab/layout_applier.rs index 46db9bc5..21d8c92a 100644 --- a/zellij-server/src/tab/layout_applier.rs +++ b/zellij-server/src/tab/layout_applier.rs @@ -19,7 +19,7 @@ use std::rc::Rc; use zellij_utils::{ data::{Palette, Style}, input::layout::{FloatingPaneLayout, Run, RunPluginOrAlias, TiledPaneLayout}, - pane_size::{Offset, PaneGeom, Size, SizeInPixels, Viewport}, + pane_size::{PaneGeom, Size, SizeInPixels, Viewport}, }; pub struct LayoutApplier<'a> { diff --git a/zellij-server/src/tab/mod.rs b/zellij-server/src/tab/mod.rs index 390563a2..a17d49aa 100644 --- a/zellij-server/src/tab/mod.rs +++ b/zellij-server/src/tab/mod.rs @@ -4463,40 +4463,6 @@ impl Tab { MouseHandler::handle_scrollwheel_down(self, point, lines, client_id) } - fn get_pane_at( - &mut self, - point: &Position, - search_selectable: bool, - ) -> Result<Option<&mut Box<dyn Pane>>> { - let err_context = || format!("failed to get pane at position {point:?}"); - - if self.floating_panes.panes_are_visible() { - if let Some(pane_id) = self - .floating_panes - .get_pane_id_at(point, search_selectable) - .with_context(err_context)? - { - return Ok(self.floating_panes.get_pane_mut(pane_id)); - } - } else if self.floating_panes.has_pinned_panes() { - if let Some(pane_id) = self - .floating_panes - .get_pinned_pane_id_at(point, search_selectable) - .with_context(err_context)? - { - return Ok(self.floating_panes.get_pane_mut(pane_id)); - } - } - if let Some(pane_id) = self - .get_pane_id_at(point, search_selectable) - .with_context(err_context)? - { - Ok(self.tiled_panes.get_pane_mut(pane_id)) - } else { - Ok(None) - } - } - fn get_pane_id_at( &mut self, point: &Position, diff --git a/zellij-server/src/tab/mouse_handler.rs b/zellij-server/src/tab/mouse_handler.rs index a15584b8..b14cbfca 100644 --- a/zellij-server/src/tab/mouse_handler.rs +++ b/zellij-server/src/tab/mouse_handler.rs @@ -337,7 +337,7 @@ fn edge_and_delta_to_strategies( pub struct MouseHandler; impl MouseHandler { - pub fn handle_mouse_event( + pub(crate) fn handle_mouse_event( tab: &mut Tab, event: &MouseEvent, client_id: ClientId, @@ -1508,7 +1508,7 @@ impl MouseHandler { Ok(()) } - pub fn handle_scrollwheel_up( + pub(crate) fn handle_scrollwheel_up( tab: &mut Tab, point: &Position, lines: usize, @@ -1537,7 +1537,7 @@ impl MouseHandler { Ok(MouseEffect::default()) } - pub fn handle_scrollwheel_down( + pub(crate) fn handle_scrollwheel_down( tab: &mut Tab, point: &Position, lines: usize, @@ -1676,7 +1676,11 @@ impl MouseHandler { } } - pub fn set_mouse_selection_support(tab: &mut Tab, pane_id: PaneId, selection_support: bool) { + pub(crate) fn set_mouse_selection_support( + tab: &mut Tab, + pane_id: PaneId, + selection_support: bool, + ) { if let Some(pane) = tab.get_pane_with_id_mut(pane_id) { pane.set_mouse_selection_support(selection_support); } diff --git a/zellij-server/src/tab/unit/layout_applier_tests.rs b/zellij-server/src/tab/unit/layout_applier_tests.rs index d404a2f9..2d6fd949 100644 --- a/zellij-server/src/tab/unit/layout_applier_tests.rs +++ b/zellij-server/src/tab/unit/layout_applier_tests.rs @@ -6502,7 +6502,7 @@ fn test_override_tiled_retain_plugin_panes_no_matches() { styled_underlines, osc8_hyperlinks, explicitly_disable_kitty_keyboard_protocol, - pty_receiver, + _pty_receiver, plugin_receiver, ) = create_layout_applier_fixtures_with_receivers(size); @@ -6805,7 +6805,7 @@ fn test_override_floating_retain_plugin_panes_no_matches() { styled_underlines, osc8_hyperlinks, explicitly_disable_kitty_keyboard_protocol, - pty_receiver, + _pty_receiver, plugin_receiver, ) = create_layout_applier_fixtures_with_receivers(size); diff --git a/zellij-server/src/tab/unit/tab_integration_tests.rs b/zellij-server/src/tab/unit/tab_integration_tests.rs index 001f7111..597edf9f 100644 --- a/zellij-server/src/tab/unit/tab_integration_tests.rs +++ b/zellij-server/src/tab/unit/tab_integration_tests.rs @@ -19,11 +19,10 @@ use zellij_utils::data::WebSharing; use zellij_utils::envs::set_session_name; use zellij_utils::errors::{prelude::*, ErrorContext}; use zellij_utils::input::layout::{ - FloatingPaneLayout, Layout, PercentOrFixed, PluginUserConfiguration, RunPluginLocation, - RunPluginOrAlias, SwapFloatingLayout, SwapTiledLayout, TiledPaneLayout, + FloatingPaneLayout, Layout, PercentOrFixed, RunPluginOrAlias, SwapFloatingLayout, + SwapTiledLayout, TiledPaneLayout, }; use zellij_utils::input::mouse::MouseEvent; -use zellij_utils::input::plugins::PluginTag; use zellij_utils::ipc::IpcReceiverWithContext; use zellij_utils::pane_size::{Size, SizeInPixels}; use zellij_utils::position::Position; @@ -33,7 +32,7 @@ use zellij_utils::channels::{self, ChannelWithContext, SenderWithContext}; use crate::os_input_output::AsyncReader; use std::cell::RefCell; -use std::collections::{BTreeMap, HashMap, HashSet}; +use std::collections::{BTreeMap, HashMap}; use std::rc::Rc; use interprocess::local_socket::Stream as LocalSocketStream; @@ -1238,7 +1237,7 @@ fn render_stacks_without_pane_frames() { ) .unwrap(); } - tab.focus_pane_with_id(PaneId::Terminal(1), false, false, client_id); + let _ = tab.focus_pane_with_id(PaneId::Terminal(1), false, false, client_id); for i in 7..9 { let new_pane_id_1 = PaneId::Terminal(i); tab.new_pane( @@ -2631,7 +2630,7 @@ fn drag_pane_with_mouse() { ) .unwrap(); tab.render(&mut output, None).unwrap(); - let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( + let (snapshot, _cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, size.cols, @@ -3362,7 +3361,7 @@ fn save_cursor_position_across_resizes() { // We check cursor and saved cursor are handled separately by: // 1. moving real cursor up two lines - tab.handle_pty_bytes(1, Vec::from("\u{1b}[2A".as_bytes())); + let _ = tab.handle_pty_bytes(1, Vec::from("\u{1b}[2A".as_bytes())); // 2. resizing so real cursor gets lost above the viewport, which resets it to row 0 // The saved cursor ends up on row 1, allowing detection if it (incorrectly) gets reset too tab.resize_whole_tab(Size { cols: 35, rows: 4 }).unwrap(); @@ -5406,8 +5405,8 @@ fn move_focus_up_with_stacked_panes() { None, ) .unwrap(); - tab.move_focus_right(client_id); - tab.move_focus_up(client_id); + let _ = tab.move_focus_right(client_id); + let _ = tab.move_focus_up(client_id); tab.render(&mut output, None).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), @@ -5487,9 +5486,9 @@ fn move_focus_down_with_stacked_panes() { None, ) .unwrap(); - tab.move_focus_right(client_id); - tab.move_focus_up(client_id); - tab.move_focus_down(client_id); + let _ = tab.move_focus_right(client_id); + let _ = tab.move_focus_up(client_id); + let _ = tab.move_focus_down(client_id); tab.render(&mut output, None).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), @@ -5549,12 +5548,12 @@ fn move_focus_right_into_stacked_panes() { ) .unwrap(); } - tab.move_focus_left(client_id); + let _ = tab.move_focus_left(client_id); tab.horizontal_split(PaneId::Terminal(16), None, client_id, None, None) .unwrap(); - tab.move_focus_up(client_id); - tab.move_focus_right(client_id); + let _ = tab.move_focus_up(client_id); + let _ = tab.move_focus_right(client_id); tab.render(&mut output, None).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( @@ -5621,12 +5620,12 @@ fn move_focus_left_into_stacked_panes() { ) .unwrap(); } - tab.move_focus_right(client_id); + let _ = tab.move_focus_right(client_id); tab.horizontal_split(PaneId::Terminal(1), None, client_id, None, None) .unwrap(); - tab.move_focus_up(client_id); - tab.move_focus_left(client_id); + let _ = tab.move_focus_up(client_id); + let _ = tab.move_focus_left(client_id); tab.render(&mut output, None).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( @@ -5695,14 +5694,14 @@ fn move_focus_up_into_stacked_panes() { ) .unwrap(); } - tab.move_focus_right(client_id); - tab.move_focus_up(client_id); - tab.move_focus_left(client_id); - tab.move_focus_down(client_id); + let _ = tab.move_focus_right(client_id); + let _ = tab.move_focus_up(client_id); + let _ = tab.move_focus_left(client_id); + let _ = tab.move_focus_down(client_id); tab.vertical_split(PaneId::Terminal(7), None, client_id, None, None) .unwrap(); - tab.move_focus_up(client_id); + let _ = tab.move_focus_up(client_id); tab.render(&mut output, None).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( @@ -5770,12 +5769,12 @@ fn move_focus_down_into_stacked_panes() { ) .unwrap(); } - tab.move_focus_left(client_id); - tab.move_focus_up(client_id); + let _ = tab.move_focus_left(client_id); + let _ = tab.move_focus_up(client_id); tab.vertical_split(PaneId::Terminal(7), None, client_id, None, None) .unwrap(); - tab.move_focus_down(client_id); + let _ = tab.move_focus_down(client_id); tab.render(&mut output, None).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( @@ -5966,9 +5965,9 @@ fn close_main_stacked_pane_in_mid_stack() { None, ) .unwrap(); - tab.move_focus_right(client_id); - tab.move_focus_up(client_id); - tab.move_focus_up(client_id); + let _ = tab.move_focus_right(client_id); + let _ = tab.move_focus_up(client_id); + let _ = tab.move_focus_up(client_id); tab.close_pane(new_pane_id_3, false, None); tab.render(&mut output, None).unwrap(); let snapshot = take_snapshot( @@ -6073,10 +6072,10 @@ fn close_one_liner_stacked_pane_below_main_pane() { None, ) .unwrap(); - tab.move_focus_left(client_id); - tab.move_focus_right(client_id); - tab.move_focus_up(client_id); - tab.move_focus_up(client_id); + let _ = tab.move_focus_left(client_id); + let _ = tab.move_focus_right(client_id); + let _ = tab.move_focus_up(client_id); + let _ = tab.move_focus_up(client_id); tab.close_pane(new_pane_id_2, false, None); tab.render(&mut output, None).unwrap(); let snapshot = take_snapshot( @@ -6181,9 +6180,9 @@ fn close_one_liner_stacked_pane_above_main_pane() { None, ) .unwrap(); - tab.move_focus_right(client_id); - tab.move_focus_up(client_id); - tab.move_focus_up(client_id); + let _ = tab.move_focus_right(client_id); + let _ = tab.move_focus_up(client_id); + let _ = tab.move_focus_up(client_id); tab.close_pane(new_pane_id_2, false, None); tab.render(&mut output, None).unwrap(); let snapshot = take_snapshot( @@ -6288,7 +6287,7 @@ fn can_increase_size_of_main_pane_in_stack_horizontally() { None, ) .unwrap(); - tab.move_focus_right(client_id); + let _ = tab.move_focus_right(client_id); tab.resize( client_id, ResizeStrategy::new(Resize::Increase, Some(Direction::Left)), @@ -6399,7 +6398,7 @@ fn can_increase_size_of_main_pane_in_stack_vertically() { None, ) .unwrap(); - tab.move_focus_right(client_id); + let _ = tab.move_focus_right(client_id); tab.resize( client_id, ResizeStrategy::new(Resize::Increase, Some(Direction::Down)), @@ -6726,8 +6725,8 @@ fn can_increase_size_into_pane_stack_vertically() { None, ) .unwrap(); - tab.move_focus_right(client_id); - tab.move_focus_down(client_id); + let _ = tab.move_focus_right(client_id); + let _ = tab.move_focus_down(client_id); tab.resize( client_id, ResizeStrategy::new(Resize::Increase, Some(Direction::Up)), @@ -6944,7 +6943,7 @@ fn decreasing_size_of_whole_tab_treats_stacked_panes_properly() { None, ) .unwrap(); - tab.resize_whole_tab(Size { + let _ = tab.resize_whole_tab(Size { cols: 100, rows: 10, }); @@ -7051,11 +7050,11 @@ fn increasing_size_of_whole_tab_treats_stacked_panes_properly() { None, ) .unwrap(); - tab.resize_whole_tab(Size { + let _ = tab.resize_whole_tab(Size { cols: 100, rows: 10, }); - tab.resize_whole_tab(Size { + let _ = tab.resize_whole_tab(Size { cols: 121, rows: 20, }); @@ -7163,7 +7162,7 @@ fn cannot_decrease_stack_size_beyond_minimum_height() { None, ) .unwrap(); - tab.move_focus_down(client_id); + let _ = tab.move_focus_down(client_id); for _ in 0..6 { tab.resize( client_id, @@ -7744,7 +7743,7 @@ fn focus_next_pane_expands_stacked_panes() { None, ) .unwrap(); - tab.move_focus_left(client_id); + let _ = tab.move_focus_left(client_id); tab.focus_next_pane(client_id); tab.render(&mut output, None).unwrap(); let snapshot = take_snapshot( @@ -7851,7 +7850,7 @@ fn stacked_panes_can_become_fullscreen() { None, ) .unwrap(); - tab.move_focus_up(client_id); + let _ = tab.move_focus_up(client_id); tab.toggle_active_pane_fullscreen(client_id); tab.render(&mut output, None).unwrap(); let snapshot = take_snapshot( @@ -8660,7 +8659,7 @@ fn when_swapping_tiled_layouts_in_a_damaged_state_layout_and_pane_focus_are_unch true, stacked_resize, ); - tab.move_focus_down(client_id); + let _ = tab.move_focus_down(client_id); tab.resize( client_id, ResizeStrategy::new(Resize::Increase, Some(Direction::Down)), @@ -8741,7 +8740,7 @@ fn when_swapping_tiled_layouts_in_an_undamaged_state_pane_focuses_on_focused_nod true, stacked_resize, ); - tab.move_focus_down(client_id); + let _ = tab.move_focus_down(client_id); tab.next_swap_layout().unwrap(); tab.render(&mut output, None).unwrap(); @@ -8818,8 +8817,8 @@ fn when_swapping_tiled_layouts_in_an_undamaged_state_with_no_focus_node_pane_foc true, stacked_resize, ); - tab.move_focus_down(client_id); - tab.move_focus_down(client_id); + let _ = tab.move_focus_down(client_id); + let _ = tab.move_focus_down(client_id); tab.next_swap_layout().unwrap(); tab.render(&mut output, None).unwrap(); @@ -9841,8 +9840,8 @@ fn when_closing_a_floating_pane_in_auto_layout_the_focus_goes_to_last_focused_pa true, stacked_resize, ); - tab.move_focus_up(client_id); - tab.move_focus_up(client_id); + let _ = tab.move_focus_up(client_id); + let _ = tab.move_focus_up(client_id); tab.close_pane(PaneId::Terminal(1), false, None); tab.render(&mut output, None).unwrap(); @@ -9913,7 +9912,7 @@ fn when_resizing_whole_tab_with_auto_layout_and_floating_panes_the_layout_is_mai cols: 150, rows: 30, }; - tab.resize_whole_tab(new_size); + let _ = tab.resize_whole_tab(new_size); tab.render(&mut output, None).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( @@ -10338,7 +10337,7 @@ fn test_left_release_after_selection_copies_to_clipboard() { }; let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); - let mut output = Output::default(); + let _output = Output::default(); // Fill the pane with some text content tab.handle_pty_bytes(1, Vec::from("Selectable text content here".as_bytes())) @@ -10379,7 +10378,7 @@ fn test_ctrl_click_on_tiled_pane_edge_starts_resize() { let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); let new_pane_id = PaneId::Terminal(2); - let mut output = Output::default(); + let _output = Output::default(); // Create a vertical split tab.vertical_split(new_pane_id, None, client_id, None, None) @@ -10605,7 +10604,7 @@ fn test_ctrl_click_on_pane_body_does_nothing() { let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); let new_pane_id = PaneId::Terminal(2); - let mut output = Output::default(); + let _output = Output::default(); // Create a vertical split tab.vertical_split(new_pane_id, None, client_id, None, None) @@ -10942,7 +10941,7 @@ fn test_ctrl_click_on_floating_frame_not_on_pin_starts_resize() { let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); let floating_pane_id = PaneId::Terminal(2); - let mut output = Output::default(); + let _output = Output::default(); // Toggle floating panes mode and create a floating pane tab.toggle_floating_panes(Some(client_id), None, None) @@ -11222,7 +11221,7 @@ fn test_alt_left_click_toggles_pane_group() { let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); let new_pane_id = PaneId::Terminal(2); - let mut output = Output::default(); + let _output = Output::default(); // Create a vertical split tab.vertical_split(new_pane_id, None, client_id, None, None) @@ -11256,7 +11255,7 @@ fn test_alt_left_drag_adds_panes_to_group() { let mut tab = create_new_tab(size, ModeInfo::default()); let new_pane_id_2 = PaneId::Terminal(2); let new_pane_id_3 = PaneId::Terminal(3); - let mut output = Output::default(); + let _output = Output::default(); // Create two vertical splits (3 panes) tab.vertical_split(new_pane_id_2, None, client_id, None, None) @@ -11312,7 +11311,7 @@ fn test_right_alt_click_ungroups_panes() { let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); let new_pane_id = PaneId::Terminal(2); - let mut output = Output::default(); + let _output = Output::default(); // Create a vertical split tab.vertical_split(new_pane_id, None, client_id, None, None) @@ -11370,7 +11369,7 @@ fn test_scroll_wheel_up_scrolls_pane() { ); // Scroll up - let effect = tab + let _effect = tab .handle_mouse_event( &MouseEvent::new_scroll_up_event(Position::new(10, 60)), client_id, @@ -11400,7 +11399,7 @@ fn test_scroll_wheel_down_scrolls_pane() { }; let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); - let mut output = Output::default(); + let _output = Output::default(); // Fill the pane with many lines to enable scrolling let mut content = String::new(); @@ -11438,7 +11437,7 @@ fn test_scroll_wheel_down_scrolls_pane() { ); // Scroll down - let effect = tab + let _effect = tab .handle_mouse_event( &MouseEvent::new_scroll_down_event(Position::new(10, 60)), client_id, @@ -11503,7 +11502,7 @@ fn test_scroll_on_inactive_pane_scrolls_that_pane() { ); // Scroll up on the left (inactive) pane - let effect = tab + let _effect = tab .handle_mouse_event( &MouseEvent::new_scroll_up_event(Position::new(10, 30)), client_id, @@ -11533,7 +11532,7 @@ fn test_right_click_forwards_to_active_pane() { }; let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); - let mut output = Output::default(); + let _output = Output::default(); tab.handle_pty_bytes(1, Vec::from("Active pane".as_bytes())) .unwrap(); @@ -11559,7 +11558,7 @@ fn test_middle_click_forwards_to_active_pane() { }; let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); - let mut output = Output::default(); + let _output = Output::default(); tab.handle_pty_bytes(1, Vec::from("Active pane".as_bytes())) .unwrap(); @@ -11585,7 +11584,7 @@ fn test_hover_over_inactive_pane_sets_hover_state() { let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); let new_pane_id = PaneId::Terminal(2); - let mut output = Output::default(); + let _output = Output::default(); // Create a vertical split tab.vertical_split(new_pane_id, None, client_id, None, None) @@ -11621,7 +11620,7 @@ fn test_hover_over_active_pane_unsets_hover() { let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); let new_pane_id = PaneId::Terminal(2); - let mut output = Output::default(); + let _output = Output::default(); // Create a vertical split tab.vertical_split(new_pane_id, None, client_id, None, None) @@ -11665,7 +11664,7 @@ fn test_resize_tiled_then_move_floating_sequence() { let mut tab = create_new_tab(size, ModeInfo::default()); let tiled_pane_id = PaneId::Terminal(2); let floating_pane_id = PaneId::Terminal(3); - let mut output = Output::default(); + let _output = Output::default(); // Create tiled split tab.vertical_split(tiled_pane_id, None, client_id, None, None) @@ -11758,7 +11757,7 @@ fn test_alt_click_works_on_floating_panes() { let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); let floating_pane_id = PaneId::Terminal(2); - let mut output = Output::default(); + let _output = Output::default(); // Toggle floating panes mode and create a floating pane tab.toggle_floating_panes(Some(client_id), None, None) @@ -11800,7 +11799,7 @@ fn test_left_click_on_tiled_frame_edge_starts_resize() { let client_id = 1; let mut tab = create_new_tab(size, ModeInfo::default()); let new_pane_id = PaneId::Terminal(2); - let mut output = Output::default(); + let _output = Output::default(); // Create a vertical split tab.vertical_split(new_pane_id, None, client_id, None, None) @@ -13882,7 +13881,7 @@ fn focus_follows_mouse_skips_stacked_one_liner_pane() { .unwrap(); // Focus the left (non-stacked) tiled pane - tab.move_focus_left(client_id); + let _ = tab.move_focus_left(client_id); assert_eq!(tab.get_active_pane_id(client_id), Some(PaneId::Terminal(1))); // Enable focus follows mouse @@ -14085,7 +14084,7 @@ fn mouse_click_through_sends_click_to_newly_focused_floating_pane() { assert_eq!(tab.get_active_pane_id(client_id), Some(floating_pane_id_2)); // Now click on floating pane 1's area - let effect = tab + let _effect = tab .handle_mouse_event( &MouseEvent::new_left_press_event(Position::new(5, 30)), client_id, diff --git a/zellij-server/src/tab/unit/tab_tests.rs b/zellij-server/src/tab/unit/tab_tests.rs index 363786f0..6a2b82e2 100644 --- a/zellij-server/src/tab/unit/tab_tests.rs +++ b/zellij-server/src/tab/unit/tab_tests.rs @@ -15364,7 +15364,7 @@ pub fn scroll_down_by_pane_id() { let mut tab = create_new_tab(size, true); let pane_id = PaneId::Terminal(1); assert!(tab.has_pane_with_pid(&pane_id)); - tab.scroll_down_by_pane_id(pane_id); + let _ = tab.scroll_down_by_pane_id(pane_id); } #[test] @@ -15376,7 +15376,7 @@ pub fn scroll_to_top_by_pane_id() { let mut tab = create_new_tab(size, true); let pane_id = PaneId::Terminal(1); assert!(tab.has_pane_with_pid(&pane_id)); - tab.scroll_to_top_by_pane_id(pane_id); + let _ = tab.scroll_to_top_by_pane_id(pane_id); } #[test] @@ -15388,7 +15388,7 @@ pub fn scroll_to_bottom_by_pane_id() { let mut tab = create_new_tab(size, true); let pane_id = PaneId::Terminal(1); assert!(tab.has_pane_with_pid(&pane_id)); - tab.scroll_to_bottom_by_pane_id(pane_id); + let _ = tab.scroll_to_bottom_by_pane_id(pane_id); } #[test] @@ -15412,7 +15412,7 @@ pub fn page_scroll_down_by_pane_id() { let mut tab = create_new_tab(size, true); let pane_id = PaneId::Terminal(1); assert!(tab.has_pane_with_pid(&pane_id)); - tab.page_scroll_down_by_pane_id(pane_id); + let _ = tab.page_scroll_down_by_pane_id(pane_id); } #[test] @@ -15436,7 +15436,7 @@ pub fn half_page_scroll_down_by_pane_id() { let mut tab = create_new_tab(size, true); let pane_id = PaneId::Terminal(1); assert!(tab.has_pane_with_pid(&pane_id)); - tab.half_page_scroll_down_by_pane_id(pane_id); + let _ = tab.half_page_scroll_down_by_pane_id(pane_id); } #[test] @@ -15448,7 +15448,7 @@ pub fn rename_pane_by_pane_id() { let mut tab = create_new_tab(size, true); let pane_id = PaneId::Terminal(1); assert!(tab.has_pane_with_pid(&pane_id)); - tab.rename_pane_by_pane_id(pane_id, "new-name".as_bytes().to_vec()); + let _ = tab.rename_pane_by_pane_id(pane_id, "new-name".as_bytes().to_vec()); } #[test] @@ -15460,7 +15460,7 @@ pub fn undo_rename_pane_by_pane_id() { let mut tab = create_new_tab(size, true); let pane_id = PaneId::Terminal(1); assert!(tab.has_pane_with_pid(&pane_id)); - tab.rename_pane_by_pane_id(pane_id, "new-name".as_bytes().to_vec()); + let _ = tab.rename_pane_by_pane_id(pane_id, "new-name".as_bytes().to_vec()); tab.undo_rename_pane_by_pane_id(pane_id); } @@ -15549,7 +15549,7 @@ pub fn clear_screen_by_pane_id() { let mut tab = create_new_tab(size, true); let pane_id = PaneId::Terminal(1); assert!(tab.has_pane_with_pid(&pane_id)); - tab.clear_screen_by_pane_id(pane_id); + let _ = tab.clear_screen_by_pane_id(pane_id); } #[test] diff --git a/zellij-server/src/unit/screen_tests.rs b/zellij-server/src/unit/screen_tests.rs index 5c2e9630..c03c9751 100644 --- a/zellij-server/src/unit/screen_tests.rs +++ b/zellij-server/src/unit/screen_tests.rs @@ -15,7 +15,7 @@ use zellij_utils::input::command::{RunCommand, TerminalAction}; use zellij_utils::input::config::Config; use zellij_utils::input::layout::{ FloatingPaneLayout, Layout, PercentOrFixed, PluginAlias, PluginUserConfiguration, Run, - RunPlugin, RunPluginLocation, RunPluginOrAlias, SplitDirection, SplitSize, TiledPaneLayout, + RunPlugin, RunPluginLocation, RunPluginOrAlias, SplitDirection, TiledPaneLayout, }; use zellij_utils::input::mouse::MouseEvent; use zellij_utils::input::options::Options; @@ -49,7 +49,7 @@ use crate::panes::grid::Grid; use crate::panes::link_handler::LinkHandler; use crate::panes::sixel::SixelImageStore; use std::cell::RefCell; -use std::collections::{HashMap, HashSet}; +use std::collections::HashMap; use std::rc::Rc; use zellij_utils::data::{PaneContents, PaneRenderReport}; use zellij_utils::ipc::ExitReason; @@ -334,6 +334,7 @@ struct MockScreen { pub main_client_id: u16, pub pty_receiver: Option<Receiver<(PtyInstruction, ErrorContext)>>, pub pty_writer_receiver: Option<Receiver<(PtyWriteInstruction, ErrorContext)>>, + #[allow(dead_code)] pub background_jobs_receiver: Option<Receiver<(BackgroundJob, ErrorContext)>>, pub screen_receiver: Option<Receiver<(ScreenInstruction, ErrorContext)>>, pub server_receiver: Option<Receiver<(ServerInstruction, ErrorContext)>>, @@ -346,6 +347,7 @@ struct MockScreen { pub to_background_jobs: SenderWithContext<BackgroundJob>, pub os_input: FakeInputOutput, pub client_attributes: ClientAttributes, + #[allow(dead_code)] pub config_options: Options, pub session_metadata: SessionMetaData, pub config: Config, @@ -3410,7 +3412,7 @@ pub fn send_cli_toggle_pane_embed_or_float() { received_server_instructions.lock().unwrap().iter(), size, ); - let snapshot_count = snapshots.len(); + let _snapshot_count = snapshots.len(); let last_three_snapshots = snapshots.clone().into_iter().rev().take(3).rev(); // we do this to // prevent extra // renders from @@ -5721,7 +5723,7 @@ fn close_pane_notifies_subscribers_via_instruction() { let size = Size { cols: 80, rows: 20 }; let mut mock_screen = MockScreen::new(size); mock_screen.drop_all_pty_messages(); - let session_metadata = mock_screen.clone_session_metadata(); + let _session_metadata = mock_screen.clone_session_metadata(); let mut initial_layout = TiledPaneLayout::default(); initial_layout.children_split_direction = SplitDirection::Vertical; diff --git a/zellij-utils/src/errors.rs b/zellij-utils/src/errors.rs index 7f137d58..51e47bd0 100644 --- a/zellij-utils/src/errors.rs +++ b/zellij-utils/src/errors.rs @@ -1,3 +1,5 @@ +// false positive: thiserror's derive macro triggers unused_assignments on struct-style enum variant fields +#![allow(unused_assignments)] //! Error context system based on a thread-local representation of the call stack, itself based on //! the instructions that are sent between threads. //! @@ -11,6 +13,7 @@ use anyhow::Context; use colored::*; +#[allow(unused_imports)] // used in set_panic_handler; may appear unused under wasm target use log::error; use serde::{Deserialize, Serialize}; use std::fmt::{Display, Error, Formatter}; diff --git a/zellij-utils/src/input/actions.rs b/zellij-utils/src/input/actions.rs index e2d5485b..b9008c2c 100644 --- a/zellij-utils/src/input/actions.rs +++ b/zellij-utils/src/input/actions.rs @@ -188,7 +188,6 @@ pub enum Action { EditScrollback { ansi: bool, }, - EditScrollbackRaw, /// Scroll up in focus pane. ScrollUp, /// Scroll up at point diff --git a/zellij-utils/src/ipc/protobuf_conversion.rs b/zellij-utils/src/ipc/protobuf_conversion.rs index 0d6e2d39..725592c7 100644 --- a/zellij-utils/src/ipc/protobuf_conversion.rs +++ b/zellij-utils/src/ipc/protobuf_conversion.rs @@ -1023,9 +1023,6 @@ impl From<crate::input::actions::Action> crate::input::actions::Action::EditScrollback { ansi } => { ActionType::EditScrollback(EditScrollbackAction { ansi }) }, - crate::input::actions::Action::EditScrollbackRaw => { - ActionType::EditScrollback(EditScrollbackAction { ansi: true }) - }, crate::input::actions::Action::ScrollUp => ActionType::ScrollUp(ScrollUpAction {}), crate::input::actions::Action::ScrollUpAt { position } => { ActionType::ScrollUpAt(ScrollUpAtAction { diff --git a/zellij-utils/src/kdl/mod.rs b/zellij-utils/src/kdl/mod.rs index ead21dc1..919c865f 100644 --- a/zellij-utils/src/kdl/mod.rs +++ b/zellij-utils/src/kdl/mod.rs @@ -50,7 +50,6 @@ macro_rules! parse_kdl_action_arguments { "FocusPreviousPane" => Ok(Action::FocusPreviousPane), "SwitchFocus" => Ok(Action::SwitchFocus), "EditScrollback" => Ok(Action::EditScrollback { ansi: false }), - "EditScrollbackRaw" => Ok(Action::EditScrollback { ansi: true }), "ScrollUp" => Ok(Action::ScrollUp), "ScrollDown" => Ok(Action::ScrollDown), "ScrollToBottom" => Ok(Action::ScrollToBottom), @@ -707,9 +706,17 @@ impl Action { file_path: None, .. } => None, Action::DumpLayout => Some(KdlNode::new("DumpLayout")), - Action::EditScrollback { ansi: false } => Some(KdlNode::new("EditScrollback")), - Action::EditScrollback { ansi: true } => Some(KdlNode::new("EditScrollbackRaw")), - Action::EditScrollbackRaw => Some(KdlNode::new("EditScrollbackRaw")), + Action::EditScrollback { ansi } => { + let mut node = KdlNode::new("EditScrollback"); + if *ansi { + let mut children = KdlDocument::new(); + let mut ansi_node = KdlNode::new("ansi"); + ansi_node.push(KdlValue::Bool(true)); + children.nodes_mut().push(ansi_node); + node.set_children(children); + } + Some(node) + }, Action::ScrollUp => Some(KdlNode::new("ScrollUp")), Action::ScrollDown => Some(KdlNode::new("ScrollDown")), Action::ScrollToBottom => Some(KdlNode::new("ScrollToBottom")), @@ -1495,10 +1502,9 @@ impl TryFrom<(&KdlNode, &Options)> for Action { }, "SwitchFocus" => parse_kdl_action_arguments!(action_name, action_arguments, kdl_action), "EditScrollback" => { - parse_kdl_action_arguments!(action_name, action_arguments, kdl_action) - }, - "EditScrollbackRaw" => { - parse_kdl_action_arguments!(action_name, action_arguments, kdl_action) + let ansi = crate::kdl_get_bool_property_or_child_value!(kdl_action, "ansi") + .unwrap_or(false); + Ok(Action::EditScrollback { ansi }) }, "ScrollUp" => parse_kdl_action_arguments!(action_name, action_arguments, kdl_action), "ScrollDown" => parse_kdl_action_arguments!(action_name, action_arguments, kdl_action), diff --git a/zellij-utils/src/plugin_api/action.rs b/zellij-utils/src/plugin_api/action.rs index 3ac937b2..93d0a556 100644 --- a/zellij-utils/src/plugin_api/action.rs +++ b/zellij-utils/src/plugin_api/action.rs @@ -1197,10 +1197,6 @@ impl TryFrom<Action> for ProtobufAction { name: ProtobufActionName::EditScrollback as i32, optional_payload: None, }), - Action::EditScrollbackRaw => Ok(ProtobufAction { - name: ProtobufActionName::EditScrollback as i32, // fallback to default edit scrollback - optional_payload: None, - }), Action::ScrollUp => Ok(ProtobufAction { name: ProtobufActionName::ScrollUp as i32, optional_payload: None, |
