diff --git a/Cargo.lock b/Cargo.lock index d189731f..337f7b7f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3265,7 +3265,6 @@ dependencies = [ "insta", "log", "mio", - "zellij-tile", "zellij-utils", ] @@ -3292,7 +3291,6 @@ dependencies = [ "uuid", "wasmer", "wasmer-wasi", - "zellij-tile", "zellij-utils", ] @@ -3305,6 +3303,7 @@ dependencies = [ "serde_json", "strum", "strum_macros", + "zellij-utils", ] [[package]] @@ -3343,13 +3342,13 @@ dependencies = [ "signal-hook 0.3.14", "strip-ansi-escapes", "strum", + "strum_macros", "tempfile", "termwiz", "thiserror", "unicode-width", "url", "vte", - "zellij-tile", ] [[package]] diff --git a/src/tests/e2e/remote_runner.rs b/src/tests/e2e/remote_runner.rs index 309dc750..9e556e10 100644 --- a/src/tests/e2e/remote_runner.rs +++ b/src/tests/e2e/remote_runner.rs @@ -2,10 +2,9 @@ use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::{Arc, Mutex}; use zellij_server::panes::{LinkHandler, TerminalPane}; +use zellij_utils::data::{Palette, Style}; use zellij_utils::pane_size::{Dimension, PaneGeom, Size}; use zellij_utils::vte; -use zellij_utils::zellij_tile::data::Palette; -use zellij_utils::zellij_tile::prelude::Style; use ssh2::Session; use std::io::prelude::*; diff --git a/zellij-client/Cargo.toml b/zellij-client/Cargo.toml index 1e937fe2..98a2426b 100644 --- a/zellij-client/Cargo.toml +++ b/zellij-client/Cargo.toml @@ -11,7 +11,6 @@ license = "MIT" [dependencies] mio = { version = "0.7.11", features = ['os-ext'] } zellij-utils = { path = "../zellij-utils/", version = "0.31.0" } -zellij-tile = { path = "../zellij-tile/", version = "0.31.0" } log = "0.4.17" [dev-dependencies] diff --git a/zellij-client/src/fake_client.rs b/zellij-client/src/fake_client.rs index 2199e12f..7338d633 100644 --- a/zellij-client/src/fake_client.rs +++ b/zellij-client/src/fake_client.rs @@ -3,8 +3,6 @@ //! Multiple actions at the same time can be dispatched. use log::debug; use std::{fs, path::PathBuf, thread}; -use zellij_tile::prelude::{ClientId, Style}; -use zellij_utils::errors::ContextType; use crate::{ command_is_executing::CommandIsExecuting, input_handler::input_actions, @@ -14,6 +12,8 @@ use crate::{ use zellij_utils::{ channels::{self, ChannelWithContext, SenderWithContext}, cli::CliArgs, + data::{ClientId, Style}, + errors::ContextType, input::{actions::Action, config::Config, layout::LayoutFromYaml, options::Options}, ipc::{ClientAttributes, ClientToServerMsg, ServerToClientMsg}, }; diff --git a/zellij-client/src/input_handler.rs b/zellij-client/src/input_handler.rs index 18ccf35b..3f92c537 100644 --- a/zellij-client/src/input_handler.rs +++ b/zellij-client/src/input_handler.rs @@ -1,13 +1,4 @@ //! Main input logic. -use zellij_utils::{ - input::{ - mouse::{MouseButton, MouseEvent}, - options::Options, - }, - termwiz::input::InputEvent, - zellij_tile, -}; - use crate::{ os_input_output::ClientOsApi, stdin_ansi_parser::{AnsiStdinInstructionOrKeys, StdinAnsiParser}, @@ -15,13 +6,20 @@ use crate::{ }; use zellij_utils::{ channels::{Receiver, SenderWithContext, OPENCALLS}, + data::{InputMode, Key}, errors::{ContextType, ErrorContext}, - input::{actions::Action, cast_termwiz_key, config::Config, keybinds::Keybinds}, + input::{ + actions::Action, + cast_termwiz_key, + config::Config, + keybinds::Keybinds, + mouse::{MouseButton, MouseEvent}, + options::Options, + }, ipc::{ClientToServerMsg, ExitReason}, + termwiz::input::InputEvent, }; -use zellij_tile::data::{InputMode, Key}; - /// Handles the dispatching of [`Action`]s according to the current /// [`InputMode`], and keep tracks of the current [`InputMode`]. struct InputHandler { diff --git a/zellij-client/src/lib.rs b/zellij-client/src/lib.rs index aeb74abb..9790984e 100644 --- a/zellij-client/src/lib.rs +++ b/zellij-client/src/lib.rs @@ -14,16 +14,15 @@ use std::io::{self, Write}; use std::path::Path; use std::process::Command; use std::thread; -use zellij_tile::prelude::{ClientId, Style}; use crate::{ command_is_executing::CommandIsExecuting, input_handler::input_loop, os_input_output::ClientOsApi, stdin_handler::stdin_loop, }; -use zellij_tile::data::InputMode; use zellij_utils::{ channels::{self, ChannelWithContext, SenderWithContext}, consts::ZELLIJ_IPC_PIPE, + data::{ClientId, InputMode, Style}, envs, errors::{ClientContext, ContextType, ErrorInstruction}, input::{actions::Action, config::Config, options::Options}, diff --git a/zellij-client/src/os_input_output.rs b/zellij-client/src/os_input_output.rs index a344f940..60c22cc9 100644 --- a/zellij-client/src/os_input_output.rs +++ b/zellij-client/src/os_input_output.rs @@ -1,5 +1,5 @@ use zellij_utils::pane_size::Size; -use zellij_utils::{interprocess, libc, nix, signal_hook, zellij_tile}; +use zellij_utils::{interprocess, libc, nix, signal_hook}; use interprocess::local_socket::LocalSocketStream; use mio::{unix::SourceFd, Events, Interest, Poll, Token}; @@ -11,8 +11,8 @@ use std::os::unix::io::RawFd; use std::path::Path; use std::sync::{Arc, Mutex}; use std::{io, thread, time}; -use zellij_tile::data::Palette; use zellij_utils::{ + data::Palette, errors::ErrorContext, ipc::{ClientToServerMsg, IpcReceiverWithContext, IpcSenderWithContext, ServerToClientMsg}, shared::default_palette, diff --git a/zellij-client/src/stdin_ansi_parser.rs b/zellij-client/src/stdin_ansi_parser.rs index a3ab117c..25f0e4fb 100644 --- a/zellij-client/src/stdin_ansi_parser.rs +++ b/zellij-client/src/stdin_ansi_parser.rs @@ -1,8 +1,10 @@ -use zellij_utils::pane_size::SizeInPixels; - -use zellij_utils::{ipc::PixelDimensions, lazy_static::lazy_static, regex::Regex}; - -use zellij_tile::data::{CharOrArrow, Key}; +use zellij_utils::{ + data::{CharOrArrow, Key}, + ipc::PixelDimensions, + lazy_static::lazy_static, + pane_size::SizeInPixels, + regex::Regex, +}; pub struct StdinAnsiParser { expected_ansi_instructions: usize, diff --git a/zellij-client/src/unit/input_handler_tests.rs b/zellij-client/src/unit/input_handler_tests.rs index 8fe4a5af..b772eb5c 100644 --- a/zellij-client/src/unit/input_handler_tests.rs +++ b/zellij-client/src/unit/input_handler_tests.rs @@ -1,11 +1,11 @@ use super::input_loop; +use zellij_utils::data::{InputMode, Palette}; use zellij_utils::input::actions::{Action, Direction}; use zellij_utils::input::config::Config; use zellij_utils::input::options::Options; use zellij_utils::nix; use zellij_utils::pane_size::{Size, SizeInPixels}; use zellij_utils::termwiz::input::{InputEvent, KeyCode, KeyEvent, Modifiers}; -use zellij_utils::zellij_tile::data::Palette; use crate::InputInstruction; use crate::{ @@ -15,12 +15,9 @@ use crate::{ use std::path::Path; -use zellij_utils::zellij_tile; - use std::io; use std::os::unix::io::RawFd; use std::sync::{Arc, Mutex}; -use zellij_tile::data::InputMode; use zellij_utils::{ errors::ErrorContext, ipc::{ClientToServerMsg, PixelDimensions, ServerToClientMsg}, diff --git a/zellij-server/Cargo.toml b/zellij-server/Cargo.toml index eba00edc..4154571e 100644 --- a/zellij-server/Cargo.toml +++ b/zellij-server/Cargo.toml @@ -22,7 +22,6 @@ wasmer = "1.0.0" wasmer-wasi = "1.0.0" cassowary = "0.3.0" zellij-utils = { path = "../zellij-utils/", version = "0.31.0" } -zellij-tile = { path = "../zellij-tile/", version = "0.31.0" } log = "0.4.17" typetag = "0.1.7" chrono = "0.4.19" diff --git a/zellij-server/src/lib.rs b/zellij-server/src/lib.rs index 00b5dbb8..490837d5 100644 --- a/zellij-server/src/lib.rs +++ b/zellij-server/src/lib.rs @@ -20,14 +20,11 @@ use std::{ sync::{Arc, Mutex, RwLock}, thread, }; -use zellij_tile::prelude::Style; use zellij_utils::envs; use zellij_utils::nix::sys::stat::{umask, Mode}; use zellij_utils::pane_size::Size; -use zellij_utils::zellij_tile; use wasmer::Store; -use zellij_tile::data::{Event, PluginCapabilities}; use crate::{ os_input_output::ServerOsApi, @@ -41,6 +38,7 @@ use zellij_utils::{ channels::{self, ChannelWithContext, SenderWithContext}, cli::CliArgs, consts::{DEFAULT_SCROLL_BUFFER_SIZE, SCROLL_BUFFER_SIZE}, + data::{Event, PluginCapabilities, Style}, errors::{ContextType, ErrorInstruction, ServerContext}, input::{ command::{RunCommand, TerminalAction}, diff --git a/zellij-server/src/os_input_output.rs b/zellij-server/src/os_input_output.rs index 5059a8fc..b4384165 100644 --- a/zellij-server/src/os_input_output.rs +++ b/zellij-server/src/os_input_output.rs @@ -11,7 +11,7 @@ use std::path::PathBuf; use std::process::{Child, Command}; use std::sync::{Arc, Mutex}; -use zellij_utils::{async_std, interprocess, libc, nix, signal_hook, zellij_tile}; +use zellij_utils::{async_std, interprocess, libc, nix, signal_hook}; use async_std::fs::File as AsyncFile; use async_std::os::unix::io::FromRawFd; @@ -25,8 +25,8 @@ use nix::sys::termios; use nix::unistd; use signal_hook::consts::*; -use zellij_tile::data::Palette; use zellij_utils::{ + data::Palette, input::command::{RunCommand, TerminalAction}, ipc::{ClientToServerMsg, IpcReceiverWithContext, IpcSenderWithContext, ServerToClientMsg}, shared::default_palette, diff --git a/zellij-server/src/panes/floating_panes/mod.rs b/zellij-server/src/panes/floating_panes/mod.rs index 8434ae39..442a4dd6 100644 --- a/zellij-server/src/panes/floating_panes/mod.rs +++ b/zellij-server/src/panes/floating_panes/mod.rs @@ -1,6 +1,5 @@ -use zellij_tile::prelude::Style; mod floating_pane_grid; -use zellij_utils::{position::Position, zellij_tile}; +use zellij_utils::position::Position; use crate::tab::Pane; use floating_pane_grid::FloatingPaneGrid; @@ -16,8 +15,10 @@ use std::cell::RefCell; use std::collections::{BTreeMap, HashMap, HashSet}; use std::rc::Rc; use std::time::Instant; -use zellij_tile::data::ModeInfo; -use zellij_utils::pane_size::{Offset, PaneGeom, Size, Viewport}; +use zellij_utils::{ + data::{ModeInfo, Style}, + pane_size::{Offset, PaneGeom, Size, Viewport}, +}; macro_rules! resize_pty { ($pane:expr, $os_input:expr) => { diff --git a/zellij-server/src/panes/grid.rs b/zellij-server/src/panes/grid.rs index 3fed2b7f..23df7948 100644 --- a/zellij-server/src/panes/grid.rs +++ b/zellij-server/src/panes/grid.rs @@ -12,16 +12,16 @@ use std::{ use zellij_utils::{ consts::{DEFAULT_SCROLL_BUFFER_SIZE, SCROLL_BUFFER_SIZE}, + data::{Palette, PaletteColor}, pane_size::SizeInPixels, position::Position, - vte, zellij_tile, + vte, }; const TABSTOP_WIDTH: usize = 8; // TODO: is this always right? pub const MAX_TITLE_STACK_SIZE: usize = 1000; use vte::{Params, Perform}; -use zellij_tile::data::{Palette, PaletteColor}; use zellij_utils::{consts::VERSION, shared::version_number}; use crate::output::{CharacterChunk, OutputBuffer}; diff --git a/zellij-server/src/panes/plugin_pane.rs b/zellij-server/src/panes/plugin_pane.rs index 244e8b25..87e0ac7e 100644 --- a/zellij-server/src/panes/plugin_pane.rs +++ b/zellij-server/src/panes/plugin_pane.rs @@ -12,9 +12,9 @@ use crate::ClientId; use zellij_utils::pane_size::Offset; use zellij_utils::position::Position; use zellij_utils::shared::ansi_len; -use zellij_utils::zellij_tile::prelude::{Event, InputMode, Mouse, PaletteColor}; use zellij_utils::{ channels::SenderWithContext, + data::{Event, InputMode, Mouse, PaletteColor}, pane_size::{Dimension, PaneGeom}, shared::make_terminal_title, }; diff --git a/zellij-server/src/panes/terminal_character.rs b/zellij-server/src/panes/terminal_character.rs index 19f4ee42..2e4b4e35 100644 --- a/zellij-server/src/panes/terminal_character.rs +++ b/zellij-server/src/panes/terminal_character.rs @@ -3,10 +3,9 @@ use std::fmt::{self, Debug, Display, Formatter}; use std::ops::{Index, IndexMut}; use unicode_width::UnicodeWidthChar; -use zellij_utils::vte::ParamsIter; +use zellij_utils::{data::PaletteColor, vte::ParamsIter}; use crate::panes::alacritty_functions::parse_sgr_color; -use zellij_tile::data::PaletteColor; pub const EMPTY_TERMINAL_CHARACTER: TerminalCharacter = TerminalCharacter { character: ' ', diff --git a/zellij-server/src/panes/terminal_pane.rs b/zellij-server/src/panes/terminal_pane.rs index 060bdd8f..64af5859 100644 --- a/zellij-server/src/panes/terminal_pane.rs +++ b/zellij-server/src/panes/terminal_pane.rs @@ -13,15 +13,14 @@ use std::fmt::Debug; use std::os::unix::io::RawFd; use std::rc::Rc; use std::time::{self, Instant}; -use zellij_tile::prelude::Style; use zellij_utils::pane_size::Offset; use zellij_utils::{ + data::{InputMode, Palette, PaletteColor, Style}, pane_size::SizeInPixels, pane_size::{Dimension, PaneGeom}, position::Position, shared::make_terminal_title, vte, - zellij_tile::data::{InputMode, Palette, PaletteColor}, }; pub const SELECTION_SCROLL_INTERVAL_MS: u64 = 10; diff --git a/zellij-server/src/panes/tiled_panes/mod.rs b/zellij-server/src/panes/tiled_panes/mod.rs index 143aec43..03fa0c06 100644 --- a/zellij-server/src/panes/tiled_panes/mod.rs +++ b/zellij-server/src/panes/tiled_panes/mod.rs @@ -1,9 +1,6 @@ mod pane_resizer; mod tiled_pane_grid; -use zellij_tile::prelude::Style; -use zellij_utils::zellij_tile; - use crate::tab::{Pane, MIN_TERMINAL_HEIGHT, MIN_TERMINAL_WIDTH}; use tiled_pane_grid::{split, TiledPaneGrid}; @@ -15,8 +12,8 @@ use std::cell::RefCell; use std::collections::{BTreeMap, HashMap, HashSet}; use std::rc::Rc; use std::time::Instant; -use zellij_tile::data::ModeInfo; use zellij_utils::{ + data::{ModeInfo, Style}, input::layout::Direction, pane_size::{Offset, PaneGeom, Size, SizeInPixels, Viewport}, }; diff --git a/zellij-server/src/panes/unit/grid_tests.rs b/zellij-server/src/panes/unit/grid_tests.rs index 42c4e329..057c1466 100644 --- a/zellij-server/src/panes/unit/grid_tests.rs +++ b/zellij-server/src/panes/unit/grid_tests.rs @@ -3,7 +3,7 @@ use crate::panes::link_handler::LinkHandler; use ::insta::assert_snapshot; use std::cell::RefCell; use std::rc::Rc; -use zellij_utils::{pane_size::SizeInPixels, position::Position, vte, zellij_tile::data::Palette}; +use zellij_utils::{data::Palette, pane_size::SizeInPixels, position::Position, vte}; fn read_fixture(fixture_name: &str) -> Vec { let mut path_to_file = std::path::PathBuf::new(); diff --git a/zellij-server/src/panes/unit/terminal_pane_tests.rs b/zellij-server/src/panes/unit/terminal_pane_tests.rs index efb83db9..62c2436e 100644 --- a/zellij-server/src/panes/unit/terminal_pane_tests.rs +++ b/zellij-server/src/panes/unit/terminal_pane_tests.rs @@ -4,9 +4,10 @@ use crate::tab::Pane; use ::insta::assert_snapshot; use std::cell::RefCell; use std::rc::Rc; -use zellij_tile::data::Palette; -use zellij_tile::prelude::Style; -use zellij_utils::pane_size::PaneGeom; +use zellij_utils::{ + data::{Palette, Style}, + pane_size::PaneGeom, +}; use std::fmt::Write; diff --git a/zellij-server/src/route.rs b/zellij-server/src/route.rs index e953c4fe..253f62bc 100644 --- a/zellij-server/src/route.rs +++ b/zellij-server/src/route.rs @@ -1,7 +1,5 @@ use std::sync::{Arc, RwLock}; -use zellij_utils::zellij_tile::data::Event; - use crate::{ os_input_output::ServerOsApi, pty::{ClientOrTabIndex, PtyInstruction}, @@ -11,6 +9,7 @@ use crate::{ }; use zellij_utils::{ channels::SenderWithContext, + data::Event, input::{ actions::{Action, Direction, ResizeDirection}, command::TerminalAction, diff --git a/zellij-server/src/screen.rs b/zellij-server/src/screen.rs index 43b1491d..9d284b32 100644 --- a/zellij-server/src/screen.rs +++ b/zellij-server/src/screen.rs @@ -6,13 +6,9 @@ use std::os::unix::io::RawFd; use std::rc::Rc; use std::str; -use zellij_tile::data::{Palette, PaletteColor}; -use zellij_tile::prelude::Style; use zellij_utils::input::options::Clipboard; use zellij_utils::pane_size::{Size, SizeInPixels}; -use zellij_utils::{ - input::command::TerminalAction, input::layout::Layout, position::Position, zellij_tile, -}; +use zellij_utils::{input::command::TerminalAction, input::layout::Layout, position::Position}; use crate::panes::alacritty_functions::xparse_color; use crate::panes::terminal_character::AnsiCode; @@ -27,8 +23,8 @@ use crate::{ wasm_vm::PluginInstruction, ClientId, ServerInstruction, }; -use zellij_tile::data::{Event, InputMode, ModeInfo, PluginCapabilities, TabInfo}; use zellij_utils::{ + data::{Event, InputMode, ModeInfo, Palette, PaletteColor, PluginCapabilities, Style, TabInfo}, errors::{ContextType, ScreenContext}, input::{get_mode_info, options::Options}, ipc::{ClientAttributes, PixelDimensions}, diff --git a/zellij-server/src/tab/clipboard.rs b/zellij-server/src/tab/clipboard.rs index b2202baf..685c832c 100644 --- a/zellij-server/src/tab/clipboard.rs +++ b/zellij-server/src/tab/clipboard.rs @@ -1,5 +1,4 @@ -use zellij_tile::prelude::CopyDestination; -use zellij_utils::{anyhow::Result, input::options::Clipboard}; +use zellij_utils::{anyhow::Result, data::CopyDestination, input::options::Clipboard}; use crate::ClientId; diff --git a/zellij-server/src/tab/mod.rs b/zellij-server/src/tab/mod.rs index 2ae984c3..10ed525f 100644 --- a/zellij-server/src/tab/mod.rs +++ b/zellij-server/src/tab/mod.rs @@ -7,9 +7,8 @@ mod copy_command; use copy_command::CopyCommand; use std::env::temp_dir; use uuid::Uuid; -use zellij_tile::prelude::Style; use zellij_utils::position::{Column, Line}; -use zellij_utils::{position::Position, serde, zellij_tile}; +use zellij_utils::{position::Position, serde}; use crate::pty_writer::PtyWriteInstruction; use crate::screen::CopyOptions; @@ -36,8 +35,8 @@ use std::{ collections::{HashMap, HashSet}, str, }; -use zellij_tile::data::{Event, InputMode, ModeInfo, Palette, PaletteColor}; use zellij_utils::{ + data::{Event, InputMode, ModeInfo, Palette, PaletteColor, Style}, input::{ command::TerminalAction, layout::{Layout, Run}, diff --git a/zellij-server/src/tab/unit/tab_integration_tests.rs b/zellij-server/src/tab/unit/tab_integration_tests.rs index bcad7184..efb8909d 100644 --- a/zellij-server/src/tab/unit/tab_integration_tests.rs +++ b/zellij-server/src/tab/unit/tab_integration_tests.rs @@ -1,6 +1,5 @@ use super::{Output, Tab}; use crate::screen::CopyOptions; -use crate::zellij_tile::data::{ModeInfo, Palette}; use crate::Arc; use crate::Mutex; use crate::{ @@ -11,7 +10,6 @@ use crate::{ }; use std::convert::TryInto; use std::path::PathBuf; -use zellij_tile::prelude::Style; use zellij_utils::envs::set_session_name; use zellij_utils::input::layout::LayoutTemplate; use zellij_utils::ipc::IpcReceiverWithContext; @@ -27,6 +25,7 @@ use std::rc::Rc; use zellij_utils::nix; use zellij_utils::{ + data::{ModeInfo, Palette, Style}, input::command::TerminalAction, interprocess::local_socket::LocalSocketStream, ipc::{ClientToServerMsg, ServerToClientMsg}, diff --git a/zellij-server/src/tab/unit/tab_tests.rs b/zellij-server/src/tab/unit/tab_tests.rs index 6cc52219..045515fa 100644 --- a/zellij-server/src/tab/unit/tab_tests.rs +++ b/zellij-server/src/tab/unit/tab_tests.rs @@ -1,6 +1,5 @@ use super::Tab; use crate::screen::CopyOptions; -use crate::zellij_tile::data::{ModeInfo, Palette}; use crate::{ os_input_output::{AsyncReader, Pid, ServerOsApi}, panes::PaneId, @@ -9,7 +8,6 @@ use crate::{ }; use std::convert::TryInto; use std::path::PathBuf; -use zellij_tile::prelude::Style; use zellij_utils::input::layout::LayoutTemplate; use zellij_utils::ipc::IpcReceiverWithContext; use zellij_utils::pane_size::{Size, SizeInPixels}; @@ -22,6 +20,7 @@ use std::rc::Rc; use zellij_utils::nix; use zellij_utils::{ + data::{ModeInfo, Palette, Style}, input::command::TerminalAction, interprocess::local_socket::LocalSocketStream, ipc::{ClientToServerMsg, ServerToClientMsg}, diff --git a/zellij-server/src/ui/boundaries.rs b/zellij-server/src/ui/boundaries.rs index a8aff734..4cd6b1fd 100644 --- a/zellij-server/src/ui/boundaries.rs +++ b/zellij-server/src/ui/boundaries.rs @@ -1,12 +1,11 @@ -use zellij_utils::{pane_size::Viewport, zellij_tile}; +use zellij_utils::pane_size::Viewport; use crate::output::CharacterChunk; use crate::panes::terminal_character::{TerminalCharacter, EMPTY_TERMINAL_CHARACTER, RESET_STYLES}; use crate::tab::Pane; use ansi_term::Colour::{Fixed, RGB}; use std::collections::HashMap; -use zellij_tile::data::PaletteColor; -use zellij_utils::shared::colors; +use zellij_utils::{data::PaletteColor, shared::colors}; use std::fmt::{Display, Error, Formatter}; pub mod boundary_type { diff --git a/zellij-server/src/ui/pane_boundaries_frame.rs b/zellij-server/src/ui/pane_boundaries_frame.rs index 40d0cd6f..8f25c98f 100644 --- a/zellij-server/src/ui/pane_boundaries_frame.rs +++ b/zellij-server/src/ui/pane_boundaries_frame.rs @@ -2,9 +2,8 @@ use crate::output::CharacterChunk; use crate::panes::{AnsiCode, CharacterStyles, TerminalCharacter, EMPTY_TERMINAL_CHARACTER}; use crate::ui::boundaries::boundary_type; use crate::ClientId; -use zellij_tile::prelude::Style; +use zellij_utils::data::{client_id_to_colors, PaletteColor, Style}; use zellij_utils::pane_size::Viewport; -use zellij_utils::zellij_tile::prelude::{client_id_to_colors, PaletteColor}; use unicode_width::{UnicodeWidthChar, UnicodeWidthStr}; diff --git a/zellij-server/src/ui/pane_contents_and_ui.rs b/zellij-server/src/ui/pane_contents_and_ui.rs index e9702a3d..50f76316 100644 --- a/zellij-server/src/ui/pane_contents_and_ui.rs +++ b/zellij-server/src/ui/pane_contents_and_ui.rs @@ -5,9 +5,8 @@ use crate::ui::boundaries::Boundaries; use crate::ui::pane_boundaries_frame::FrameParams; use crate::ClientId; use std::collections::HashMap; -use zellij_tile::{ - data::{client_id_to_colors, single_client_color, InputMode, PaletteColor}, - prelude::Style, +use zellij_utils::data::{ + client_id_to_colors, single_client_color, InputMode, PaletteColor, Style, }; pub struct PaneContentsAndUi<'a> { pane: &'a mut Box, diff --git a/zellij-server/src/unit/screen_tests.rs b/zellij-server/src/unit/screen_tests.rs index 489b507d..0cf8d453 100644 --- a/zellij-server/src/unit/screen_tests.rs +++ b/zellij-server/src/unit/screen_tests.rs @@ -1,6 +1,5 @@ use super::{CopyOptions, Screen, ScreenInstruction}; use crate::panes::PaneId; -use crate::zellij_tile::data::{ModeInfo, Palette}; use crate::{ os_input_output::{AsyncReader, Pid, ServerOsApi}, thread_bus::Bus, @@ -19,6 +18,7 @@ use zellij_utils::ipc::{ClientAttributes, PixelDimensions}; use zellij_utils::nix; use zellij_utils::{ + data::{ModeInfo, Palette}, interprocess::local_socket::LocalSocketStream, ipc::{ClientToServerMsg, ServerToClientMsg}, }; diff --git a/zellij-server/src/wasm_vm.rs b/zellij-server/src/wasm_vm.rs index 4e08e6c4..4ab6c03d 100644 --- a/zellij-server/src/wasm_vm.rs +++ b/zellij-server/src/wasm_vm.rs @@ -17,7 +17,6 @@ use wasmer::{ WasmerEnv, }; use wasmer_wasi::{Pipe, WasiEnv, WasiState}; -use zellij_tile::data::{Event, EventType, PluginIds}; use crate::{ logging_pipe::LoggingPipe, @@ -30,13 +29,14 @@ use crate::{ use zellij_utils::{ consts::{VERSION, ZELLIJ_CACHE_DIR, ZELLIJ_PROJ_DIR, ZELLIJ_TMP_DIR}, + data::{Event, EventType, PluginIds}, errors::{ContextType, PluginContext}, }; use zellij_utils::{ input::command::TerminalAction, input::layout::RunPlugin, input::plugins::{PluginConfig, PluginType, PluginsConfig}, - serde, zellij_tile, + serde, }; #[derive(Clone, Debug)] diff --git a/zellij-tile/Cargo.toml b/zellij-tile/Cargo.toml index 2c4d374e..b593c158 100644 --- a/zellij-tile/Cargo.toml +++ b/zellij-tile/Cargo.toml @@ -12,3 +12,4 @@ serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" strum = "0.20.0" strum_macros = "0.20.0" +zellij-utils = { path = "../zellij-utils/", version = "0.31.0" } diff --git a/zellij-tile/src/lib.rs b/zellij-tile/src/lib.rs index 96483c3c..85a5bfe1 100644 --- a/zellij-tile/src/lib.rs +++ b/zellij-tile/src/lib.rs @@ -1,8 +1,7 @@ -pub mod data; pub mod prelude; pub mod shim; -use data::*; +use zellij_utils::data::Event; #[allow(unused_variables)] pub trait ZellijPlugin { diff --git a/zellij-tile/src/prelude.rs b/zellij-tile/src/prelude.rs index 2dd24a47..196696a4 100644 --- a/zellij-tile/src/prelude.rs +++ b/zellij-tile/src/prelude.rs @@ -1,3 +1,3 @@ -pub use crate::data::*; pub use crate::shim::*; pub use crate::*; +pub use zellij_utils::data::*; diff --git a/zellij-tile/src/shim.rs b/zellij-tile/src/shim.rs index fe41a21b..99920e74 100644 --- a/zellij-tile/src/shim.rs +++ b/zellij-tile/src/shim.rs @@ -1,7 +1,6 @@ use serde::{de::DeserializeOwned, Serialize}; use std::{io, path::Path}; - -use crate::data::*; +use zellij_utils::data::*; // Subscription Handling diff --git a/zellij-utils/Cargo.toml b/zellij-utils/Cargo.toml index 937857b5..28f309d3 100644 --- a/zellij-utils/Cargo.toml +++ b/zellij-utils/Cargo.toml @@ -18,7 +18,6 @@ colored = "2.0.0" colorsys = "0.6.5" crossbeam = "0.8.1" directories-next = "2.0" -interprocess = "1.1.1" lazy_static = "1.4.0" libc = "0.2" nix = "0.23.1" @@ -26,25 +25,25 @@ once_cell = "1.8.0" serde = { version = "1.0", features = ["derive"] } serde_yaml = "0.8" serde_json = "1.0" -signal-hook = "0.3" strip-ansi-escapes = "0.1.0" strum = "0.20.0" +strum_macros = "0.20.1" thiserror = "1.0.30" url = { version = "2.2.2", features = ["serde"] } vte = "0.10.1" -zellij-tile = { path = "../zellij-tile/", version = "0.31.0" } log = "0.4.17" -log4rs = "1.0.0" unicode-width = "0.1.8" miette = { version = "3.3.0", features = ["fancy"] } regex = "1.5.5" -termwiz = "0.16.0" tempfile = "3.2.0" - -[dependencies.async-std] -version = "1.3.0" -features = ["unstable"] +#[cfg(not(target_family = "wasm"))] +[target.'cfg(not(target_family = "wasm"))'.dependencies] +termwiz = "0.16.0" +log4rs = "1.0.0" +signal-hook = "0.3" +interprocess = "1.1.1" +async-std = { version = "1.3.0", features = ["unstable"] } [dev-dependencies] diff --git a/zellij-tile/src/data.rs b/zellij-utils/src/data.rs similarity index 100% rename from zellij-tile/src/data.rs rename to zellij-utils/src/data.rs diff --git a/zellij-utils/src/input/actions.rs b/zellij-utils/src/input/actions.rs index 6527a536..0550792d 100644 --- a/zellij-utils/src/input/actions.rs +++ b/zellij-utils/src/input/actions.rs @@ -2,9 +2,9 @@ use super::command::RunCommandAction; use super::layout::TabLayout; +use crate::data::InputMode; use crate::input::options::OnForceClose; use serde::{Deserialize, Serialize}; -use zellij_tile::data::InputMode; use crate::position::Position; diff --git a/zellij-utils/src/input/keybinds.rs b/zellij-utils/src/input/keybinds.rs index 83177793..af561696 100644 --- a/zellij-utils/src/input/keybinds.rs +++ b/zellij-utils/src/input/keybinds.rs @@ -3,10 +3,10 @@ use std::collections::HashMap; use super::actions::Action; use super::config; +use crate::input::{InputMode, Key}; use serde::{Deserialize, Serialize}; use strum::IntoEnumIterator; -use zellij_tile::data::*; /// Used in the config struct #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] diff --git a/zellij-utils/src/input/mod.rs b/zellij-utils/src/input/mod.rs index 807c87c9..84ae1e36 100644 --- a/zellij-utils/src/input/mod.rs +++ b/zellij-utils/src/input/mod.rs @@ -10,12 +10,12 @@ pub mod options; pub mod plugins; pub mod theme; +use super::{ + data::{CharOrArrow, Direction, Style}, + data::{InputMode, Key, ModeInfo, PluginCapabilities}, +}; use crate::envs; use termwiz::input::{InputEvent, InputParser, KeyCode, KeyEvent, Modifiers}; -use zellij_tile::{ - data::{InputMode, Key, ModeInfo, PluginCapabilities}, - prelude::{CharOrArrow, Direction, Style}, -}; /// Creates a [`ModeInfo`] struct indicating the current [`InputMode`] and its keybinds /// (as pairs of [`String`]s). diff --git a/zellij-utils/src/input/options.rs b/zellij-utils/src/input/options.rs index 131abc48..8af9c8a4 100644 --- a/zellij-utils/src/input/options.rs +++ b/zellij-utils/src/input/options.rs @@ -1,10 +1,10 @@ //! Handles cli and configuration options use crate::cli::Command; +use crate::data::InputMode; use clap::{ArgEnum, Args}; use serde::{Deserialize, Serialize}; use std::path::PathBuf; use std::str::FromStr; -use zellij_tile::data::InputMode; #[derive(Copy, Clone, Debug, PartialEq, Deserialize, Serialize, ArgEnum)] pub enum OnForceClose { diff --git a/zellij-utils/src/input/plugins.rs b/zellij-utils/src/input/plugins.rs index fba3c531..8dec828d 100644 --- a/zellij-utils/src/input/plugins.rs +++ b/zellij-utils/src/input/plugins.rs @@ -12,8 +12,8 @@ use url::Url; use super::config::ConfigFromYaml; use super::layout::{RunPlugin, RunPluginLocation}; +pub use crate::data::PluginTag; use crate::setup; -pub use zellij_tile::data::PluginTag; lazy_static! { static ref DEFAULT_CONFIG_PLUGINS: PluginsConfig = { diff --git a/zellij-utils/src/input/theme.rs b/zellij-utils/src/input/theme.rs index 6a1bc763..fc8329a7 100644 --- a/zellij-utils/src/input/theme.rs +++ b/zellij-utils/src/input/theme.rs @@ -5,8 +5,8 @@ use serde::{ use std::{collections::HashMap, fmt}; use super::options::Options; +use crate::data::{Palette, PaletteColor}; use crate::shared::detect_theme_hue; -use zellij_tile::data::{Palette, PaletteColor}; /// Intermediate deserialization of themes #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] @@ -137,6 +137,7 @@ impl ThemesFromYaml { self.0.remove(&theme) } + #[allow(clippy::wrong_self_convention)] fn from_default_theme(&mut self, theme: String) -> Option { self.clone() .get_theme(theme) diff --git a/zellij-utils/src/input/unit/keybinds_test.rs b/zellij-utils/src/input/unit/keybinds_test.rs index 387675c5..ed132898 100644 --- a/zellij-utils/src/input/unit/keybinds_test.rs +++ b/zellij-utils/src/input/unit/keybinds_test.rs @@ -1,6 +1,7 @@ use super::super::actions::*; use super::super::keybinds::*; -use zellij_tile::data::Key; +use crate::data::Key; +use crate::input::CharOrArrow; #[test] fn merge_keybinds_merges_different_keys() { diff --git a/zellij-utils/src/ipc.rs b/zellij-utils/src/ipc.rs index 4ba42515..78a9137f 100644 --- a/zellij-utils/src/ipc.rs +++ b/zellij-utils/src/ipc.rs @@ -2,6 +2,7 @@ use crate::{ cli::CliArgs, + data::{ClientId, InputMode, Style}, errors::{get_current_ctx, ErrorContext}, input::{actions::Action, layout::LayoutFromYaml, options::Options, plugins::PluginsConfig}, pane_size::{Size, SizeInPixels}, @@ -17,11 +18,6 @@ use std::{ os::unix::io::{AsRawFd, FromRawFd}, }; -use zellij_tile::{ - data::InputMode, - prelude::{ClientId, Style}, -}; - type SessionId = u64; #[derive(PartialEq, Eq, Serialize, Deserialize, Hash)] diff --git a/zellij-utils/src/lib.rs b/zellij-utils/src/lib.rs index b7c2cc95..94c4f18d 100644 --- a/zellij-utils/src/lib.rs +++ b/zellij-utils/src/lib.rs @@ -1,28 +1,32 @@ +pub mod data; + +#[cfg(not(target_family = "wasm"))] pub mod channels; +#[cfg(not(target_family = "wasm"))] pub mod cli; +#[cfg(not(target_family = "wasm"))] pub mod consts; +#[cfg(not(target_family = "wasm"))] pub mod envs; +#[cfg(not(target_family = "wasm"))] pub mod errors; +#[cfg(not(target_family = "wasm"))] pub mod input; +#[cfg(not(target_family = "wasm"))] pub mod ipc; +#[cfg(not(target_family = "wasm"))] pub mod logging; +#[cfg(not(target_family = "wasm"))] pub mod pane_size; +#[cfg(not(target_family = "wasm"))] pub mod position; +#[cfg(not(target_family = "wasm"))] pub mod setup; +#[cfg(not(target_family = "wasm"))] pub mod shared; -pub use anyhow; -pub use async_std; -pub use clap; -pub use interprocess; -pub use lazy_static; -pub use libc; -pub use nix; -pub use regex; -pub use serde; -pub use serde_yaml; -pub use signal_hook; -pub use tempfile; -pub use termwiz; -pub use vte; -pub use zellij_tile; +#[cfg(not(target_family = "wasm"))] +pub use ::{ + anyhow, async_std, clap, interprocess, lazy_static, libc, nix, regex, serde, serde_yaml, + signal_hook, tempfile, termwiz, vte, +}; diff --git a/zellij-utils/src/setup.rs b/zellij-utils/src/setup.rs index 91211f9f..9b2c36b2 100644 --- a/zellij-utils/src/setup.rs +++ b/zellij-utils/src/setup.rs @@ -476,6 +476,7 @@ impl Setup { #[cfg(test)] mod setup_test { use super::Setup; + use crate::data::InputMode; use crate::input::{ config::{Config, ConfigError}, layout::LayoutFromYamlIntermediate, @@ -554,7 +555,7 @@ mod setup_test { fn nonempty_config_nonempty_layout() { let mut goal = Config::default(); goal.options.default_shell = Some(std::path::PathBuf::from("bash")); - goal.options.default_mode = Some(zellij_tile::prelude::InputMode::Locked); + goal.options.default_mode = Some(InputMode::Locked); let config = r"--- default_mode: locked"; let layout = r"--- diff --git a/zellij-utils/src/shared.rs b/zellij-utils/src/shared.rs index 6df753da..b916c411 100644 --- a/zellij-utils/src/shared.rs +++ b/zellij-utils/src/shared.rs @@ -2,6 +2,7 @@ use std::{iter, str::from_utf8}; +use crate::data::{Palette, PaletteColor, PaletteSource, ThemeHue}; use crate::envs::get_session_name; use colorsys::Rgb; use std::os::unix::fs::PermissionsExt; @@ -9,7 +10,6 @@ use std::path::Path; use std::{fs, io}; use strip_ansi_escapes::strip; use unicode_width::UnicodeWidthStr; -use zellij_tile::data::{Palette, PaletteColor, PaletteSource, ThemeHue}; pub fn set_permissions(path: &Path, mode: u32) -> io::Result<()> { let mut permissions = fs::metadata(path)?.permissions();