├── .cargo └── config.toml ├── .editorconfig ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ ├── feature_request.md │ ├── plugin_API.md │ └── plugin_idea.md ├── dependabot.yml └── workflows │ ├── e2e.yml │ ├── release.yml │ └── rust.yml ├── .gitignore ├── .rustfmt.toml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.lock ├── Cargo.toml ├── GOVERNANCE.md ├── LICENSE.md ├── README.md ├── assets ├── demo.gif ├── logo.png └── zellij.desktop ├── default-plugins ├── about │ ├── .cargo │ │ └── config.toml │ ├── .gitignore │ ├── Cargo.toml │ ├── LICENSE.md │ └── src │ │ ├── active_component.rs │ │ ├── main.rs │ │ ├── pages.rs │ │ └── tips.rs ├── compact-bar │ ├── .cargo │ │ └── config.toml │ ├── Cargo.toml │ ├── LICENSE.md │ └── src │ │ ├── line.rs │ │ ├── main.rs │ │ └── tab.rs ├── configuration │ ├── .cargo │ │ └── config.toml │ ├── .gitignore │ ├── Cargo.toml │ ├── LICENSE.md │ └── src │ │ ├── main.rs │ │ ├── presets.rs │ │ ├── presets_screen.rs │ │ ├── rebind_leaders_screen.rs │ │ └── ui_components.rs ├── fixture-plugin-for-tests │ ├── .cargo │ │ └── config.toml │ ├── Cargo.toml │ ├── LICENSE.md │ └── src │ │ └── main.rs ├── multiple-select │ ├── .cargo │ │ └── config.toml │ ├── .gitignore │ ├── Cargo.toml │ ├── LICENSE.md │ └── src │ │ ├── main.rs │ │ ├── state.rs │ │ └── ui.rs ├── plugin-manager │ ├── .cargo │ │ └── config.toml │ ├── .gitignore │ ├── Cargo.toml │ ├── LICENSE.md │ └── src │ │ └── main.rs ├── session-manager │ ├── .cargo │ │ └── config.toml │ ├── .gitignore │ ├── Cargo.toml │ └── src │ │ ├── main.rs │ │ ├── new_session_info.rs │ │ ├── resurrectable_sessions.rs │ │ ├── session_list.rs │ │ └── ui │ │ ├── components.rs │ │ ├── mod.rs │ │ └── welcome_screen.rs ├── status-bar │ ├── .cargo │ │ └── config.toml │ ├── Cargo.toml │ ├── LICENSE.md │ └── src │ │ ├── first_line.rs │ │ ├── main.rs │ │ ├── one_line_ui.rs │ │ ├── second_line.rs │ │ └── tip │ │ ├── cache.rs │ │ ├── consts.rs │ │ ├── data │ │ ├── compact_layout.rs │ │ ├── edit_scrollbuffer.rs │ │ ├── floating_panes_mouse.rs │ │ ├── mod.rs │ │ ├── move_focus_hjkl_tab_switch.rs │ │ ├── move_tabs.rs │ │ ├── quicknav.rs │ │ ├── send_mouse_click_to_terminal.rs │ │ ├── sync_tab.rs │ │ ├── use_mouse.rs │ │ └── zellij_setup_check.rs │ │ ├── mod.rs │ │ └── utils.rs ├── strider │ ├── .cargo │ │ └── config.toml │ ├── Cargo.toml │ ├── LICENSE.md │ └── src │ │ ├── file_list_view.rs │ │ ├── main.rs │ │ ├── search_view.rs │ │ ├── shared.rs │ │ └── state.rs └── tab-bar │ ├── .cargo │ └── config.toml │ ├── Cargo.toml │ ├── LICENSE.md │ └── src │ ├── line.rs │ ├── main.rs │ └── tab.rs ├── docker-compose.yml ├── docs ├── ARCHITECTURE.md ├── ERROR_HANDLING.md ├── MANPAGE.md ├── RELEASE.md ├── TERMINOLOGY.md └── THIRD_PARTY_INSTALL.md ├── example ├── README.md ├── alt-centered-config.kdl ├── config.kdl ├── default.kdl ├── layouts │ ├── multiple_tabs_layout.kdl │ ├── multiple_tabs_layout_htop_command.kdl │ ├── run_htop_layout.kdl │ └── run_htop_layout_with_plugins.kdl ├── screen-overview.yaml └── themes │ ├── README.md │ └── example.kdl ├── funding.json ├── rust-toolchain.toml ├── src ├── commands.rs ├── main.rs ├── sessions.rs └── tests │ ├── e2e │ ├── cases.rs │ ├── mod.rs │ ├── remote_runner.rs │ ├── snapshots │ │ ├── zellij__tests__e2e__cases__accepts_basic_layout.snap │ │ ├── zellij__tests__e2e__cases__bracketed_paste.snap │ │ ├── zellij__tests__e2e__cases__cannot_split_terminals_vertically_when_active_terminal_is_too_small.snap │ │ ├── zellij__tests__e2e__cases__close_pane.snap │ │ ├── zellij__tests__e2e__cases__close_tab.snap │ │ ├── zellij__tests__e2e__cases__detach_and_attach_session.snap │ │ ├── zellij__tests__e2e__cases__focus_pane_with_mouse.snap │ │ ├── zellij__tests__e2e__cases__focus_tab_with_layout.snap │ │ ├── zellij__tests__e2e__cases__load_plugins_in_background_on_startup.snap │ │ ├── zellij__tests__e2e__cases__lock_mode.snap │ │ ├── zellij__tests__e2e__cases__mirrored_sessions-2.snap │ │ ├── zellij__tests__e2e__cases__mirrored_sessions.snap │ │ ├── zellij__tests__e2e__cases__move_tab_to_left.snap │ │ ├── zellij__tests__e2e__cases__move_tab_to_left_until_it_wraps_around.snap │ │ ├── zellij__tests__e2e__cases__move_tab_to_right.snap │ │ ├── zellij__tests__e2e__cases__move_tab_to_right_until_it_wraps_around.snap │ │ ├── zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab-2.snap │ │ ├── zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab.snap │ │ ├── zellij__tests__e2e__cases__multiple_users_in_different_tabs-2.snap │ │ ├── zellij__tests__e2e__cases__multiple_users_in_different_tabs.snap │ │ ├── zellij__tests__e2e__cases__multiple_users_in_same_pane_and_tab-2.snap │ │ ├── zellij__tests__e2e__cases__multiple_users_in_same_pane_and_tab.snap │ │ ├── zellij__tests__e2e__cases__open_new_tab.snap │ │ ├── zellij__tests__e2e__cases__pin_floating_panes.snap │ │ ├── zellij__tests__e2e__cases__quit_and_resurrect_session.snap │ │ ├── zellij__tests__e2e__cases__quit_and_resurrect_session_with_viewport_serialization.snap │ │ ├── zellij__tests__e2e__cases__resize_pane.snap │ │ ├── zellij__tests__e2e__cases__resize_terminal_window.snap │ │ ├── zellij__tests__e2e__cases__scrolling_inside_a_pane.snap │ │ ├── zellij__tests__e2e__cases__scrolling_inside_a_pane_with_mouse.snap │ │ ├── zellij__tests__e2e__cases__send_command_through_the_cli.snap │ │ ├── zellij__tests__e2e__cases__split_terminals_vertically.snap │ │ ├── zellij__tests__e2e__cases__start_without_pane_frames.snap │ │ ├── zellij__tests__e2e__cases__starts_with_one_terminal.snap │ │ ├── zellij__tests__e2e__cases__status_bar_loads_custom_keybindings.snap │ │ ├── zellij__tests__e2e__cases__tmux_mode.snap │ │ ├── zellij__tests__e2e__cases__toggle_floating_panes.snap │ │ ├── zellij__tests__e2e__cases__toggle_pane_fullscreen.snap │ │ ├── zellij__tests__e2e__cases__typing_exit_closes_pane.snap │ │ ├── zellij__tests__e2e__cases__undo_rename_pane.snap │ │ └── zellij__tests__e2e__cases__undo_rename_tab.snap │ └── steps.rs │ ├── fixtures │ ├── alternate_screen_change_size │ ├── append-echo-script.sh │ ├── bash_cursor_linewrap │ ├── bash_delete_wide_characters │ ├── chinese_characters_line_middle │ ├── clear_scroll_region │ ├── configs │ │ ├── changed_keys.kdl │ │ └── load_background_plugins.kdl │ ├── csi-b │ ├── csi-capital-i │ ├── csi-capital-z │ ├── delete_wide_character_under_cursor │ ├── delete_wide_characters_before_cursor │ ├── delete_wide_characters_before_cursor_when_cursor_is_on_wide_character │ ├── e2e │ │ ├── fill_for_pinned_pane │ │ └── scrolling_inside_a_pane │ ├── emacs_longbuf_tutorial │ ├── exa_plus_omf_theme │ ├── fish_and_bandwhich │ ├── fish_paste_multiline │ ├── fish_select_tab_completion_options │ ├── fish_tab_completion_options │ ├── fish_wide_characters_override_clock │ ├── fzf_fullscreen │ ├── git_diff_scrollup │ ├── git_log │ ├── grid_copy │ ├── grid_copy_wrapped │ ├── htop │ ├── htop_right_scrolling │ ├── htop_scrolling │ ├── layout_for_resurrection.kdl │ ├── move_cursor_below_scroll_region │ ├── ncmpcpp-wide-chars │ ├── nested-list-ui-component │ ├── nested-list-ui-component-with-coordinates │ ├── nvim_insert │ ├── replace_multiple_wide_characters │ ├── replace_non_wide_characters_with_wide_characters │ ├── replace_wide_character_under_cursor │ ├── ribbon-ui-component │ ├── ribbon-ui-component-with-coordinates │ ├── ring_bell │ ├── scroll_down │ ├── scroll_region_full_screen │ ├── scrolling │ ├── sixel-image-100px.six │ ├── sixel-image-500px.six │ ├── tab_characters │ ├── table-ui-component │ ├── table-ui-component-with-coordinates │ ├── terminal_emulator_startup_response │ ├── terminal_pixel_size_reports │ ├── terminal_reports │ ├── text-ui-component │ ├── text-ui-component-with-coordinates │ ├── title-wide-chars │ ├── top_and_quit │ ├── vim_ctrl_d │ ├── vim_ctrl_u │ ├── vim_overwrite │ ├── vim_scroll_region_down │ ├── vttest1-0 │ ├── vttest1-1 │ ├── vttest1-2 │ ├── vttest1-3 │ ├── vttest1-4 │ ├── vttest1-5 │ ├── vttest2-0 │ ├── vttest2-1 │ ├── vttest2-10 │ ├── vttest2-11 │ ├── vttest2-12 │ ├── vttest2-13 │ ├── vttest2-14 │ ├── vttest2-2 │ ├── vttest2-3 │ ├── vttest2-4 │ ├── vttest2-5 │ ├── vttest2-6 │ ├── vttest2-7 │ ├── vttest2-8 │ ├── vttest2-9 │ ├── vttest3-0 │ ├── vttest8-0 │ ├── vttest8-1 │ ├── vttest8-2 │ ├── vttest8-3 │ ├── vttest8-4 │ ├── vttest8-5 │ ├── wide-chars-delete-middle │ ├── wide-chars-delete-middle-after-multi │ ├── wide_characters │ ├── wide_characters_full │ ├── wide_characters_line_end │ ├── wide_characters_line_middle │ ├── wide_characters_line_wrap │ └── wide_characters_middle_line_insert │ └── mod.rs ├── xtask ├── Cargo.toml └── src │ ├── build.rs │ ├── ci.rs │ ├── clippy.rs │ ├── dist.rs │ ├── flags.rs │ ├── format.rs │ ├── main.rs │ ├── pipelines.rs │ └── test.rs ├── zellij-client ├── Cargo.toml └── src │ ├── cli_client.rs │ ├── command_is_executing.rs │ ├── input_handler.rs │ ├── keyboard_parser.rs │ ├── lib.rs │ ├── old_config_converter │ ├── convert_old_yaml_files.rs │ ├── mod.rs │ ├── old_config.rs │ ├── old_layout.rs │ └── unit │ │ ├── convert_config_tests.rs │ │ ├── convert_layout_tests.rs │ │ ├── fixtures │ │ ├── multiple_tabs_layout.yaml │ │ ├── multiple_tabs_layout_htop_command.yaml │ │ ├── old_default_yaml_config.yaml │ │ ├── old_default_yaml_layout.yaml │ │ ├── old_yaml_config_with_custom_options.yaml │ │ ├── old_yaml_config_with_env_variables.yaml │ │ ├── old_yaml_config_with_global_keybind_unbinds.yaml │ │ ├── old_yaml_config_with_themes.yaml │ │ ├── old_yaml_config_with_ui.yaml │ │ ├── old_yaml_config_with_unbind_all_keys_per_mode.yaml │ │ ├── old_yaml_config_with_unbinds_in_mode.yaml │ │ ├── old_yaml_layout_with_config.yaml │ │ ├── old_yaml_layout_with_config_and_session_name.yaml │ │ ├── old_yaml_layout_with_quoted_args.yaml │ │ ├── old_yaml_layout_with_session_name.yaml │ │ ├── old_yaml_layout_with_session_name_and_attach_false.yaml │ │ ├── run_htop_layout.yaml │ │ └── run_htop_layout_with_plugins.yaml │ │ └── snapshots │ │ ├── zellij_client__old_config_converter__old_config__convert_config_test__convert_config_with_custom_options.snap │ │ ├── zellij_client__old_config_converter__old_config__convert_config_test__convert_config_with_env_variables.snap │ │ ├── zellij_client__old_config_converter__old_config__convert_config_test__convert_config_with_global_keybind_unbinds.snap │ │ ├── zellij_client__old_config_converter__old_config__convert_config_test__convert_config_with_keybind_unbinds_in_mode.snap │ │ ├── zellij_client__old_config_converter__old_config__convert_config_test__convert_config_with_themes_config.snap │ │ ├── zellij_client__old_config_converter__old_config__convert_config_test__convert_config_with_ui_config.snap │ │ ├── zellij_client__old_config_converter__old_config__convert_config_test__convert_config_with_unbind_all_keys_per_mode.snap │ │ ├── zellij_client__old_config_converter__old_config__convert_config_test__properly_convert_default_config.snap │ │ ├── zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_default_layout.snap │ │ ├── zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_example_1.snap │ │ ├── zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_example_2.snap │ │ ├── zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_example_3.snap │ │ ├── zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_example_4.snap │ │ ├── zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_with_command_quoted_args.snap │ │ ├── zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_with_config.snap │ │ ├── zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_with_config_and_session_name.snap │ │ ├── zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_with_session_name.snap │ │ └── zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_with_session_name_and_attach_false.snap │ ├── os_input_output.rs │ ├── stdin_ansi_parser.rs │ └── stdin_handler.rs ├── zellij-server ├── Cargo.toml └── src │ ├── background_jobs.rs │ ├── lib.rs │ ├── logging_pipe.rs │ ├── os_input_output.rs │ ├── output │ └── mod.rs │ ├── panes │ ├── active_panes.rs │ ├── alacritty_functions.rs │ ├── floating_panes │ │ ├── floating_pane_grid.rs │ │ └── mod.rs │ ├── grid.rs │ ├── link_handler.rs │ ├── mod.rs │ ├── plugin_pane.rs │ ├── search.rs │ ├── selection.rs │ ├── sixel.rs │ ├── terminal_character.rs │ ├── terminal_pane.rs │ ├── tiled_panes │ │ ├── mod.rs │ │ ├── pane_resizer.rs │ │ ├── stacked_panes.rs │ │ ├── tiled_pane_grid.rs │ │ └── unit │ │ │ ├── snapshots │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__break_focused_pane_out_of_stack.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__break_next_to_last_pane_out_of_stack.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__break_pane_out_of_stack.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__break_pane_out_of_stack_bottom.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__break_pane_out_of_stack_middle.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__break_pane_out_of_stack_top.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__combine_horizontally_aligned_panes_to_stack.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__combine_horizontally_aligned_panes_to_stack_when_left_pane_is_stacked.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__combine_horizontally_aligned_panes_to_stack_when_right_pane_is_stacked.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__combine_vertically_aligned_panes_to_stack.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__combine_vertically_aligned_panes_to_stack_when_both_are_stacked.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__combine_vertically_aligned_panes_to_stack_when_lower_pane_is_stacked.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__combine_vertically_aligned_panes_to_stack_when_lower_pane_is_stacked_and_flexible_pane_is_mid_stack.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__combine_vertically_aligned_panes_to_stack_when_lower_pane_is_stacked_and_flexible_pane_is_on_top_of_stack.snap │ │ │ ├── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__combine_vertically_aligned_panes_to_stack_with_multiple_non_stacked_neighbors.snap │ │ │ └── zellij_server__panes__tiled_panes__stacked_panes__stacked_panes_tests__combine_vertically_aligned_panes_to_stack_with_multiple_stacked_neighbors.snap │ │ │ └── stacked_panes_tests.rs │ └── unit │ │ ├── grid_tests.rs │ │ ├── search_in_pane_tests.rs │ │ ├── selection_tests.rs │ │ ├── snapshots │ │ ├── zellij_server__panes__grid__grid_tests__alternate_screen_change_size.snap │ │ ├── zellij_server__panes__grid__grid_tests__ansi_capital_s.snap │ │ ├── zellij_server__panes__grid__grid_tests__ansi_capital_t.snap │ │ ├── zellij_server__panes__grid__grid_tests__ansi_csi_at_sign.snap │ │ ├── zellij_server__panes__grid__grid_tests__bash_cursor_linewrap.snap │ │ ├── zellij_server__panes__grid__grid_tests__bash_delete_wide_characters.snap │ │ ├── zellij_server__panes__grid__grid_tests__cannot_escape_scroll_region.snap │ │ ├── zellij_server__panes__grid__grid_tests__clear_scroll_region.snap │ │ ├── zellij_server__panes__grid__grid_tests__csi_b.snap │ │ ├── zellij_server__panes__grid__grid_tests__csi_capital_i.snap │ │ ├── zellij_server__panes__grid__grid_tests__csi_capital_z.snap │ │ ├── zellij_server__panes__grid__grid_tests__delete_char_in_middle_of_line_with_multiple_widechars.snap │ │ ├── zellij_server__panes__grid__grid_tests__delete_char_in_middle_of_line_with_widechar.snap │ │ ├── zellij_server__panes__grid__grid_tests__delete_wide_character_under_cursor.snap │ │ ├── zellij_server__panes__grid__grid_tests__delete_wide_characters_before_cursor.snap │ │ ├── zellij_server__panes__grid__grid_tests__delete_wide_characters_before_cursor_when_cursor_is_on_wide_character.snap │ │ ├── zellij_server__panes__grid__grid_tests__display_tab_characters_properly.snap │ │ ├── zellij_server__panes__grid__grid_tests__emacs_longbuf.snap │ │ ├── zellij_server__panes__grid__grid_tests__exa_plus_omf_theme.snap │ │ ├── zellij_server__panes__grid__grid_tests__fish_paste_multiline.snap │ │ ├── zellij_server__panes__grid__grid_tests__fish_select_tab_completion_options.snap │ │ ├── zellij_server__panes__grid__grid_tests__fish_tab_completion_options.snap │ │ ├── zellij_server__panes__grid__grid_tests__fish_wide_characters_override_clock.snap │ │ ├── zellij_server__panes__grid__grid_tests__full_screen_scroll_region_and_scroll_up.snap │ │ ├── zellij_server__panes__grid__grid_tests__fzf_fullscreen.snap │ │ ├── zellij_server__panes__grid__grid_tests__git_diff_scrollup.snap │ │ ├── zellij_server__panes__grid__grid_tests__git_log.snap │ │ ├── zellij_server__panes__grid__grid_tests__htop.snap │ │ ├── zellij_server__panes__grid__grid_tests__htop_right_scrolling.snap │ │ ├── zellij_server__panes__grid__grid_tests__htop_scrolling.snap │ │ ├── zellij_server__panes__grid__grid_tests__insert_character_in_line_with_wide_character.snap │ │ ├── zellij_server__panes__grid__grid_tests__insert_wide_characters_in_existing_line.snap │ │ ├── zellij_server__panes__grid__grid_tests__move_cursor_below_scroll_region.snap │ │ ├── zellij_server__panes__grid__grid_tests__neovim_insert_mode.snap │ │ ├── zellij_server__panes__grid__grid_tests__nested_list_ui_component.snap │ │ ├── zellij_server__panes__grid__grid_tests__nested_list_ui_component_with_coordinates.snap │ │ ├── zellij_server__panes__grid__grid_tests__replace_multiple_wide_characters_under_cursor.snap │ │ ├── zellij_server__panes__grid__grid_tests__replace_non_wide_characters_with_wide_characters.snap │ │ ├── zellij_server__panes__grid__grid_tests__replace_wide_character_under_cursor.snap │ │ ├── zellij_server__panes__grid__grid_tests__ribbon_selected_ui_component.snap │ │ ├── zellij_server__panes__grid__grid_tests__ribbon_ui_component.snap │ │ ├── zellij_server__panes__grid__grid_tests__ribbon_ui_component_with_coordinates.snap │ │ ├── zellij_server__panes__grid__grid_tests__run_bandwhich_from_fish_shell.snap │ │ ├── zellij_server__panes__grid__grid_tests__saved_cursor_across_resize.snap │ │ ├── zellij_server__panes__grid__grid_tests__saved_cursor_across_resize_longline.snap │ │ ├── zellij_server__panes__grid__grid_tests__saved_cursor_across_resize_rewrap.snap │ │ ├── zellij_server__panes__grid__grid_tests__scroll_down.snap │ │ ├── zellij_server__panes__grid__grid_tests__scroll_down_ansi.snap │ │ ├── zellij_server__panes__grid__grid_tests__scroll_down_with_line_wraps.snap │ │ ├── zellij_server__panes__grid__grid_tests__scroll_up.snap │ │ ├── zellij_server__panes__grid__grid_tests__scroll_up_decrease_width_and_scroll_down.snap │ │ ├── zellij_server__panes__grid__grid_tests__scroll_up_increase_width_and_scroll_down.snap │ │ ├── zellij_server__panes__grid__grid_tests__scroll_up_with_line_wraps.snap │ │ ├── zellij_server__panes__grid__grid_tests__sixel_image_in_alternate_buffer-2.snap │ │ ├── zellij_server__panes__grid__grid_tests__sixel_image_in_alternate_buffer.snap │ │ ├── zellij_server__panes__grid__grid_tests__sixel_with_image_scrolling_decsdm-2.snap │ │ ├── zellij_server__panes__grid__grid_tests__sixel_with_image_scrolling_decsdm.snap │ │ ├── zellij_server__panes__grid__grid_tests__table_ui_component.snap │ │ ├── zellij_server__panes__grid__grid_tests__table_ui_component_with_coordinates.snap │ │ ├── zellij_server__panes__grid__grid_tests__terminal_reports.snap │ │ ├── zellij_server__panes__grid__grid_tests__text_ui_component.snap │ │ ├── zellij_server__panes__grid__grid_tests__text_ui_component_with_coordinates.snap │ │ ├── zellij_server__panes__grid__grid_tests__top_and_quit.snap │ │ ├── zellij_server__panes__grid__grid_tests__unwrap_wide_characters_on_size_change.snap │ │ ├── zellij_server__panes__grid__grid_tests__vim_ctrl_d.snap │ │ ├── zellij_server__panes__grid__grid_tests__vim_ctrl_u.snap │ │ ├── zellij_server__panes__grid__grid_tests__vim_overwrite.snap │ │ ├── zellij_server__panes__grid__grid_tests__vim_scroll_region_down.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest1_0.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest1_1.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest1_2.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest1_3.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest1_4.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest1_5.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_0.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_1.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_10.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_11.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_12.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_13.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_14.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_2.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_3.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_4.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_5.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_6.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_7.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_8.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest2_9.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest3_0.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest8_0.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest8_1.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest8_2.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest8_3.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest8_4.snap │ │ ├── zellij_server__panes__grid__grid_tests__vttest8_5.snap │ │ ├── zellij_server__panes__grid__grid_tests__wide_characters.snap │ │ ├── zellij_server__panes__grid__grid_tests__wide_characters_line_wrap.snap │ │ ├── zellij_server__panes__grid__grid_tests__wrap_wide_characters.snap │ │ ├── zellij_server__panes__grid__grid_tests__wrap_wide_characters_at_the_end_of_the_line.snap │ │ ├── zellij_server__panes__grid__grid_tests__wrap_wide_characters_in_the_middle_of_the_line.snap │ │ ├── zellij_server__panes__grid__grid_tests__wrap_wide_characters_on_size_change.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__changing_character_cell_size_with_sixel_images.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__keep_working_after_corrupted_sixel_image.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__multiple_sixel_images_in_pane.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__overflowing_sixel_image_inside_terminal_pane.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__partial_sixel_image_inside_terminal_pane.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__resizing_pane_with_sixel_images.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__scrolling_inside_a_pane-2.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__scrolling_inside_a_pane-3.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__scrolling_inside_a_pane.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__scrolling_through_a_sixel_image-2.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__scrolling_through_a_sixel_image-3.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__scrolling_through_a_sixel_image.snap │ │ ├── zellij_server__panes__terminal_pane__grid_tests__sixel_image_inside_terminal_pane.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_multiline_highlighted.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_multiline_highlighted_narrow.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_multiline_not_whole_word.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_multiline_selected_narrow.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_multiline_selected_wrap_narrow.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_multiline_whole_word.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_quam_highlighted.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_quam_highlighted_cursor_bottom.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_quam_insensitive_cursor_bottom.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_quam_insensitive_highlighted.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_quam_insensitive_selection.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_quam_whole_word_case_insensitive.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_quam_whole_word_only.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_search_cursor_at_bottom.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_search_cursor_at_second.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_search_cursor_at_top.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_search_scrolled_up.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_tortor_highlighted.snap │ │ ├── zellij_server__panes__terminal_pane__search_tests__grid_copy_tortor_highlighted_narrow.snap │ │ └── zellij_server__panes__terminal_pane__search_tests__grid_copy_tortor_highlighted_wide.snap │ │ └── terminal_pane_tests.rs │ ├── plugins │ ├── mod.rs │ ├── pipes.rs │ ├── plugin_loader.rs │ ├── plugin_map.rs │ ├── plugin_worker.rs │ ├── unit │ │ ├── plugin_tests.rs │ │ └── snapshots │ │ │ ├── zellij_server__plugins__plugin_tests__before_close_plugin_event.snap │ │ │ ├── zellij_server__plugins__plugin_tests__block_input_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__break_panes_to_new_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__break_panes_to_tab_with_index_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__can_subscribe_to_hd_events.snap │ │ │ ├── zellij_server__plugins__plugin_tests__clear_screen_for_pane_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__clear_screen_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__close_focus_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__close_focused_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__close_plugin_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__close_tab_with_index_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__close_terminal_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__denied_permission_request_result.snap │ │ │ ├── zellij_server__plugins__plugin_tests__detach_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__disconnect_other_clients_plugins_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__edit_scrollback_for_pane_with_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__edit_scrollback_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__focus_next_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__focus_or_create_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__focus_plugin_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__focus_previous_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__focus_terminal_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__go_to_next_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__go_to_previous_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__go_to_tab.snap │ │ │ ├── zellij_server__plugins__plugin_tests__go_to_tab_name_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__granted_permission_request_result.snap │ │ │ ├── zellij_server__plugins__plugin_tests__hide_pane_with_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__hide_self_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__list_clients_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__load_new_plugin_from_hd.snap │ │ │ ├── zellij_server__plugins__plugin_tests__load_new_plugin_with_plugin_alias.snap │ │ │ ├── zellij_server__plugins__plugin_tests__move_focus_or_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__move_focus_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__move_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__move_pane_with_direction_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__move_pane_with_pane_id_in_direction_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__move_pane_with_pane_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__new_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__new_tabs_with_layout_plugin_command-2.snap │ │ │ ├── zellij_server__plugins__plugin_tests__new_tabs_with_layout_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__next_swap_layout_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__open_command_pane_background_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__open_command_pane_floating_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__open_command_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__open_file_floating_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__open_file_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__open_file_with_line_floating_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__open_file_with_line_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__open_flie_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__open_terminal_floating_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__open_terminal_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__page_scroll_down_in_pane_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__page_scroll_down_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__page_scroll_up_in_pane_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__page_scroll_up_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__pipe_message_to_plugin_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__pipe_output_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__plugin_workers.snap │ │ │ ├── zellij_server__plugins__plugin_tests__plugin_workers_persist_state.snap │ │ │ ├── zellij_server__plugins__plugin_tests__previous_swap_layout_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__quit_zellij_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__rebind_keys_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__reconfigure_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__rename_plugin_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__rename_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__rename_terminal_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__request_plugin_permissions.snap │ │ │ ├── zellij_server__plugins__plugin_tests__rerun_command_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__resize_focused_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__resize_focused_pane_with_direction_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__resize_pane_with_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__run_command_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__run_command_with_env_vars_and_cwd_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__run_plugin_in_specific_cwd.snap │ │ │ ├── zellij_server__plugins__plugin_tests__scroll_down_in_pane_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__scroll_down_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__scroll_to_bottom_in_pane_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__scroll_to_bottom_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__scroll_to_top_in_pane_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__scroll_to_top_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__scroll_up_in_pane_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__scroll_up_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__send_configuration_to_plugins.snap │ │ │ ├── zellij_server__plugins__plugin_tests__send_message_to_plugin_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__show_pane_with_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__show_self_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__start_or_reload_plugin.snap │ │ │ ├── zellij_server__plugins__plugin_tests__switch_session_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__switch_session_with_layout_and_cwd_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__switch_session_with_layout_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__switch_to_mode_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__switch_to_mode_plugin_command_permission_denied.snap │ │ │ ├── zellij_server__plugins__plugin_tests__switch_to_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__toggle_active_tab_sync_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__toggle_focus_fullscreen_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__toggle_pane_embed_or_eject_for_pane_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__toggle_pane_embed_or_eject_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__toggle_pane_frames_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__toggle_pane_id_fullscreen_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__toggle_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__unblock_input_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__undo_rename_pane_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__undo_rename_tab_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__web_request_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__write_chars_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__write_chars_to_pane_id_plugin_command.snap │ │ │ ├── zellij_server__plugins__plugin_tests__write_plugin_command.snap │ │ │ └── zellij_server__plugins__plugin_tests__write_to_pane_id_plugin_command.snap │ ├── wasm_bridge.rs │ ├── watch_filesystem.rs │ └── zellij_exports.rs │ ├── pty.rs │ ├── pty_writer.rs │ ├── route.rs │ ├── screen.rs │ ├── session_layout_metadata.rs │ ├── tab │ ├── clipboard.rs │ ├── copy_command.rs │ ├── layout_applier.rs │ ├── mod.rs │ ├── swap_layouts.rs │ └── unit │ │ ├── snapshots │ │ ├── zellij_server__tab__tab_integration_tests__base_floating_layout_is_included_in_swap_layouts.snap │ │ ├── zellij_server__tab__tab_integration_tests__base_layout_is_included_in_swap_layouts.snap │ │ ├── zellij_server__tab__tab_integration_tests__can_define_expanded_pane_in_stack.snap │ │ ├── zellij_server__tab__tab_integration_tests__can_increase_size_into_pane_stack_horizontally.snap │ │ ├── zellij_server__tab__tab_integration_tests__can_increase_size_into_pane_stack_non_directionally.snap │ │ ├── zellij_server__tab__tab_integration_tests__can_increase_size_into_pane_stack_vertically.snap │ │ ├── zellij_server__tab__tab_integration_tests__can_increase_size_of_main_pane_in_stack_horizontally.snap │ │ ├── zellij_server__tab__tab_integration_tests__can_increase_size_of_main_pane_in_stack_non_directionally.snap │ │ ├── zellij_server__tab__tab_integration_tests__can_increase_size_of_main_pane_in_stack_vertically.snap │ │ ├── zellij_server__tab__tab_integration_tests__can_swap_between_multiple_layouts.snap │ │ ├── zellij_server__tab__tab_integration_tests__can_swap_floating_layout_at_runtime.snap │ │ ├── zellij_server__tab__tab_integration_tests__can_swap_tiled_layout_at_runtime.snap │ │ ├── zellij_server__tab__tab_integration_tests__cannot_decrease_stack_size_beyond_minimum_height.snap │ │ ├── zellij_server__tab__tab_integration_tests__cannot_float_only_embedded_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__close_main_stacked_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__close_main_stacked_pane_in_mid_stack.snap │ │ ├── zellij_server__tab__tab_integration_tests__close_one_liner_stacked_pane_above_main_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__close_one_liner_stacked_pane_below_main_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__close_pane_near_stacked_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__close_stacked_pane_with_previously_focused_other_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__close_suppressing_floating_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__close_suppressing_tiled_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__decrease_floating_pane_size.snap │ │ ├── zellij_server__tab__tab_integration_tests__decreasing_size_of_whole_tab_treats_stacked_panes_properly.snap │ │ ├── zellij_server__tab__tab_integration_tests__drag_pane_with_mouse.snap │ │ ├── zellij_server__tab__tab_integration_tests__embed_floating_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__embed_floating_pane_without_pane_frames.snap │ │ ├── zellij_server__tab__tab_integration_tests__five_new_floating_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__float_embedded_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__float_embedded_pane_without_pane_frames.snap │ │ ├── zellij_server__tab__tab_integration_tests__floating_layout_with_plugins_and_commands_swaped_properly.snap │ │ ├── zellij_server__tab__tab_integration_tests__floating_pane_above_sixel_image.snap │ │ ├── zellij_server__tab__tab_integration_tests__floating_panes_persist_across_toggles.snap │ │ ├── zellij_server__tab__tab_integration_tests__focus_next_pane_expands_stacked_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__focus_stacked_pane_over_flexible_pane_with_the_mouse.snap │ │ ├── zellij_server__tab__tab_integration_tests__focus_stacked_pane_under_flexible_pane_with_the_mouse.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_floating_pane_size.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-10.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-11.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-12.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-13.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-2.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-3.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-4.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-5.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-6.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-7.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-8.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes-9.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes_into_uneven_panes-2.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes_into_uneven_panes-3.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes_into_uneven_panes-4.snap │ │ ├── zellij_server__tab__tab_integration_tests__increase_tiled_pane_sizes_with_stacked_resizes_into_uneven_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__increasing_size_into_main_pane_in_stack_horizontally_does_not_break_stack.snap │ │ ├── zellij_server__tab__tab_integration_tests__increasing_size_of_main_pane_in_stack_horizontally_does_not_break_stack.snap │ │ ├── zellij_server__tab__tab_integration_tests__increasing_size_of_whole_tab_treats_stacked_panes_properly.snap │ │ ├── zellij_server__tab__tab_integration_tests__layout_with_plugins_and_commands_swaped_properly.snap │ │ ├── zellij_server__tab__tab_integration_tests__mark_text_inside_floating_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_floating_pane_focus_down.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_floating_pane_focus_left.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_floating_pane_focus_right.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_floating_pane_focus_sends_tty_csi_event.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_floating_pane_focus_up.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_floating_pane_focus_with_mouse.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_floating_pane_with_sixel_image.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_focus_down_into_stacked_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_focus_down_with_stacked_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_focus_left_into_stacked_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_focus_right_into_stacked_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_focus_up_into_stacked_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_focus_up_with_stacked_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_focus_with_stacked_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_pane_focus_sends_tty_csi_event.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_pane_focus_with_mouse_to_non_floating_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__move_pane_focus_with_sends_tty_csi_event.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_floating_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_floating_pane_in_auto_layout-2.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_floating_pane_in_auto_layout-3.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_floating_pane_in_auto_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_auto_layout-2.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_auto_layout-3.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_auto_layout-4.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_auto_layout-5.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_auto_layout-6.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_auto_layout-7.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_auto_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_stacked_resizes-2.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_stacked_resizes-3.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_stacked_resizes-4.snap │ │ ├── zellij_server__tab__tab_integration_tests__new_pane_in_stacked_resizes.snap │ │ ├── zellij_server__tab__tab_integration_tests__rename_embedded_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__rename_floating_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__render_stacks_without_pane_frames.snap │ │ ├── zellij_server__tab__tab_integration_tests__replacing_existing_wide_characters.snap │ │ ├── zellij_server__tab__tab_integration_tests__resize_floating_pane_down.snap │ │ ├── zellij_server__tab__tab_integration_tests__resize_floating_pane_left.snap │ │ ├── zellij_server__tab__tab_integration_tests__resize_floating_pane_right.snap │ │ ├── zellij_server__tab__tab_integration_tests__resize_floating_pane_up.snap │ │ ├── zellij_server__tab__tab_integration_tests__resize_tab_with_floating_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__resize_whole_tab_while_floting_pane_is_suppressed.snap │ │ ├── zellij_server__tab__tab_integration_tests__resize_whole_tab_while_tiled_pane_is_suppressed.snap │ │ ├── zellij_server__tab__tab_integration_tests__save_cursor_position_across_resizes.snap │ │ ├── zellij_server__tab__tab_integration_tests__search_floating_tab_highlight_fring.snap │ │ ├── zellij_server__tab__tab_integration_tests__search_floating_tab_nothing_highlighted.snap │ │ ├── zellij_server__tab__tab_integration_tests__search_tab_highlight_tortor.snap │ │ ├── zellij_server__tab__tab_integration_tests__search_tab_highlight_tortor_modified.snap │ │ ├── zellij_server__tab__tab_integration_tests__search_tab_nothing_highlighted.snap │ │ ├── zellij_server__tab__tab_integration_tests__shrink_whole_tab_with_floating_panes_horizontally_and_vertically.snap │ │ ├── zellij_server__tab__tab_integration_tests__shrink_whole_tab_with_floating_panes_horizontally_and_vertically_and_expand_back.snap │ │ ├── zellij_server__tab__tab_integration_tests__split_stack_horizontally.snap │ │ ├── zellij_server__tab__tab_integration_tests__split_stack_vertically.snap │ │ ├── zellij_server__tab__tab_integration_tests__stacked_panes_can_become_fullscreen.snap │ │ ├── zellij_server__tab__tab_integration_tests__suppress_floating_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__suppress_floating_pane_embed_it_and_close_it.snap │ │ ├── zellij_server__tab__tab_integration_tests__suppress_tiled_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__suppress_tiled_pane_float_it_and_close.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_floating_layouts_including_command_panes_absent_from_existing_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_floating_layouts_including_plugin_panes_absent_from_existing_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_floating_layouts_not_including_command_panes_present_in_existing_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_floating_layouts_not_including_plugin_panes_present_in_existing_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_layouts_including_command_panes_absent_from_existing_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_layouts_including_plugin_panes_absent_from_existing_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_layouts_not_including_command_panes_present_in_existing_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_layouts_not_including_plugin_panes_present_in_existing_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_tiled_layout_with_only_stacked_children.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_tiled_layout_with_stacked_children.snap │ │ ├── zellij_server__tab__tab_integration_tests__swap_tiled_layout_with_stacked_children_and_no_pane_frames.snap │ │ ├── zellij_server__tab__tab_integration_tests__swapping_layouts_after_resize_snaps_to_current_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__tab_with_basic_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__tab_with_layout_that_has_floating_panes.snap │ │ ├── zellij_server__tab__tab_integration_tests__tab_with_nested_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__tab_with_nested_uneven_layout.snap │ │ ├── zellij_server__tab__tab_integration_tests__toggle_floating_panes_off.snap │ │ ├── zellij_server__tab__tab_integration_tests__toggle_floating_panes_off_sends_tty_csi_event.snap │ │ ├── zellij_server__tab__tab_integration_tests__toggle_floating_panes_on.snap │ │ ├── zellij_server__tab__tab_integration_tests__toggle_floating_panes_on_sends_tty_csi_event.snap │ │ ├── zellij_server__tab__tab_integration_tests__toggle_floating_panes_sends_tty_csi_event.snap │ │ ├── zellij_server__tab__tab_integration_tests__when_applying_a_truncated_swap_layout_child_attributes_are_not_ignored.snap │ │ ├── zellij_server__tab__tab_integration_tests__when_closing_a_floating_pane_in_auto_layout_the_focus_goes_to_last_focused_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__when_closing_a_pane_in_auto_layout_the_focus_goes_to_last_focused_pane.snap │ │ ├── zellij_server__tab__tab_integration_tests__when_resizing_whole_tab_with_auto_layout_and_floating_panes_the_layout_is_maintained.snap │ │ ├── zellij_server__tab__tab_integration_tests__when_swapping_floating_layouts_in_a_damaged_state_layout_and_pane_focus_are_unchanged.snap │ │ ├── zellij_server__tab__tab_integration_tests__when_swapping_floating_layouts_in_an_undamaged_state_pane_focuses_on_focused_node.snap │ │ ├── zellij_server__tab__tab_integration_tests__when_swapping_floating_layouts_in_an_undamaged_state_with_no_focus_node_pane_focuses_on_deepest_node.snap │ │ ├── zellij_server__tab__tab_integration_tests__when_swapping_tiled_layouts_in_a_damaged_state_layout_and_pane_focus_are_unchanged.snap │ │ ├── zellij_server__tab__tab_integration_tests__when_swapping_tiled_layouts_in_an_undamaged_state_pane_focuses_on_focused_node.snap │ │ ├── zellij_server__tab__tab_integration_tests__when_swapping_tiled_layouts_in_an_undamaged_state_with_no_focus_node_pane_focuses_on_deepest_node.snap │ │ └── zellij_server__tab__tab_integration_tests__wide_characters_in_left_title_side.snap │ │ ├── tab_integration_tests.rs │ │ └── tab_tests.rs │ ├── terminal_bytes.rs │ ├── thread_bus.rs │ ├── ui │ ├── boundaries.rs │ ├── components │ │ ├── component_coordinates.rs │ │ ├── mod.rs │ │ ├── nested_list.rs │ │ ├── ribbon.rs │ │ ├── table.rs │ │ └── text.rs │ ├── loading_indication.rs │ ├── mod.rs │ ├── overlay │ │ ├── mod.rs │ │ └── prompt.rs │ ├── pane_boundaries_frame.rs │ └── pane_contents_and_ui.rs │ └── unit │ ├── fixtures │ └── layout-with-three-panes.kdl │ ├── os_input_output_tests.rs │ ├── screen_tests.rs │ └── snapshots │ ├── zellij_server__screen__screen_tests__disabled_mouse_hover_effect.snap │ ├── zellij_server__screen__screen_tests__mouse_hover_effect-2.snap │ ├── zellij_server__screen__screen_tests__mouse_hover_effect.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_pane_to_a_new_tab-2.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_pane_to_a_new_tab-3.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_pane_to_a_new_tab-4.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_pane_to_a_new_tab-5.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_pane_to_a_new_tab.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_plugin_pane_to_a_new_tab-2.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_plugin_pane_to_a_new_tab-3.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_plugin_pane_to_a_new_tab-4.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_plugin_pane_to_a_new_tab-5.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_plugin_pane_to_a_new_tab-6.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_plugin_pane_to_a_new_tab-7.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_plugin_pane_to_a_new_tab-8.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_floating_plugin_pane_to_a_new_tab.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_pane_to_a_new_tab-2.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_pane_to_a_new_tab-3.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_pane_to_a_new_tab-4.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_pane_to_a_new_tab-5.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_pane_to_a_new_tab.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_plugin_pane_to_a_new_tab-2.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_plugin_pane_to_a_new_tab-3.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_plugin_pane_to_a_new_tab-4.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_plugin_pane_to_a_new_tab-5.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_plugin_pane_to_a_new_tab-6.snap │ ├── zellij_server__screen__screen_tests__screen_can_break_plugin_pane_to_a_new_tab.snap │ ├── zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_left-2.snap │ ├── zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_left-3.snap │ ├── zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_left-4.snap │ ├── zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_left-5.snap │ ├── zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_left.snap │ ├── zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_right-2.snap │ ├── zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_right-3.snap │ ├── zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_right-4.snap │ ├── zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_right-5.snap │ ├── zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_right.snap │ ├── zellij_server__screen__screen_tests__screen_can_suppress_pane-2.snap │ ├── zellij_server__screen__screen_tests__screen_can_suppress_pane-3.snap │ ├── zellij_server__screen__screen_tests__screen_can_suppress_pane.snap │ ├── zellij_server__screen__screen_tests__screen_cannot_break_last_selectable_pane_to_a_new_tab-2.snap │ ├── zellij_server__screen__screen_tests__screen_cannot_break_last_selectable_pane_to_a_new_tab.snap │ ├── zellij_server__screen__screen_tests__send_cli_change_floating_pane_coordinates_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_change_floating_pane_coordinates_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_change_floating_pane_coordinates_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_pane_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_pane_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_pane_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_pane_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_tab_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_tab_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_tab_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_tab_action-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_tab_action-6.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_tab_action-7.snap │ ├── zellij_server__screen__screen_tests__send_cli_close_tab_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_dump_screen_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_edit_action_with_default_parameters.snap │ ├── zellij_server__screen__screen_tests__send_cli_edit_action_with_line_number.snap │ ├── zellij_server__screen__screen_tests__send_cli_edit_action_with_split_direction.snap │ ├── zellij_server__screen__screen_tests__send_cli_focus_next_pane_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_focus_next_pane_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_focus_next_pane_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_focus_next_pane_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_focus_previous_pane_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_focus_previous_pane_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_focus_previous_pane_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_focus_previous_pane_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_go_to_next_and_previous_search_occurrence.snap │ ├── zellij_server__screen__screen_tests__send_cli_goto_tab_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_goto_tab_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_goto_tab_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_goto_tab_action-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_goto_tab_action-6.snap │ ├── zellij_server__screen__screen_tests__send_cli_goto_tab_action-7.snap │ ├── zellij_server__screen__screen_tests__send_cli_goto_tab_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_half_page_scroll_down_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_half_page_scroll_down_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_half_page_scroll_down_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_half_page_scroll_down_action-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_half_page_scroll_down_action-6.snap │ ├── zellij_server__screen__screen_tests__send_cli_half_page_scroll_down_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_half_page_scroll_up_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_half_page_scroll_up_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_half_page_scroll_up_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_half_page_scroll_up_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_launch_or_focus_plugin_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_focus_or_tab_pane_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_focus_or_tab_pane_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_focus_or_tab_pane_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_focus_or_tab_pane_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_focus_pane_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_focus_pane_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_focus_pane_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_focus_pane_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_pane_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_pane_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_pane_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_move_pane_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_new_pane_action_with_command_and_cwd.snap │ ├── zellij_server__screen__screen_tests__send_cli_new_pane_action_with_command_cwd_and_args.snap │ ├── zellij_server__screen__screen_tests__send_cli_new_pane_action_with_default_parameters.snap │ ├── zellij_server__screen__screen_tests__send_cli_new_pane_action_with_floating_pane_and_coordinates.snap │ ├── zellij_server__screen__screen_tests__send_cli_new_pane_action_with_split_direction.snap │ ├── zellij_server__screen__screen_tests__send_cli_new_tab_action_default_params.snap │ ├── zellij_server__screen__screen_tests__send_cli_new_tab_action_with_name_and_layout.snap │ ├── zellij_server__screen__screen_tests__send_cli_next_tab_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_next_tab_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_next_tab_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_next_tab_action-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_next_tab_action-6.snap │ ├── zellij_server__screen__screen_tests__send_cli_next_tab_action-7.snap │ ├── zellij_server__screen__screen_tests__send_cli_next_tab_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_page_scroll_down_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_page_scroll_down_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_page_scroll_down_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_page_scroll_down_action-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_page_scroll_down_action-6.snap │ ├── zellij_server__screen__screen_tests__send_cli_page_scroll_down_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_page_scroll_up_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_page_scroll_up_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_page_scroll_up_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_page_scroll_up_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_previous_tab_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_previous_tab_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_previous_tab_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_previous_tab_action-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_previous_tab_action-6.snap │ ├── zellij_server__screen__screen_tests__send_cli_previous_tab_action-7.snap │ ├── zellij_server__screen__screen_tests__send_cli_previous_tab_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_query_tab_names_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_rename_pane_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_rename_pane_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_rename_pane_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_rename_pane_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_rename_tab.snap │ ├── zellij_server__screen__screen_tests__send_cli_resize_action_to_screen-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_resize_action_to_screen-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_resize_action_to_screen.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_down_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_down_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_down_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_down_action-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_down_action-6.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_down_action-7.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_down_action-8.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_down_action-9.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_down_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_bottom_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_bottom_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_bottom_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_bottom_action-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_bottom_action-6.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_bottom_action-7.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_bottom_action-8.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_bottom_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_top_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_top_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_to_top_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_up_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_up_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_up_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_up_action-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_scroll_up_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_stack_panes_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_stack_panes_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_stack_panes_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_switch_mode_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_active_tab_sync_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_floating_panes-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_floating_panes-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_floating_panes-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_floating_panes-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_floating_panes-6.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_floating_panes.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_full_screen_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_full_screen_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_full_screen_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_full_screen_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_pane_embed_or_float-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_pane_embed_or_float-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_pane_embed_or_float-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_pane_embed_or_float-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_pane_embed_or_float.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_pane_frames_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_pane_frames_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_pane_frames_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_toggle_pane_frames_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_undo_rename_pane_action-2.snap │ ├── zellij_server__screen__screen_tests__send_cli_undo_rename_pane_action-3.snap │ ├── zellij_server__screen__screen_tests__send_cli_undo_rename_pane_action-4.snap │ ├── zellij_server__screen__screen_tests__send_cli_undo_rename_pane_action-5.snap │ ├── zellij_server__screen__screen_tests__send_cli_undo_rename_pane_action-6.snap │ ├── zellij_server__screen__screen_tests__send_cli_undo_rename_pane_action.snap │ ├── zellij_server__screen__screen_tests__send_cli_undo_rename_tab.snap │ ├── zellij_server__screen__screen_tests__send_cli_update_search_term.snap │ ├── zellij_server__screen__screen_tests__send_cli_write_action_to_screen.snap │ └── zellij_server__screen__screen_tests__send_cli_write_chars_action_to_screen.snap ├── zellij-tile-utils ├── Cargo.toml ├── LICENSE.md └── src │ └── lib.rs ├── zellij-tile ├── Cargo.toml ├── LICENSE.md └── src │ ├── lib.rs │ ├── prelude.rs │ ├── shim.rs │ └── ui_components │ ├── mod.rs │ ├── nested_list.rs │ ├── ribbon.rs │ ├── table.rs │ └── text.rs └── zellij-utils ├── Cargo.toml ├── assets ├── README.md ├── compact-bar.wasm ├── completions │ ├── README.md │ ├── comp.bash │ ├── comp.fish │ └── comp.zsh ├── config │ └── default.kdl ├── layouts │ ├── classic.kdl │ ├── classic.swap.kdl │ ├── compact.kdl │ ├── compact.swap.kdl │ ├── default.kdl │ ├── default.swap.kdl │ ├── disable-status-bar.kdl │ ├── no-plugins.kdl │ ├── strider.kdl │ ├── strider.swap.kdl │ └── welcome.kdl ├── plugins │ ├── about.wasm │ ├── compact-bar.wasm │ ├── configuration.wasm │ ├── fixture-plugin-for-tests.wasm │ ├── multiple-select.wasm │ ├── plugin-manager.wasm │ ├── session-manager.wasm │ ├── status-bar.wasm │ ├── strider.wasm │ └── tab-bar.wasm ├── prost │ ├── api.action.rs │ ├── api.command.rs │ ├── api.event.rs │ ├── api.file.rs │ ├── api.input_mode.rs │ ├── api.key.rs │ ├── api.message.rs │ ├── api.pipe_message.rs │ ├── api.plugin_command.rs │ ├── api.plugin_ids.rs │ ├── api.plugin_permission.rs │ ├── api.resize.rs │ ├── api.style.rs │ └── generated_plugin_api.rs ├── shell │ ├── auto-start.bash │ ├── auto-start.fish │ └── auto-start.zsh ├── status-bar.wasm ├── strider.wasm ├── tab-bar.wasm └── themes │ ├── ansi.kdl │ ├── ao.kdl │ ├── atelier.kdl │ ├── ayu-dark.kdl │ ├── ayu-light.kdl │ ├── ayu-mirage.kdl │ ├── blade-runner.kdl │ ├── catppuccin-frappe.kdl │ ├── catppuccin-latte.kdl │ ├── catppuccin-macchiato.kdl │ ├── catppuccin-mocha.kdl │ ├── cyber-noir.kdl │ ├── dayfox.kdl │ ├── dracula.kdl │ ├── everforest-dark.kdl │ ├── everforest-light.kdl │ ├── gruvbox-dark.kdl │ ├── gruvbox-light.kdl │ ├── iceberg-dark.kdl │ ├── iceberg-light.kdl │ ├── kanagawa.kdl │ ├── lucario.kdl │ ├── menace.kdl │ ├── molokai-dark.kdl │ ├── night-owl.kdl │ ├── nightfox.kdl │ ├── nord.kdl │ ├── one-half-dark.kdl │ ├── onedark.kdl │ ├── pencil-light.kdl │ ├── retro-wave.kdl │ ├── solarized-dark.kdl │ ├── solarized-light.kdl │ ├── terafox.kdl │ ├── tokyo-night-dark.kdl │ ├── tokyo-night-light.kdl │ ├── tokyo-night-storm.kdl │ ├── tokyo-night.kdl │ └── vesper.kdl ├── build.rs └── src ├── channels.rs ├── cli.rs ├── common_path.rs ├── consts.rs ├── data.rs ├── downloader.rs ├── envs.rs ├── errors.rs ├── home.rs ├── input ├── actions.rs ├── command.rs ├── config.rs ├── keybinds.rs ├── layout.rs ├── mod.rs ├── mouse.rs ├── options.rs ├── permission.rs ├── plugins.rs ├── theme.rs └── unit │ ├── fixtures │ └── themes │ │ ├── dracula.kdl │ │ └── nord.kdl │ ├── keybinds_test.rs │ ├── layout_test.rs │ ├── snapshots │ ├── zellij_utils__input__keybinds__keybinds_test__error_received_on_unknown_input_mode.snap │ ├── zellij_utils__input__keybinds__keybinds_test__error_received_on_unknown_key_instruction.snap │ ├── zellij_utils__input__layout__layout_test__args_added_to_args_in_template.snap │ ├── zellij_utils__input__layout__layout_test__args_override_args_in_template.snap │ ├── zellij_utils__input__layout__layout_test__can_define_a_stack_with_an_expanded_pane.snap │ ├── zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_node.snap │ ├── zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_template.snap │ ├── zellij_utils__input__layout__layout_test__can_load_swap_layouts_from_a_different_file.snap │ ├── zellij_utils__input__layout__layout_test__children_not_as_first_child_of_pane_template.snap │ ├── zellij_utils__input__layout__layout_test__children_not_as_first_child_of_tab_template.snap │ ├── zellij_utils__input__layout__layout_test__close_on_exit_added_to_close_on_exit_in_template.snap │ ├── zellij_utils__input__layout__layout_test__close_on_exit_overrides_close_on_exit_in_template.snap │ ├── zellij_utils__input__layout__layout_test__combined_tab_and_pane_template_both_with_children.snap │ ├── zellij_utils__input__layout__layout_test__cwd_added_to_cwd_in_template.snap │ ├── zellij_utils__input__layout__layout_test__cwd_override_cwd_in_template.snap │ ├── zellij_utils__input__layout__layout_test__env_var_expansion.snap │ ├── zellij_utils__input__layout__layout_test__error_on_more_than_one_focused_tab.snap │ ├── zellij_utils__input__layout__layout_test__error_on_multiple_layout_nodes_in_file.snap │ ├── zellij_utils__input__layout__layout_test__error_on_pane_templates_without_a_name.snap │ ├── zellij_utils__input__layout__layout_test__error_on_tab_templates_without_a_name.snap │ ├── zellij_utils__input__layout__layout_test__error_on_unknown_layout_node.snap │ ├── zellij_utils__input__layout__layout_test__error_on_unknown_layout_pane_property.snap │ ├── zellij_utils__input__layout__layout_test__error_on_unknown_layout_pane_template_property.snap │ ├── zellij_utils__input__layout__layout_test__error_on_unknown_layout_tab_property.snap │ ├── zellij_utils__input__layout__layout_test__error_on_unknown_layout_tab_template_property.snap │ ├── zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd.snap │ ├── zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_pane_templates.snap │ ├── zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_tab_templates.snap │ ├── zellij_utils__input__layout__layout_test__global_cwd_given_to_panes_without_cwd.snap │ ├── zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor.snap │ ├── zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor_overrides_global_cwd_in_layout_file.snap │ ├── zellij_utils__input__layout__layout_test__global_cwd_prepended_to_panes_with_cwd.snap │ ├── zellij_utils__input__layout__layout_test__global_cwd_with_tab_cwd_given_to_panes_without_cwd.snap │ ├── zellij_utils__input__layout__layout_test__layout_with_command_panes_and_close_on_exit.snap │ ├── zellij_utils__input__layout__layout_test__layout_with_command_panes_and_start_suspended.snap │ ├── zellij_utils__input__layout__layout_test__layout_with_default_tab_template.snap │ ├── zellij_utils__input__layout__layout_test__layout_with_nested_branched_pane_templates.snap │ ├── zellij_utils__input__layout__layout_test__layout_with_nested_pane_templates.snap │ ├── zellij_utils__input__layout__layout_test__layout_with_new_tab_template.snap │ ├── zellij_utils__input__layout__layout_test__layout_with_pane_excluded_from_sync.snap │ ├── zellij_utils__input__layout__layout_test__layout_with_pane_templates.snap │ ├── zellij_utils__input__layout__layout_test__layout_with_tab_and_pane_templates.snap │ ├── zellij_utils__input__layout__layout_test__layout_with_tabs_and_floating_panes.snap │ ├── zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_is_overriden_by_its_consumers_bare_cwd.snap │ ├── zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_overriden_by_its_consumers_command_cwd.snap │ ├── zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_remains_when_its_consumer_command_does_not_have_a_cwd.snap │ ├── zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_is_overriden_by_its_consumers_cwd.snap │ ├── zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_receives_its_consumers_bare_cwd.snap │ ├── zellij_utils__input__layout__layout_test__pane_template_with_bare_cwd_overriden_by_its_consumers_bare_cwd.snap │ ├── zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_with_cwd.snap │ ├── zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_without_cwd.snap │ ├── zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_edit.snap │ ├── zellij_utils__input__layout__layout_test__pane_template_with_command_propagated_to_its_consumer_edit.snap │ ├── zellij_utils__input__layout__layout_test__tab_cwd_given_to_panes_without_cwd.snap │ ├── zellij_utils__input__layout__layout_test__tab_cwd_prepended_to_panes_with_cwd.snap │ ├── zellij_utils__input__theme__layout_test__dracula_theme_from_file.snap │ └── zellij_utils__input__theme__theme_test__dracula_theme_from_file.snap │ └── theme_test.rs ├── ipc.rs ├── kdl ├── kdl_layout_parser.rs ├── mod.rs └── snapshots │ ├── zellij_utils__kdl__bare_config_from_default_assets_to_string.snap │ ├── zellij_utils__kdl__bare_config_from_default_assets_to_string_with_comments.snap │ ├── zellij_utils__kdl__config_options_to_string.snap │ ├── zellij_utils__kdl__config_options_to_string_with_comments.snap │ ├── zellij_utils__kdl__config_options_to_string_with_some_options.snap │ ├── zellij_utils__kdl__config_options_to_string_without_options.snap │ ├── zellij_utils__kdl__env_vars_to_string.snap │ ├── zellij_utils__kdl__keybinds_to_string.snap │ ├── zellij_utils__kdl__keybinds_to_string_with_all_actions.snap │ ├── zellij_utils__kdl__keybinds_to_string_with_multiple_actions.snap │ ├── zellij_utils__kdl__keybinds_to_string_with_multiple_multiline_actions.snap │ ├── zellij_utils__kdl__keybinds_to_string_with_shared_modes.snap │ ├── zellij_utils__kdl__keybinds_to_string_without_clearing_defaults.snap │ ├── zellij_utils__kdl__plugins_to_string.snap │ ├── zellij_utils__kdl__plugins_to_string_with_file_and_web.snap │ ├── zellij_utils__kdl__serialize_and_deserialize_session_info.snap │ ├── zellij_utils__kdl__serialize_and_deserialize_session_info_with_data.snap │ ├── zellij_utils__kdl__themes_to_string.snap │ ├── zellij_utils__kdl__themes_to_string_with_combined_definitions.snap │ ├── zellij_utils__kdl__themes_to_string_with_eight_bit_definitions.snap │ ├── zellij_utils__kdl__themes_to_string_with_hex_definitions.snap │ ├── zellij_utils__kdl__themes_to_string_with_multiple_theme_definitions.snap │ └── zellij_utils__kdl__ui_config_to_string.snap ├── lib.rs ├── logging.rs ├── pane_size.rs ├── plugin_api ├── action.proto ├── action.rs ├── command.proto ├── command.rs ├── event.proto ├── event.rs ├── file.proto ├── file.rs ├── input_mode.proto ├── input_mode.rs ├── key.proto ├── key.rs ├── message.proto ├── message.rs ├── mod.rs ├── pipe_message.proto ├── pipe_message.rs ├── plugin_command.proto ├── plugin_command.rs ├── plugin_ids.proto ├── plugin_ids.rs ├── plugin_permission.proto ├── plugin_permission.rs ├── resize.proto ├── resize.rs ├── style.proto └── style.rs ├── position.rs ├── session_serialization.rs ├── setup.rs ├── shared.rs ├── snapshots ├── zellij_utils__session_serialization__tests__can_serialize_multiple_tabs.snap ├── zellij_utils__session_serialization__tests__can_serialize_new_tab_template.snap ├── zellij_utils__session_serialization__tests__can_serialize_swap_floating_panes.snap ├── zellij_utils__session_serialization__tests__can_serialize_swap_tiled_panes.snap ├── zellij_utils__session_serialization__tests__can_serialize_tab_focus.snap ├── zellij_utils__session_serialization__tests__can_serialize_tab_hide_floating_panes.snap ├── zellij_utils__session_serialization__tests__can_serialize_tab_name.snap ├── zellij_utils__session_serialization__tests__can_serialize_tab_with_floating_panes.snap ├── zellij_utils__session_serialization__tests__can_serialize_tab_with_multiple_stacked_panes_in_the_same_node.snap ├── zellij_utils__session_serialization__tests__can_serialize_tab_with_multiple_stacks_next_to_eachother.snap ├── zellij_utils__session_serialization__tests__can_serialize_tab_with_stacked_panes.snap ├── zellij_utils__session_serialization__tests__can_serialize_tab_with_tiled_panes.snap ├── zellij_utils__session_serialization__tests__global_cwd.snap ├── zellij_utils__setup__setup_test__cli_arguments_override_config_options.snap ├── zellij_utils__setup__setup_test__cli_arguments_override_layout_options-2.snap ├── zellij_utils__setup__setup_test__cli_arguments_override_layout_options.snap ├── zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-2.snap ├── zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-3.snap ├── zellij_utils__setup__setup_test__default_config_with_no_cli_arguments.snap ├── zellij_utils__setup__setup_test__layout_env_vars_override_config_env_vars.snap ├── zellij_utils__setup__setup_test__layout_keybinds_override_config_keybinds.snap ├── zellij_utils__setup__setup_test__layout_options_override_config_options-2.snap ├── zellij_utils__setup__setup_test__layout_options_override_config_options.snap ├── zellij_utils__setup__setup_test__layout_plugins_override_config_plugins.snap ├── zellij_utils__setup__setup_test__layout_themes_override_config_themes.snap └── zellij_utils__setup__setup_test__layout_ui_config_overrides_config_ui_config.snap └── test-fixtures ├── config-with-env-vars.kdl ├── config-with-keybindings-config.kdl ├── config-with-plugins-config.kdl ├── config-with-themes-config.kdl ├── config-with-ui-config.kdl ├── layout-with-env-vars.kdl ├── layout-with-keybindings-config.kdl ├── layout-with-options.kdl ├── layout-with-plugins-config.kdl ├── layout-with-themes-config.kdl └── layout-with-ui-config.kdl /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | parallel-compiler = true 2 | 3 | [alias] 4 | xtask = "run --package xtask --" 5 | x = "xtask" 6 | q = "x run --quick-run" 7 | make = "xtask deprecated" 8 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Consistent coding styles between different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | indent_style = space 12 | indent_size = 4 13 | 14 | [*.md] 15 | # double whitespace at end of line 16 | # denotes a line break in Markdown 17 | trim_trailing_whitespace = false 18 | 19 | [*.yml] 20 | indent_size = 2 21 | 22 | # Ignore diffs/patches 23 | [*.{diff,patch}] 24 | end_of_line = unset 25 | insert_final_newline = unset 26 | trim_trailing_whitespace = unset 27 | 28 | 29 | # Ignore generated files 30 | [*.lock] 31 | indent_size = unset 32 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [imsnif] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: imsnif 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: imsnif 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/plugin_idea.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "💡 Plugin idea" 3 | about: I would love if the community could bring a feature to life 4 | title: '' 5 | labels: plugin-community-idea 6 | assignees: '' 7 | 8 | --- 9 | 10 | 15 | 16 | # General description 17 | 18 | 19 | # Uses cases 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "github-actions" 4 | directory: "/" 5 | schedule: 6 | interval: "monthly" 7 | 8 | # We want to be more sure in our e2e-test, before committing to 9 | # update all of our dependencies. 10 | # Only add packages very sporadically here for now. 11 | - package-ecosystem: "cargo" 12 | directory: "/" 13 | schedule: 14 | interval: "monthly" 15 | allow: 16 | # Allow only direct updates 17 | - dependency-name: "log" 18 | - package-ecosystem: "cargo" 19 | directory: "/zellij-utils/" 20 | schedule: 21 | interval: "monthly" 22 | allow: 23 | # Allow only direct updates 24 | - dependency-name: "log" 25 | - dependency-name: "log4rs" 26 | - dependency-name: "clap" 27 | - dependency-name: "clap_complete" 28 | 29 | 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | *.new 3 | .vscode 4 | .vim 5 | .DS_Store 6 | /assets/man/zellij.1 7 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- 1 | match_block_trailing_comma = true 2 | -------------------------------------------------------------------------------- /assets/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/assets/demo.gif -------------------------------------------------------------------------------- /assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/assets/logo.png -------------------------------------------------------------------------------- /assets/zellij.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Name=Zellij 4 | Type=Application 5 | Comment=Manage Your Terminal Applications 6 | Terminal=true 7 | Exec=zellij 8 | Icon=zellij 9 | Categories=ConsoleOnly;System; 10 | GenericName=Terminal Multiplexer 11 | -------------------------------------------------------------------------------- /default-plugins/about/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /default-plugins/about/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /default-plugins/about/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "about" 3 | version = "0.1.0" 4 | authors = ["Aram Drevekenin "] 5 | edition = "2021" 6 | license = "MIT" 7 | 8 | [dependencies] 9 | zellij-tile = { path = "../../zellij-tile" } 10 | rand = "0.9.0" 11 | -------------------------------------------------------------------------------- /default-plugins/about/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../../LICENSE.md -------------------------------------------------------------------------------- /default-plugins/compact-bar/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /default-plugins/compact-bar/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "compact-bar" 3 | version = "0.1.0" 4 | authors = ["Alexander Kenji Berthold " ] 5 | edition = "2021" 6 | license = "MIT" 7 | 8 | [dependencies] 9 | colored = "2" 10 | ansi_term = "0.12" 11 | unicode-width = "0.1.8" 12 | zellij-tile = { path = "../../zellij-tile" } 13 | zellij-tile-utils = { path = "../../zellij-tile-utils" } 14 | -------------------------------------------------------------------------------- /default-plugins/compact-bar/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../../LICENSE.md -------------------------------------------------------------------------------- /default-plugins/configuration/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /default-plugins/configuration/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /default-plugins/configuration/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "configuration" 3 | version = "0.1.0" 4 | authors = ["Aram Drevekenin "] 5 | edition = "2021" 6 | license = "MIT" 7 | 8 | [dependencies] 9 | ansi_term = "0.12.1" 10 | zellij-tile = { path = "../../zellij-tile" } 11 | chrono = "0.4.0" 12 | -------------------------------------------------------------------------------- /default-plugins/configuration/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../../LICENSE.md -------------------------------------------------------------------------------- /default-plugins/fixture-plugin-for-tests/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /default-plugins/fixture-plugin-for-tests/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "fixture-plugin-for-tests" 3 | version = "0.1.0" 4 | authors = ["Aram Drevekenin "] 5 | edition = "2021" 6 | license = "MIT" 7 | 8 | [dependencies] 9 | serde = { version = "1.0", features = ["derive"] } 10 | serde_json = "1.0" 11 | zellij-tile = { path = "../../zellij-tile" } 12 | -------------------------------------------------------------------------------- /default-plugins/fixture-plugin-for-tests/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../../LICENSE.md -------------------------------------------------------------------------------- /default-plugins/multiple-select/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /default-plugins/multiple-select/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /default-plugins/multiple-select/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "multiple-select" 3 | version = "0.1.0" 4 | authors = ["Aram Drevekenin "] 5 | edition = "2021" 6 | license = "MIT" 7 | 8 | [dependencies] 9 | zellij-tile = { path = "../../zellij-tile" } 10 | fuzzy-matcher = "0.3.7" 11 | -------------------------------------------------------------------------------- /default-plugins/multiple-select/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../../LICENSE.md -------------------------------------------------------------------------------- /default-plugins/plugin-manager/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /default-plugins/plugin-manager/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /default-plugins/plugin-manager/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "plugin-manager" 3 | version = "0.1.0" 4 | authors = ["Aram Drevekenin "] 5 | edition = "2018" 6 | 7 | [dependencies] 8 | uuid = { version = "1.7.0", features = ["v4"] } 9 | fuzzy-matcher = "0.3.7" 10 | zellij-tile = { path = "../../zellij-tile" } 11 | -------------------------------------------------------------------------------- /default-plugins/plugin-manager/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../../LICENSE.md -------------------------------------------------------------------------------- /default-plugins/session-manager/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /default-plugins/session-manager/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /default-plugins/session-manager/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "session-manager" 3 | version = "0.1.0" 4 | authors = ["Aram Drevekenin "] 5 | edition = "2018" 6 | 7 | [dependencies] 8 | ansi_term = "0.12.1" 9 | zellij-tile = { path = "../../zellij-tile" } 10 | chrono = "0.4.0" 11 | fuzzy-matcher = "0.3.7" 12 | unicode-width = "0.1.10" 13 | humantime = "2.1.0" 14 | uuid = { version = "1.7.0", features = ["v4"] } 15 | -------------------------------------------------------------------------------- /default-plugins/status-bar/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /default-plugins/status-bar/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "status-bar" 3 | version = "0.1.0" 4 | authors = ["Brooks J Rady "] 5 | edition = "2021" 6 | license = "MIT" 7 | 8 | [dependencies] 9 | colored = "2" 10 | ansi_term = "0.12" 11 | lazy_static = "1.4.0" 12 | rand = "0.8.4" 13 | serde = { version = "1.0", features = ["derive"] } 14 | serde_json = "1.0" 15 | thiserror = "1.0.30" 16 | unicode-width = "0.1.8" 17 | zellij-tile = { path = "../../zellij-tile" } 18 | zellij-tile-utils = { path = "../../zellij-tile-utils" } 19 | 20 | [dev-dependencies] 21 | regex = "1" 22 | -------------------------------------------------------------------------------- /default-plugins/status-bar/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../../LICENSE.md -------------------------------------------------------------------------------- /default-plugins/status-bar/src/tip/consts.rs: -------------------------------------------------------------------------------- 1 | pub const DEFAULT_CACHE_FILE_PATH: &str = "/tmp/status-bar-tips.cache"; 2 | pub const MAX_CACHE_HITS: usize = 20; // this should be 10, but right now there's a bug where the plugin load function is called twice, and sot he cache is hit twice 3 | -------------------------------------------------------------------------------- /default-plugins/status-bar/src/tip/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod cache; 2 | pub mod consts; 3 | pub mod data; 4 | pub mod utils; 5 | 6 | use crate::LinePart; 7 | use zellij_tile::prelude::*; 8 | 9 | pub type TipFn = fn(&ModeInfo) -> LinePart; 10 | 11 | pub struct TipBody { 12 | pub short: TipFn, 13 | pub medium: TipFn, 14 | pub full: TipFn, 15 | } 16 | -------------------------------------------------------------------------------- /default-plugins/strider/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /default-plugins/strider/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "strider" 3 | version = "0.2.0" 4 | authors = ["Brooks J Rady "] 5 | edition = "2021" 6 | description = "A simplified ranger clone written as a Zellij plugin" 7 | license = "MIT" 8 | 9 | [dependencies] 10 | colored = "2.0.0" 11 | zellij-tile = { path = "../../zellij-tile" } 12 | pretty-bytes = "0.2.2" 13 | ignore = "0.4.20" 14 | fuzzy-matcher = "0.3.7" 15 | serde = { version = "1.0", features = ["derive"] } 16 | serde_json = "1.0" 17 | unicode-width = "0.1.8" 18 | ansi_term = "0.12.1" 19 | strip-ansi-escapes = "0.1.1" 20 | -------------------------------------------------------------------------------- /default-plugins/strider/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../../LICENSE.md -------------------------------------------------------------------------------- /default-plugins/tab-bar/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /default-plugins/tab-bar/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "tab-bar" 3 | version = "0.1.0" 4 | authors = ["Jonah Caplan "] 5 | edition = "2021" 6 | license = "MIT" 7 | 8 | [dependencies] 9 | colored = "2" 10 | ansi_term = "0.12" 11 | unicode-width = "0.1.8" 12 | zellij-tile = { path = "../../zellij-tile" } 13 | zellij-tile-utils = { path = "../../zellij-tile-utils" } -------------------------------------------------------------------------------- /default-plugins/tab-bar/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../../LICENSE.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: "2.1" 3 | services: 4 | zellij-e2e: 5 | image: ghcr.io/linuxserver/openssh-server 6 | container_name: zellij-e2e 7 | hostname: zellij-e2e 8 | environment: 9 | PUID: 1000 10 | PGID: 1000 11 | TZ: Europe/Vienna 12 | PASSWORD_ACCESS: true 13 | USER_PASSWORD: test 14 | USER_NAME: test 15 | volumes: 16 | - type: bind 17 | source: ./target 18 | target: /usr/src/zellij 19 | - type: bind 20 | source: ./src/tests/fixtures 21 | target: /usr/src/zellij/fixtures 22 | ports: 23 | - 2222:2222 24 | restart: unless-stopped 25 | -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- 1 | # Special considerations when using the configuration: 2 | 3 | While trying to bind the newline character in the Config, use double quotes: 4 | 5 | `Ctrl: "\n"` instead of `Ctrl: '\n'` 6 | -------------------------------------------------------------------------------- /example/layouts/run_htop_layout.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | default_tab_template { 3 | children 4 | } 5 | tab split_direction="Vertical" { 6 | pane split_direction="Vertical" { 7 | pane size="50%" split_direction="Horizontal" { 8 | pane size="50%" 9 | pane command="htop" size="50%" 10 | } 11 | pane command="htop" size="50%" 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /example/layouts/run_htop_layout_with_plugins.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | default_tab_template { 3 | children 4 | } 5 | tab split_direction="Horizontal" { 6 | pane size=1 borderless=true { 7 | plugin location="zellij:tab-bar" 8 | } 9 | pane split_direction="Vertical" { 10 | pane split_direction="Vertical" { 11 | pane command="htop" size="50%" 12 | pane command="htop" size="50%" { 13 | args "-C" 14 | } 15 | } 16 | } 17 | pane size=5 18 | pane size=2 borderless=true { 19 | plugin location="zellij:status-bar" 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /example/themes/README.md: -------------------------------------------------------------------------------- 1 | # Themes 2 | 3 | It contains examples showing how to write a theme. 4 | 5 | If you would like to add a theme to zellij, please refer [zellij-utils/assets/themes](../../zellij-utils/assets/themes). 6 | -------------------------------------------------------------------------------- /example/themes/example.kdl: -------------------------------------------------------------------------------- 1 | // This file shows how to write a theme file 2 | // using `gruvbox` theme. 3 | 4 | themes { 5 | // example of how to set a theme in RGB format 6 | gruvbox-light { 7 | fg 60 56 54 8 | bg 251 82 75 9 | black 40 40 40 10 | red 205 75 69 11 | green 152 151 26 12 | yellow 215 153 33 13 | blue 69 133 136 14 | magenta 177 98 134 15 | cyan 104 157 106 16 | white 213 196 161 17 | orange 214 93 14 18 | } 19 | 20 | // example of how to set a theme in HEX format 21 | gruvbox-dark { 22 | fg "#D5C4A1" 23 | bg "#282828" 24 | black "#3C3836" 25 | red "#CC241D" 26 | green "#98971A" 27 | yellow "#D79921" 28 | blue "#3C8588" 29 | magenta "#B16286" 30 | cyan "#689D6A" 31 | white "#FBF1C7" 32 | orange "#D65D0E" 33 | } 34 | } -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | # This file is updated by `update-toolchain.sh` 2 | [toolchain] 3 | # NOTE: When updating this, modify `rust-version` in `Cargo.toml` accordingly 4 | channel = "1.84.0" 5 | components = ["rustfmt", "clippy"] 6 | # NOTE: Change this with care, this is also used by the CI pipeline 7 | targets = ["wasm32-wasip1", "x86_64-unknown-linux-musl"] 8 | -------------------------------------------------------------------------------- /src/tests/e2e/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod cases; 2 | mod remote_runner; 3 | mod steps; 4 | -------------------------------------------------------------------------------- /src/tests/e2e/snapshots/zellij__tests__e2e__cases__cannot_split_terminals_vertically_when_active_terminal_is_too_small.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/tests/e2e/cases.rs 3 | assertion_line: 239 4 | expression: last_snapshot 5 | --- 6 | Zellij 7 | ┌──────┐ 8 | │$ █ │ 9 | │ │ 10 | │ │ 11 | │ │ 12 | │ │ 13 | │ │ 14 | │ │ 15 | │ │ 16 | │ │ 17 | │ │ 18 | │ │ 19 | │ │ 20 | │ │ 21 | │ │ 22 | │ │ 23 | │ │ 24 | └──────┘ 25 | ... 26 | -------------------------------------------------------------------------------- /src/tests/fixtures/alternate_screen_change_size: -------------------------------------------------------------------------------- 1 | [?1049hline1aaaaaaaaaaaaaaa 2 | line2aaaaaaaaaaaaaaa 3 | line3aaaaaaaaaaaaaaa 4 | line4aaaaaaaaaaaaaaa 5 | line5aaaaaaaaaaaaaaa 6 | line6aaaaaaaaaaaaaaa 7 | line7aaaaaaaaaaaaaaa 8 | line8aaaaaaaaaaaaaaa 9 | line9aaaaaaaaaaaaaaa 10 | line10aaaaaaaaaaaaaa 11 | line11aaaaaaaaaaaaaa 12 | line12aaaaaaaaaaaaaa 13 | line13aaaaaaaaaaaaaa 14 | line14aaaaaaaaaaaaaa 15 | line15aaaaaaaaaaaaaa 16 | line16aaaaaaaaaaaaaa 17 | line17aaaaaaaaaaaaaa 18 | line18aaaaaaaaaaaaaa 19 | line19a🦀aaaaaaaaaaa 20 | line20a🦀🦀aaaaaaaaa 21 | line21🦀🦀🦀🦀🦀🦀🦀 -------------------------------------------------------------------------------- /src/tests/fixtures/append-echo-script.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | echo foo >> /tmp/foo && cat /tmp/foo 3 | -------------------------------------------------------------------------------- /src/tests/fixtures/configs/changed_keys.kdl: -------------------------------------------------------------------------------- 1 | keybinds clear-defaults=true { 2 | normal { 3 | bind "F1" { SwitchToMode "Locked"; } 4 | bind "F2" { SwitchToMode "Pane"; } 5 | bind "F3" { SwitchToMode "Tab"; } 6 | bind "F4" { SwitchToMode "Resize"; } 7 | bind "F5" { SwitchToMode "Move"; } 8 | bind "F6" { SwitchToMode "Scroll"; } 9 | bind "Alt F7" { SwitchToMode "Session"; } 10 | bind "Ctrl F8" { Quit; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/tests/fixtures/csi-b: -------------------------------------------------------------------------------- 1 | f 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/csi-capital-i: -------------------------------------------------------------------------------- 1 | foo 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/csi-capital-z: -------------------------------------------------------------------------------- 1 | 12345678901234567890foo 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/delete_wide_character_under_cursor: -------------------------------------------------------------------------------- 1 | 12H4 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/delete_wide_characters_before_cursor: -------------------------------------------------------------------------------- 1 | Hi there HiHi -------------------------------------------------------------------------------- /src/tests/fixtures/delete_wide_characters_before_cursor_when_cursor_is_on_wide_character: -------------------------------------------------------------------------------- 1 | Hi there HiHi -------------------------------------------------------------------------------- /src/tests/fixtures/e2e/scrolling_inside_a_pane: -------------------------------------------------------------------------------- 1 | line1 2 | line2 3 | line3 4 | line4 5 | line5 6 | line6 7 | line7 8 | line8 9 | line9 10 | line10 11 | line11 12 | line12 13 | line13 14 | line14 15 | line15 16 | line16 17 | line17 18 | line18 19 | line19 20 | line20 21 | line21 22 | -------------------------------------------------------------------------------- /src/tests/fixtures/move_cursor_below_scroll_region: -------------------------------------------------------------------------------- 1 |  2 | 1foo 3 | 2foo 4 | 3foo 5 | 4foo 6 | 5foo 7 | 6foo 8 | 7foo 9 | 8foo 10 | 9foo 11 | 10foo 12 | 11foo 13 | 12foo 14 | 13foo 15 | 14foo 16 | 15foo 17 | 16foo 18 | 17foo 19 | 18foo 20 | 19foo 21 | 20foo 22 | 21foo 23 | 22foo 24 | 23foo 25 | 24foo 26 | 25foo 27 | 26foo 28 | 27foo 29 | 28foo 30 | 29foo 31 | 30foo 32 | 31foo 33 | 32foo 34 | 33foo 35 | 34foo 36 | 35foo 37 |  38 | 1bar 39 | 2bar 40 | 3bar 41 | 4bar 42 | 5zz -------------------------------------------------------------------------------- /src/tests/fixtures/nested-list-ui-component: -------------------------------------------------------------------------------- 1 | Pznested_list;105,116,101,109,32,49;105,116,101,109,32,50;|105,116,101,109,32,51;105,116,101,109,32,52;|105,116,101,109,32,53,32,108,115,100,107,102,106,108,115,107,100,106,32,102,108,107,115,100,106,102,32,108,107,115,100,106,32,102,108,107,115,106,100,32,102;||105,116,101,109,32,54,32,115,108,100,107,102,106,115,108,107,100,102,106,32,108,115,100,107,106,102,32,108,115,107,100,106,102,32,108,115,107,100,106,102,32,108,107,115,100,106,102,32,108,115,107,100,106,102,32;105,116,101,109,32,55\ 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/replace_multiple_wide_characters: -------------------------------------------------------------------------------- 1 | 👨🔭👨🔭xy 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/replace_non_wide_characters_with_wide_characters: -------------------------------------------------------------------------------- 1 | 👨x🔭🔭👨 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/replace_wide_character_under_cursor: -------------------------------------------------------------------------------- 1 | 12H4 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/ribbon-ui-component: -------------------------------------------------------------------------------- 1 | Pzribbon;27,91,49,109,60,27,91,51,56,59,53,59,57,109,110,27,91,51,57,59,51,56,59,53,59,48,109,62,32,82,69,83,73,90,69\ 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/ribbon-ui-component-with-coordinates: -------------------------------------------------------------------------------- 1 | Pzribbon;2/2/12/;1,2,3,4$114,105,98,98,111,110,32,49\ 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/ring_bell: -------------------------------------------------------------------------------- 1 | [?2004h 2 | zellij on  main [!] is 📦 v0.24.0 via 🦀 v1.57.0  3 | ❯ ❯ bell 4 | [?2004l [?2004h 5 | zellij on  main [!] is 📦 v0.24.0 via 🦀 v1.57.0 took 5s 6 | ❯ -------------------------------------------------------------------------------- /src/tests/fixtures/scroll_down: -------------------------------------------------------------------------------- 1 | 2 | 3 | line1line2 4 | -------------------------------------------------------------------------------- /src/tests/fixtures/scroll_region_full_screen: -------------------------------------------------------------------------------- 1 |  2 | line1 3 | line2 4 | line3 5 | line4 6 | line5 7 | line6 8 | line7 9 | line8 10 | line9 11 | line10 12 | line11 13 | line12 14 | line13 15 | line14 16 | line15 17 | line16 18 | line17 19 | line18 20 | line19 21 | line20 22 | line21 23 | line22 24 | line23 25 | line24 26 | line25 27 | line26 28 | line27 29 | line28 30 | line29 31 | line30 32 | line31 33 | line32 34 | line33 35 | line34 36 | line35 37 | line36 38 | line37 39 | line38 40 | line39 41 | line40 42 | line41 43 | line42 44 | line43 45 | line44 46 | line45 47 | line46 48 | line47 49 | line48 50 | line49 51 | line50 52 | line51 53 | line52 54 | line53 55 | line54 56 | line55 57 | line56 58 | line57 59 | line58 60 | line59 61 | line60 62 | -------------------------------------------------------------------------------- /src/tests/fixtures/tab_characters: -------------------------------------------------------------------------------- 1 | ]0;fish /home/panda/repos/mosaic(B⏎(B ⏎  2 | OS: 5.9.13-arch1-1 GNU/Linux 3 | Uptime: 10 hours, 42 minutes 4 | Hostname: kingdom 5 | Disk usage: 6 | 7 | df: /run/user/1000/doc: Operation not permitted 8 | / 321G / 514G 66% 9 | /efi 27M / 96M 28% 10 | 11 | Network: 12 | 13 | wlp2s0 192.168.0.3 14 |  15 | (B[?2004h]0;fish /home/panda/repos/mosaic(B[I](B [20:07] kingdom:mosaic (main) | (B -------------------------------------------------------------------------------- /src/tests/fixtures/table-ui-component-with-coordinates: -------------------------------------------------------------------------------- 1 | Pztable;4/4/20/3;3;5;116,105,116,108,101,49;116,105,116,108,101,50;116,105,116,108,101,51;1,2,3,4$99,111,110,116,101,110,116,32,49;$$0,1,2,3,4,5,6,7,8$99,111,110,116,101,110,116,32,50;99,111,110,116,101,110,116,32,51;x99,111,110,116,101,110,116,32,49,49;x99,111,110,116,101,110,116,32,50,50;x99,111,110,116,101,110,116,32,51,51;99,111,110,116,101,110,116,32,49,49,49;99,111,110,116,101,110,116,32,50,50,50;99,111,110,116,101,110,116,32,51,51;99,111,110,116,101,110,116,32,49,49;x99,111,110,116,101,110,116,32,50,50;99,111,110,116,101,110,116,32,51,51\ 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/terminal_pixel_size_reports: -------------------------------------------------------------------------------- 1 | ; 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/terminal_reports: -------------------------------------------------------------------------------- 1 | Z 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/text-ui-component: -------------------------------------------------------------------------------- 1 | Pztext;x0,1,2$3,4,5$7,8,9$102,111,111,32,98,97,114,32,98,97,122\ 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/text-ui-component-with-coordinates: -------------------------------------------------------------------------------- 1 | Pztext;58/4//;x0,1,2$3,4,5$7,8,9$102,111,111,32,98,97,114,32,98,97,122\ 2 | -------------------------------------------------------------------------------- /src/tests/fixtures/title-wide-chars: -------------------------------------------------------------------------------- 1 | ]0;Remixed by BEMANI Sound Team 'TAG feat. PON' - 新宝島\ 2 | 3 | -------------------------------------------------------------------------------- /src/tests/fixtures/wide-chars-delete-middle: -------------------------------------------------------------------------------- 1 | [?2004h[aram@green zellij]$ [aram@green zellij]$ 🏠🏠 abc5~dabceabcfabc abc[1@x -------------------------------------------------------------------------------- /src/tests/fixtures/wide-chars-delete-middle-after-multi: -------------------------------------------------------------------------------- 1 | [?2004h[aram@green zellij]$ [aram@green zellij]$ 🏠🏠🏠🏠🏠🏠a🏠🏠 -------------------------------------------------------------------------------- /src/tests/fixtures/wide_characters: -------------------------------------------------------------------------------- 1 | ⏎(B ⏎ Welcome to fish, the friendly interactive shell 2 | [?2004h]0;fish /home/aram/code/zellij(B⋊>(B ~/c/zellij(B on main(B ⨯ 15:19:10(B   H15:19:10(B  H(B15:19:10(B  H(B15:19:10(B  H(B15:19:10(B  H(B15:19:10(B  H(B15:19:10(B  H(B15:19:10(B  H(B15:19:10(B   -------------------------------------------------------------------------------- /src/tests/fixtures/wide_characters_middle_line_insert: -------------------------------------------------------------------------------- 1 | [?2004h[aram@green zellij]$ [aram@green zellij]$ 🏠🏠 abcdabceabcfabc abc[1@x -------------------------------------------------------------------------------- /src/tests/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod e2e; 2 | -------------------------------------------------------------------------------- /xtask/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "xtask" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | 7 | [dependencies] 8 | anyhow = { workspace = true } 9 | prost-build = { version = "0.11.9", default-features = false } 10 | toml = { version = "0.5", default-features = false } 11 | which = { version = "4.2", default-features = false } 12 | xflags = { version = "0.3.2", default-features = false } 13 | # TODO(hartan): Update this once we get a new release. See: 14 | # 15 | xshell = { version = "= 0.2.2", default-features = false } 16 | 17 | [lints.rust] 18 | # Only required because we need to fix `xshell` to `=0.2.2` 19 | unexpected_cfgs = { level = "warn", check-cfg = ['cfg(trick_rust_analyzer_into_highlighting_interpolated_bits)'] } 20 | -------------------------------------------------------------------------------- /xtask/src/dist.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/mod.rs: -------------------------------------------------------------------------------- 1 | mod convert_old_yaml_files; 2 | mod old_config; 3 | mod old_layout; 4 | pub use convert_old_yaml_files::convert_old_yaml_files; 5 | pub use old_config::config_yaml_to_config_kdl; 6 | pub use old_layout::layout_yaml_to_layout_kdl; 7 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/fixtures/old_default_yaml_layout.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | template: 3 | direction: Horizontal 4 | parts: 5 | - direction: Vertical 6 | borderless: true 7 | split_size: 8 | Fixed: 1 9 | run: 10 | plugin: 11 | location: "zellij:tab-bar" 12 | - direction: Vertical 13 | body: true 14 | - direction: Vertical 15 | borderless: true 16 | split_size: 17 | Fixed: 2 18 | run: 19 | plugin: 20 | location: "zellij:status-bar" 21 | tabs: 22 | - direction: Vertical 23 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/fixtures/old_yaml_layout_with_quoted_args.yaml: -------------------------------------------------------------------------------- 1 | tabs: 2 | - direction: Vertical 3 | parts: 4 | - direction: Vertical 5 | run: 6 | command: {cmd: bash, args: ["-c", "exec bash --init-file <(echo \"echo hi\") -i"]} 7 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/fixtures/old_yaml_layout_with_session_name.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | template: 3 | direction: Horizontal 4 | parts: 5 | - direction: Vertical 6 | borderless: true 7 | split_size: 8 | Fixed: 1 9 | run: 10 | plugin: 11 | location: "zellij:tab-bar" 12 | - direction: Vertical 13 | body: true 14 | - direction: Vertical 15 | borderless: true 16 | split_size: 17 | Fixed: 2 18 | run: 19 | plugin: 20 | location: "zellij:status-bar" 21 | tabs: 22 | - direction: Vertical 23 | session: 24 | name: foo 25 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/fixtures/old_yaml_layout_with_session_name_and_attach_false.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | template: 3 | direction: Horizontal 4 | parts: 5 | - direction: Vertical 6 | borderless: true 7 | split_size: 8 | Fixed: 1 9 | run: 10 | plugin: 11 | location: "zellij:tab-bar" 12 | - direction: Vertical 13 | body: true 14 | - direction: Vertical 15 | borderless: true 16 | split_size: 17 | Fixed: 2 18 | run: 19 | plugin: 20 | location: "zellij:status-bar" 21 | tabs: 22 | - direction: Vertical 23 | session: 24 | name: foo 25 | attach: false 26 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/fixtures/run_htop_layout.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | tabs: 3 | - direction: Vertical 4 | parts: 5 | - direction: Horizontal 6 | split_size: 7 | Percent: 50 8 | parts: 9 | - direction: Vertical 10 | split_size: 11 | Percent: 50 12 | - direction: Vertical 13 | split_size: 14 | Percent: 50 15 | run: 16 | command: {cmd: htop} 17 | - direction: Horizontal 18 | split_size: 19 | Percent: 50 20 | run: 21 | command: {cmd: htop} 22 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/snapshots/zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_default_layout.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-client/src/old_config_converter/./unit/convert_layout_tests.rs 3 | assertion_line: 13 4 | expression: "format!(\"{}\", kdl_config)" 5 | --- 6 | layout { 7 | pane size=1 borderless=true { 8 | plugin location="zellij:tab-bar" 9 | } 10 | pane 11 | pane size=2 borderless=true { 12 | plugin location="zellij:status-bar" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/snapshots/zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_example_3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-client/src/old_config_converter/./unit/convert_layout_tests.rs 3 | assertion_line: 90 4 | expression: "format!(\"{}\", kdl_config)" 5 | --- 6 | layout { 7 | default_tab_template { 8 | children 9 | } 10 | tab split_direction="Vertical" { 11 | pane split_direction="Vertical" { 12 | pane size="50%" split_direction="Horizontal" { 13 | pane size="50%" 14 | pane command="htop" size="50%" 15 | } 16 | pane command="htop" size="50%" 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/snapshots/zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_with_command_quoted_args.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-client/src/old_config_converter/./unit/convert_layout_tests.rs 3 | assertion_line: 156 4 | expression: "format!(\"{}\", kdl_config)" 5 | --- 6 | layout { 7 | default_tab_template { 8 | children 9 | } 10 | tab split_direction="Vertical" { 11 | pane split_direction="Vertical" { 12 | pane command="bash" { 13 | args "-c" "exec bash --init-file <(echo \"echo hi\") -i" 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/snapshots/zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_with_config.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-client/src/old_config_converter/./unit/convert_layout_tests.rs 3 | assertion_line: 46 4 | expression: "format!(\"{}\", kdl_config)" 5 | --- 6 | layout { 7 | pane size=1 borderless=true { 8 | plugin location="zellij:tab-bar" 9 | } 10 | pane 11 | pane size=2 borderless=true { 12 | plugin location="zellij:status-bar" 13 | } 14 | } 15 | keybinds clear-defaults=true { 16 | normal { 17 | bind "Ctrl g" { SwitchToMode "locked"; } 18 | bind "Ctrl p" { SwitchToMode "pane"; } 19 | bind "Ctrl n" { SwitchToMode "resize"; } 20 | bind "Ctrl t" { SwitchToMode "tab"; } 21 | } 22 | } 23 | default_shell "fish" 24 | 25 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/snapshots/zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_with_config_and_session_name.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-client/src/old_config_converter/./unit/convert_layout_tests.rs 3 | assertion_line: 57 4 | expression: "format!(\"{}\", kdl_config)" 5 | --- 6 | layout { 7 | pane size=1 borderless=true { 8 | plugin location="zellij:tab-bar" 9 | } 10 | pane 11 | pane size=2 borderless=true { 12 | plugin location="zellij:status-bar" 13 | } 14 | } 15 | session_name "foo" 16 | attach_to_session true 17 | keybinds clear-defaults=true { 18 | normal { 19 | bind "Ctrl g" { SwitchToMode "locked"; } 20 | bind "Ctrl p" { SwitchToMode "pane"; } 21 | bind "Ctrl n" { SwitchToMode "resize"; } 22 | bind "Ctrl t" { SwitchToMode "tab"; } 23 | } 24 | } 25 | default_shell "fish" 26 | 27 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/snapshots/zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_with_session_name.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-client/src/old_config_converter/./unit/convert_layout_tests.rs 3 | assertion_line: 24 4 | expression: "format!(\"{}\", kdl_config)" 5 | --- 6 | layout { 7 | pane size=1 borderless=true { 8 | plugin location="zellij:tab-bar" 9 | } 10 | pane 11 | pane size=2 borderless=true { 12 | plugin location="zellij:status-bar" 13 | } 14 | } 15 | session_name "foo" 16 | attach_to_session true 17 | -------------------------------------------------------------------------------- /zellij-client/src/old_config_converter/unit/snapshots/zellij_client__old_config_converter__old_layout__convert_layout_test__properly_convert_layout_with_session_name_and_attach_false.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-client/src/old_config_converter/./unit/convert_layout_tests.rs 3 | assertion_line: 35 4 | expression: "format!(\"{}\", kdl_config)" 5 | --- 6 | layout { 7 | pane size=1 borderless=true { 8 | plugin location="zellij:tab-bar" 9 | } 10 | pane 11 | pane size=2 borderless=true { 12 | plugin location="zellij:status-bar" 13 | } 14 | } 15 | session_name "foo" 16 | attach_to_session false 17 | -------------------------------------------------------------------------------- /zellij-server/src/panes/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod alacritty_functions; 2 | pub mod grid; 3 | pub mod link_handler; 4 | pub mod selection; 5 | pub mod sixel; 6 | pub mod terminal_character; 7 | 8 | mod active_panes; 9 | pub mod floating_panes; 10 | mod plugin_pane; 11 | mod search; 12 | mod terminal_pane; 13 | mod tiled_panes; 14 | 15 | pub use active_panes::*; 16 | pub use alacritty_functions::*; 17 | pub use floating_panes::*; 18 | pub use grid::*; 19 | pub use link_handler::*; 20 | pub(crate) use plugin_pane::*; 21 | pub use sixel::*; 22 | pub(crate) use terminal_character::*; 23 | pub use terminal_pane::*; 24 | pub use tiled_panes::*; 25 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__alternate_screen_change_size.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 2137 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): line2aaaaaaaaaaaaaaa 7 | 01 (C): line3aaaaaaaaaaaaaaa 8 | 02 (C): line4aaaaaaaaaaaaaaa 9 | 03 (C): line5aaaaaaaaaaaaaaa 10 | 04 (C): line6aaaaaaaaaaaaaaa 11 | 05 (C): line7aaaaaaaaaaaaaaa 12 | 06 (C): line8aaaaaaaaaaaaaaa 13 | 07 (C): line9aaaaaaaaaaaaaaa 14 | 08 (C): line10aaaaaaaaaaaaaa 15 | 09 (C): line11aaaaaaaaaaaaaa 16 | 10 (C): line12aaaaaaaaaaaaaa 17 | 11 (C): line13aaaaaaaaaaaaaa 18 | 12 (C): line14aaaaaaaaaaaaaa 19 | 13 (C): line15aaaaaaaaaaaaaa 20 | 14 (C): line16aaaaaaaaaaaaaa 21 | 15 (C): line17aaaaaaaaaaaaaa 22 | 16 (C): line18aaaaaaaaaaaaaa 23 | 17 (C): line19a🦀aaaaaaaaaaa 24 | 18 (C): line20a🦀🦀aaaaaaaaa 25 | 19 (C): line21🦀🦀🦀🦀🦀🦀🦀 26 | 27 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__ansi_csi_at_sign.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 2189 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): f oo 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 21 (C): 28 | 22 (C): 29 | 23 (C): 30 | 24 (C): 31 | 25 (C): 32 | 26 (C): 33 | 27 (C): 34 | 28 (C): 35 | 29 (C): 36 | 30 (C): 37 | 31 (C): 38 | 32 (C): 39 | 33 (C): 40 | 34 (C): 41 | 35 (C): 42 | 36 (C): 43 | 37 (C): 44 | 38 (C): 45 | 39 (C): 46 | 40 (C): 47 | 41 (C): 48 | 42 (C): 49 | 43 (C): 50 | 44 (C): 51 | 45 (C): 52 | 46 (C): 53 | 47 (C): 54 | 48 (C): 55 | 49 (C): 56 | 50 (C): 57 | 58 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__bash_cursor_linewrap.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 1552 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): Welcome to fish, the friendly interactive shell 7 | 01 (C): ⋊> ~/c/mosaic on main ⨯ bash 16:00:06 8 | 02 (C): [aram@green mosaic]$ 12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345 9 | 03 (W): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 21 (C): 28 | 22 (C): 29 | 23 (C): 30 | 24 (C): 31 | 25 (C): 32 | 26 (C): 33 | 27 (C): 34 | 35 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__bash_delete_wide_characters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 875 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): Welcome to fish, the friendly interactive shell 7 | 01 (C): ⋊> ~/c/zellij on wide-char ⨯ bash 15:35:20 8 | 02 (C): [aram@green zellij]$ HHHHHH 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__clear_scroll_region.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 1486 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): Welcome to fish, the friendly interactive shell 7 | 01 (C): ⋊> ~/c/mosaic on main ⨯ vim some-file 15:07:22 8 | 02 (C): ⋊> ~/c/mosaic on main ⨯ 15:07:29 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 21 (C): 28 | 22 (C): 29 | 23 (C): 30 | 24 (C): 31 | 25 (C): 32 | 26 (C): 33 | 27 (C): 34 | 35 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__csi_b.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 655 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): ffffff 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 21 (C): 28 | 22 (C): 29 | 23 (C): 30 | 24 (C): 31 | 25 (C): 32 | 26 (C): 33 | 27 (C): 34 | 28 (C): 35 | 29 (C): 36 | 30 (C): 37 | 31 (C): 38 | 32 (C): 39 | 33 (C): 40 | 34 (C): 41 | 35 (C): 42 | 36 (C): 43 | 37 (C): 44 | 38 (C): 45 | 39 (C): 46 | 40 (C): 47 | 41 (C): 48 | 42 (C): 49 | 43 (C): 50 | 44 (C): 51 | 45 (C): 52 | 46 (C): 53 | 47 (C): 54 | 48 (C): 55 | 49 (C): 56 | 50 (C): 57 | 58 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__csi_capital_z.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 699 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): 12345678foo234567890 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 21 (C): 28 | 22 (C): 29 | 23 (C): 30 | 24 (C): 31 | 25 (C): 32 | 26 (C): 33 | 27 (C): 34 | 28 (C): 35 | 29 (C): 36 | 30 (C): 37 | 31 (C): 38 | 32 (C): 39 | 33 (C): 40 | 34 (C): 41 | 35 (C): 42 | 36 (C): 43 | 37 (C): 44 | 38 (C): 45 | 39 (C): 46 | 40 (C): 47 | 41 (C): 48 | 42 (C): 49 | 43 (C): 50 | 44 (C): 51 | 45 (C): 52 | 46 (C): 53 | 47 (C): 54 | 48 (C): 55 | 49 (C): 56 | 50 (C): 57 | 58 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__delete_char_in_middle_of_line_with_multiple_widechars.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 833 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): [aram@green zellij]$ 🏠🏠🏠 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__delete_char_in_middle_of_line_with_widechar.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 811 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): [aram@green zellij]$ 🏠 def abc 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__delete_wide_character_under_cursor.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 943 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): 12 4 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__delete_wide_characters_before_cursor.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 897 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): Hi 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__delete_wide_characters_before_cursor_when_cursor_is_on_wide_character.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 919 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): i 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__fish_wide_characters_override_clock.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 853 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): Welcome to fish, the friendly interactive shell 7 | 01 (C): ⋊> ~/c/zellij on main ⨯ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__insert_character_in_line_with_wide_character.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 787 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): [aram@green zellij]$ 🏠 xdef abc 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__replace_wide_character_under_cursor.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 963 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): 12 4 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__ribbon_selected_ui_component.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 2949 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C):  RESIZE  7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 21 (C): 28 | 22 (C): 29 | 23 (C): 30 | 24 (C): 31 | 25 (C): 32 | 26 (C): 33 | 27 (C): 34 | 28 (C): 35 | 29 (C): 36 | 30 (C): 37 | 31 (C): 38 | 32 (C): 39 | 33 (C): 40 | 34 (C): 41 | 35 (C): 42 | 36 (C): 43 | 37 (C): 44 | 38 (C): 45 | 39 (C): 46 | 40 (C): 47 | 48 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__ribbon_ui_component.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | expression: "format!(\"{:?}\", grid)" 4 | --- 5 | 00 (C):  RESIZE  6 | 01 (C): 7 | 02 (C): 8 | 03 (C): 9 | 04 (C): 10 | 05 (C): 11 | 06 (C): 12 | 07 (C): 13 | 08 (C): 14 | 09 (C): 15 | 10 (C): 16 | 11 (C): 17 | 12 (C): 18 | 13 (C): 19 | 14 (C): 20 | 15 (C): 21 | 16 (C): 22 | 17 (C): 23 | 18 (C): 24 | 19 (C): 25 | 20 (C): 26 | 21 (C): 27 | 22 (C): 28 | 23 (C): 29 | 24 (C): 30 | 25 (C): 31 | 26 (C): 32 | 27 (C): 33 | 28 (C): 34 | 29 (C): 35 | 30 (C): 36 | 31 (C): 37 | 32 (C): 38 | 33 (C): 39 | 34 (C): 40 | 35 (C): 41 | 36 (C): 42 | 37 (C): 43 | 38 (C): 44 | 39 (C): 45 | 40 (C): 46 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__saved_cursor_across_resize.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 2443 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (W): ll to 20_< 7 | 01 (C): LZZZ 4 >fi 8 | 02 (W): ll to 20_< 9 | 10 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__saved_cursor_across_resize_longline.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 2475 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): 7 | 01 (C): Line 1 >fi 8 | 02 (W): ll ZZ 20_< 9 | 03 (W): YY 10 | 11 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__saved_cursor_across_resize_rewrap.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 2512 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): 12345678 7 | 01 (W): 12345678 8 | 02 (W): 1234567Z 9 | 03 (W): 12345678 10 | 11 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__scroll_down.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | expression: "format!(\"{:?}\", grid)" 4 | 5 | --- 6 | 00 (C): line 11aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 7 | 01 (C): line 12aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 8 | 02 (C): line 13aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 9 | 03 (C): line 14aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 10 | 04 (C): line 15aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 11 | 05 (C): line 16aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 12 | 06 (C): line 17aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 13 | 07 (C): line 18aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 14 | 08 (C): line 19aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 15 | 09 (C): line 20aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__scroll_down_with_line_wraps.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | expression: "format!(\"{:?}\", grid)" 4 | 5 | --- 6 | 00 (C): line 16aaaaaaaaaaaaaaaaaa 7 | 01 (W): aaaaaaaaaaaaaaaaaaaaaaaa 8 | 02 (C): line 17aaaaaaaaaaaaaaaaaa 9 | 03 (W): aaaaaaaaaaaaaaaaaaaaaaaa 10 | 04 (C): line 18aaaaaaaaaaaaaaaaaa 11 | 05 (W): aaaaaaaaaaaaaaaaaaaaaaaa 12 | 06 (C): line 19aaaaaaaaaaaaaaaaaa 13 | 07 (W): aaaaaaaaaaaaaaaaaaaaaaaa 14 | 08 (C): line 20aaaaaaaaaaaaaaaaaa 15 | 09 (W): aaaaaaaaaaaaaaaaaaaaaaaa 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__scroll_up.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | expression: "format!(\"{:?}\", grid)" 4 | 5 | --- 6 | 00 (C): line 10aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 7 | 01 (C): line 11aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 8 | 02 (C): line 12aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 9 | 03 (C): line 13aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 10 | 04 (C): line 14aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 11 | 05 (C): line 15aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 12 | 06 (C): line 16aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 13 | 07 (C): line 17aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 14 | 08 (C): line 18aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 15 | 09 (C): line 19aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__scroll_up_decrease_width_and_scroll_down.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | expression: "format!(\"{:?}\", grid)" 4 | 5 | --- 6 | 00 (C): line 11aaaaaaaaaaaaaaaaaa 7 | 01 (W): aaaaaaaaaaaaaaaaaaaaaaaa 8 | 02 (C): line 12aaaaaaaaaaaaaaaaaa 9 | 03 (W): aaaaaaaaaaaaaaaaaaaaaaaa 10 | 04 (C): line 13aaaaaaaaaaaaaaaaaa 11 | 05 (W): aaaaaaaaaaaaaaaaaaaaaaaa 12 | 06 (C): line 14aaaaaaaaaaaaaaaaaa 13 | 07 (W): aaaaaaaaaaaaaaaaaaaaaaaa 14 | 08 (C): line 15aaaaaaaaaaaaaaaaaa 15 | 09 (W): aaaaaaaaaaaaaaaaaaaaaaaa 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__scroll_up_increase_width_and_scroll_down.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | expression: "format!(\"{:?}\", grid)" 4 | 5 | --- 6 | 00 (C): line 11aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 7 | 01 (C): line 12aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 8 | 02 (C): line 13aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 9 | 03 (C): line 14aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 10 | 04 (C): line 15aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 11 | 05 (C): line 16aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 12 | 06 (C): line 17aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 13 | 07 (C): line 18aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 14 | 08 (C): line 19aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 15 | 09 (C): line 20aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__scroll_up_with_line_wraps.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | expression: "format!(\"{:?}\", grid)" 4 | 5 | --- 6 | 00 (W): aaaaaaaaaaaaaaaaaaaaaaaa 7 | 01 (C): line 16aaaaaaaaaaaaaaaaaa 8 | 02 (W): aaaaaaaaaaaaaaaaaaaaaaaa 9 | 03 (C): line 17aaaaaaaaaaaaaaaaaa 10 | 04 (W): aaaaaaaaaaaaaaaaaaaaaaaa 11 | 05 (C): line 18aaaaaaaaaaaaaaaaaa 12 | 06 (W): aaaaaaaaaaaaaaaaaaaaaaaa 13 | 07 (C): line 19aaaaaaaaaaaaaaaaaa 14 | 08 (W): aaaaaaaaaaaaaaaaaaaaaaaa 15 | 09 (C): line 20aaaaaaaaaaaaaaaaaa 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__sixel_image_in_alternate_buffer-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 2273 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 21 (C): 28 | 22 (C): 29 | 23 (C): 30 | 24 (C): 31 | 25 (C): 32 | 26 (C): 33 | 27 (C): 34 | 28 (C): 35 | 29 (C): 36 | 37 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__sixel_with_image_scrolling_decsdm-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 2338 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): SixelSixelSix 7 | 01 (C): SixelSixelSix 8 | 02 (C): SixelSixelSix 9 | 03 (C): SixelSixelSix 10 | 04 (C): SixelSixelSix 11 | 05 (C): line 6 12 | 06 (C): line 7 13 | 07 (C): line 8 14 | 08 (C): line 9 15 | 09 (C): line 10 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): SixelSixelSix 19 | 13 (C): SixelSixelSix 20 | 14 (C): SixelSixelSix 21 | 15 (C): SixelSixelSix 22 | 16 (C): SixelSixelSix 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 21 (C): 28 | 22 (C): 29 | 23 (C): 30 | 24 (C): 31 | 25 (C): 32 | 26 (C): 33 | 27 (C): 34 | 28 (C): 35 | 29 (C): 36 | 37 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__sixel_with_image_scrolling_decsdm.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 2316 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): SixelSixelSix 7 | 01 (C): SixelSixelSix 8 | 02 (C): SixelSixelSix 9 | 03 (C): SixelSixelSix 10 | 04 (C): SixelSixelSix 11 | 05 (C): line 6 12 | 06 (C): line 7 13 | 07 (C): line 8 14 | 08 (C): line 9 15 | 09 (C): line 10 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 21 (C): 28 | 22 (C): 29 | 23 (C): 30 | 24 (C): 31 | 25 (C): 32 | 26 (C): 33 | 27 (C): 34 | 28 (C): 35 | 29 (C): 36 | 37 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__terminal_reports.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | expression: "format!(\"{:?}\", grid.pending_messages_to_pty)" 4 | --- 5 | [[27, 91, 63, 54, 50, 59, 52, 99], [27, 91, 56, 59, 53, 49, 59, 57, 55, 116], [27, 91, 63, 54, 99], [27, 91, 48, 110], [27, 91, 49, 59, 49, 82]] 6 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__text_ui_component.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 3264 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): foo bar baz 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 21 (C): 28 | 22 (C): 29 | 23 (C): 30 | 24 (C): 31 | 25 (C): 32 | 26 (C): 33 | 27 (C): 34 | 28 (C): 35 | 29 (C): 36 | 30 (C): 37 | 31 (C): 38 | 32 (C): 39 | 33 (C): 40 | 34 (C): 41 | 35 (C): 42 | 36 (C): 43 | 37 (C): 44 | 38 (C): 45 | 39 (C): 46 | 40 (C): 47 | 48 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__wide_characters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 743 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): Welcome to fish, the friendly interactive shell 7 | 01 (C): ⋊> ~/c/zellij on main ⨯ HHHHHHH 15:19:10 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__wide_characters_line_wrap.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | assertion_line: 765 4 | expression: "format!(\"{:?}\", grid)" 5 | --- 6 | 00 (C): Welcome to fish, the friendly interactive shell 7 | 01 (C): ⋊> ~/c/zellij on main ⨯ bash 15:50:11 8 | 02 (C): [aram@green zellij]$ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 9 | 03 (W): HHHHH 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__wrap_wide_characters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | expression: "format!(\"{:?}\", grid)" 4 | 5 | --- 6 | 00 (W): H 7 | 01 (C): eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 8 | 02 (W): e 9 | 03 (C): lllllllllllllllllllllllllllllllllllllllllllll 10 | 04 (W): l 11 | 05 (C): lllllllllllllllllllllllllllllllllllllllllllll 12 | 06 (W): l 13 | 07 (C): ooooooooooooooooooooooooooooooooooooooooooooo 14 | 08 (W): o 15 | 09 (C): HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 16 | 10 (W): H 17 | 11 (C): eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 18 | 12 (W): e 19 | 13 (C): lllllllllllllllllllllllllllllllllllllllllllll 20 | 14 (W): l 21 | 15 (C): lllllllllllllllllllllllllllllllllllllllllllll 22 | 16 (W): l 23 | 17 (C): ooooooooooooooooooooooooooooooooooooooooooooo 24 | 18 (W): o 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__grid__grid_tests__wrap_wide_characters_on_size_change.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/grid_tests.rs 3 | expression: "format!(\"{:?}\", grid)" 4 | 5 | --- 6 | 00 (W): H 7 | 01 (C): eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 8 | 02 (W): e 9 | 03 (C): lllllllllllllllllllllllllllllllllllllllllllll 10 | 04 (W): l 11 | 05 (C): lllllllllllllllllllllllllllllllllllllllllllll 12 | 06 (W): l 13 | 07 (C): ooooooooooooooooooooooooooooooooooooooooooooo 14 | 08 (W): o 15 | 09 (C): HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 16 | 10 (W): H 17 | 11 (C): eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 18 | 12 (W): e 19 | 13 (C): lllllllllllllllllllllllllllllllllllllllllllll 20 | 14 (W): l 21 | 15 (C): lllllllllllllllllllllllllllllllllllllllllllll 22 | 16 (W): l 23 | 17 (C): ooooooooooooooooooooooooooooooooooooooooooooo 24 | 18 (W): o 25 | 19 (C): 26 | 20 (C): 27 | 28 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__terminal_pane__grid_tests__keep_working_after_corrupted_sixel_image.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/terminal_pane_tests.rs 3 | assertion_line: 364 4 | expression: "format!(\"{:?}\", terminal_pane.grid)" 5 | --- 6 | 00 (C): line 1 7 | 01 (C): line 2 8 | 02 (C): line 3 9 | 03 (C): line 4 10 | 04 (C): line 5 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 27 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__terminal_pane__grid_tests__scrolling_inside_a_pane-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/terminal_pane_tests.rs 3 | expression: "format!(\"{:?}\", terminal_pane . grid)" 4 | 5 | --- 6 | 00 (C): line 5 7 | 01 (C): line 6 8 | 02 (C): line 7 9 | 03 (C): line 8 10 | 04 (C): line 9 11 | 05 (C): line 10 12 | 06 (C): line 11 13 | 07 (C): line 12 14 | 08 (C): line 13 15 | 09 (C): line 14 16 | 10 (C): line 15 17 | 11 (C): line 16 18 | 12 (C): line 17 19 | 13 (C): line 18 20 | 14 (C): line 19 21 | 15 (C): line 20 22 | 16 (C): line 21 23 | 17 (C): line 22 24 | 18 (C): line 23 25 | 19 (C): line 24 26 | 27 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__terminal_pane__grid_tests__scrolling_inside_a_pane-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/terminal_pane_tests.rs 3 | expression: "format!(\"{:?}\", terminal_pane . grid)" 4 | 5 | --- 6 | 00 (C): line 12 7 | 01 (C): line 13 8 | 02 (C): line 14 9 | 03 (C): line 15 10 | 04 (C): line 16 11 | 05 (C): line 17 12 | 06 (C): line 18 13 | 07 (C): line 19 14 | 08 (C): line 20 15 | 09 (C): line 21 16 | 10 (C): line 22 17 | 11 (C): line 23 18 | 12 (C): line 24 19 | 13 (C): line 25 20 | 14 (C): line 26 21 | 15 (C): line 27 22 | 16 (C): line 28 23 | 17 (C): line 29 24 | 18 (C): line 30 25 | 19 (C): 26 | 27 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__terminal_pane__grid_tests__scrolling_inside_a_pane.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/terminal_pane_tests.rs 3 | expression: "format!(\"{:?}\", terminal_pane . grid)" 4 | 5 | --- 6 | 00 (C): line 2 7 | 01 (C): line 3 8 | 02 (C): line 4 9 | 03 (C): line 5 10 | 04 (C): line 6 11 | 05 (C): line 7 12 | 06 (C): line 8 13 | 07 (C): line 9 14 | 08 (C): line 10 15 | 09 (C): line 11 16 | 10 (C): line 12 17 | 11 (C): line 13 18 | 12 (C): line 14 19 | 13 (C): line 15 20 | 14 (C): line 16 21 | 15 (C): line 17 22 | 16 (C): line 18 23 | 17 (C): line 19 24 | 18 (C): line 20 25 | 19 (C): line 21 26 | 27 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__terminal_pane__grid_tests__sixel_image_inside_terminal_pane.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/terminal_pane_tests.rs 3 | assertion_line: 85 4 | expression: "format!(\"{:?}\", terminal_pane.grid)" 5 | --- 6 | 00 (C): Si 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 27 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__terminal_pane__search_tests__grid_copy_multiline_highlighted_narrow.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/search_in_pane_tests.rs 3 | expression: "format!(\"{:?}\", terminal_pane.grid)" 4 | --- 5 | 00 (W): a te 6 | 01 (W): llus 7 | 02 (W): in 8 | 03 (W): hac 9 | 04 (W): habi 10 | 05 (W): tass 11 | 06 (W): e. N 12 | 07 (W): unc 13 | 08 (W): scel 14 | 09 (W): eris 15 | 10 (W): que 16 | 11 (W): vive 17 | 12 (W): rra 18 | 13 (W): maur 19 | 14 (W): is i 20 | 15 (W): n ## 21 | 16 (W): #### 22 | 17 (W): #### 23 | 18 (W): #### 24 | 19 (W): #### 25 | 20 (W): ###. 26 | 21 (C): ⏎ 27 | 22 (C): zell 28 | 23 (W): ij o 29 | 24 (W): n  30 | 25 (W): mous 31 | 26 (W): e-su 32 | 27 (W): ppor 33 | 28 (W): t [? 34 | 29 (W): ] is 35 | 30 (W): 📦 36 | 31 (W): v0.1 37 | 32 (W): 4.0 38 | 33 (W): via 39 | 34 (W): 🦀 v 40 | 35 (W): 1.53 41 | 36 (W): .0-b 42 | 37 (W): eta. 43 | 38 (W): 3 44 | 39 (C): ❯ 45 | 46 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__terminal_pane__search_tests__grid_copy_multiline_not_whole_word.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/search_in_pane_tests.rs 3 | expression: "format!(\"{:?}\", terminal_pane.grid)" 4 | --- 5 | 00 (W): v0.1 6 | 01 (W): 4.0 v 7 | 02 (W): ia 🦀 8 | 03 (W): v1.5 9 | 04 (W): 3.0-b 10 | 05 (W): eta.3 11 | 06 (C): ❯ a## 12 | 07 (W): ##aaa 13 | 08 (W): aaaaa 14 | 09 (W): a#### 15 | 10 (W): --### 16 | 11 (W): #aaaa 17 | 12 (W): aaaaa 18 | 13 (W): aa### 19 | 14 (W): # ### 20 | 15 (W): # ### 21 | 16 (W): # aaa 22 | 17 (W): #### 23 | 18 (W): #### 24 | 19 (W): aaa 25 | 26 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__terminal_pane__search_tests__grid_copy_multiline_selected_narrow.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/search_in_pane_tests.rs 3 | expression: "format!(\"{:?}\", terminal_pane.grid)" 4 | --- 5 | 00 (W): a te 6 | 01 (W): llus 7 | 02 (W): in 8 | 03 (W): hac 9 | 04 (W): habi 10 | 05 (W): tass 11 | 06 (W): e. N 12 | 07 (W): unc 13 | 08 (W): scel 14 | 09 (W): eris 15 | 10 (W): que 16 | 11 (W): vive 17 | 12 (W): rra 18 | 13 (W): maur 19 | 14 (W): is i 20 | 15 (W): n __ 21 | 16 (W): ____ 22 | 17 (W): ____ 23 | 18 (W): ____ 24 | 19 (W): ____ 25 | 20 (W): ___. 26 | 21 (C): ⏎ 27 | 22 (C): zell 28 | 23 (W): ij o 29 | 24 (W): n  30 | 25 (W): mous 31 | 26 (W): e-su 32 | 27 (W): ppor 33 | 28 (W): t [? 34 | 29 (W): ] is 35 | 30 (W): 📦 36 | 31 (W): v0.1 37 | 32 (W): 4.0 38 | 33 (W): via 39 | 34 (W): 🦀 v 40 | 35 (W): 1.53 41 | 36 (W): .0-b 42 | 37 (W): eta. 43 | 38 (W): 3 44 | 39 (C): ❯ 45 | 46 | -------------------------------------------------------------------------------- /zellij-server/src/panes/unit/snapshots/zellij_server__panes__terminal_pane__search_tests__grid_copy_multiline_whole_word.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/panes/./unit/search_in_pane_tests.rs 3 | expression: "format!(\"{:?}\", terminal_pane.grid)" 4 | --- 5 | 00 (W): v0.1 6 | 01 (W): 4.0 v 7 | 02 (W): ia 🦀 8 | 03 (W): v1.5 9 | 04 (W): 3.0-b 10 | 05 (W): eta.3 11 | 06 (C): ❯ a:- 12 | 07 (W): -:aaa 13 | 08 (W): aaaaa 14 | 09 (W): a:--# 15 | 10 (W): ###-- 16 | 11 (W): :aaaa 17 | 12 (W): aaaaa 18 | 13 (W): aa:-- 19 | 14 (W): : ### 20 | 15 (W): # ### 21 | 16 (W): # aaa 22 | 17 (W): #### 23 | 18 (W): #### 24 | 19 (W): aaa 25 | 26 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__before_close_plugin_event.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | expression: "format!(\"{:#?}\", sent_instruction)" 4 | --- 5 | HighlightAndUnhighlightPanes( 6 | [ 7 | Terminal( 8 | 1, 9 | ), 10 | ], 11 | [ 12 | Plugin( 13 | 1, 14 | ), 15 | ], 16 | 1, 17 | ) 18 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__break_panes_to_tab_with_index_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 8317 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | BreakPanesToTabWithIndex { 8 | pane_ids: [ 9 | Terminal( 10 | 1, 11 | ), 12 | Plugin( 13 | 2, 14 | ), 15 | ], 16 | tab_index: 2, 17 | should_change_focus_to_new_tab: true, 18 | client_id: 1, 19 | }, 20 | ) 21 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__can_subscribe_to_hd_events.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 400 4 | expression: "format!(\"{:#?}\", plugin_bytes_event)" 5 | --- 6 | Some( 7 | ( 8 | 0, 9 | 1, 10 | "Rows: 20, Cols: 121, Received events: [FileSystemCreate([\"/host/test1\"])]\n\r", 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__clear_screen_for_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7482 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | ClearScreenForPaneId( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__clear_screen_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1387 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ClearScreen( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__close_focus_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2010 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | CloseFocusedPane( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__close_focused_tab_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2118 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | CloseTab( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__close_plugin_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 3789 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ClosePane( 8 | Plugin( 9 | 1, 10 | ), 11 | None, 12 | ), 13 | ) 14 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__close_tab_with_index_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 8121 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | CloseTabWithIndex( 8 | 2, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__close_terminal_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 3729 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ClosePane( 8 | Terminal( 9 | 1, 10 | ), 11 | None, 12 | ), 13 | ) 14 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__denied_permission_request_result.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | expression: "format!(\"{:#?}\", permissions)" 4 | --- 5 | Some( 6 | [], 7 | ) 8 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__detach_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2685 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | DetachSession( 8 | [ 9 | 1, 10 | ], 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__disconnect_other_clients_plugins_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 6131 4 | expression: "format!(\"{:#?}\", switch_session_event)" 5 | --- 6 | Some( 7 | DisconnectAllClientsExcept( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__edit_scrollback_for_pane_with_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7127 4 | expression: "format!(\"{:#?}\", rerun_command_pane_event)" 5 | --- 6 | Some( 7 | EditScrollbackForPaneWithId( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__edit_scrollback_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1063 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | EditScrollback( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__focus_next_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 847 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | FocusNextPane( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__focus_or_create_tab_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2388 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | GoToTabName( 8 | "my tab name", 9 | ( 10 | [], 11 | [], 12 | ), 13 | None, 14 | true, 15 | Some( 16 | 1, 17 | ), 18 | ), 19 | ) 20 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__focus_plugin_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 3909 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | FocusPaneWithId( 8 | Plugin( 9 | 1, 10 | ), 11 | false, 12 | 1, 13 | ), 14 | ) 15 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__focus_previous_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 901 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | FocusPreviousPane( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__focus_terminal_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 3849 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | FocusPaneWithId( 8 | Terminal( 9 | 1, 10 | ), 11 | false, 12 | 1, 13 | ), 14 | ) 15 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__go_to_next_tab_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 632 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | SwitchTabNext( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__go_to_previous_tab_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 687 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | SwitchTabPrev( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__go_to_tab.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 3306 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | GoToTab( 8 | 3, 9 | Some( 10 | 1, 11 | ), 12 | ), 13 | ) 14 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__go_to_tab_name_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2709 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | GoToTabName( 8 | "my tab name", 9 | ( 10 | [], 11 | [], 12 | ), 13 | None, 14 | false, 15 | Some( 16 | 1, 17 | ), 18 | ), 19 | ) 20 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__granted_permission_request_result.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 5505 4 | expression: "format!(\"{:#?}\", permissions)" 5 | --- 6 | Some( 7 | [ 8 | ReadApplicationState, 9 | ChangeApplicationState, 10 | OpenFiles, 11 | RunCommands, 12 | OpenTerminalsOrPlugins, 13 | WriteToStdin, 14 | WebAccess, 15 | ReadCliPipes, 16 | MessageAndLaunchOtherPlugins, 17 | Reconfigure, 18 | ], 19 | ) 20 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__hide_pane_with_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 6727 4 | expression: "format!(\"{:#?}\", suppress_pane_event)" 5 | --- 6 | Some( 7 | SuppressPane( 8 | Terminal( 9 | 1, 10 | ), 11 | 1, 12 | ), 13 | ) 14 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__hide_self_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 3306 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | SuppressPane( 8 | Plugin( 9 | 0, 10 | ), 11 | 1, 12 | ), 13 | ) 14 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__list_clients_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 8623 4 | expression: "format!(\"{:#?}\", list_clients_instruction)" 5 | --- 6 | ListClientsToPlugin( 7 | 0, 8 | 1, 9 | ) 10 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__load_new_plugin_from_hd.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 744 4 | expression: "format!(\"{:#?}\", plugin_bytes_event)" 5 | --- 6 | Some( 7 | ( 8 | 0, 9 | 1, 10 | "Rows: 20, Cols: 121, Received events: [InputReceived]\n\r", 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__load_new_plugin_with_plugin_alias.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 706 4 | expression: "format!(\"{:#?}\", plugin_bytes_event)" 5 | --- 6 | Some( 7 | ( 8 | 0, 9 | 1, 10 | "Rows: 20, Cols: 121, Received events: [InputReceived]\n\r", 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__move_focus_or_tab_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1009 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | MoveFocusLeftOrPreviousTab( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__move_focus_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 955 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | MoveFocusLeft( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__move_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1279 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | MovePane( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__move_pane_with_direction_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1333 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | MovePaneLeft( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__move_pane_with_pane_id_in_direction_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7411 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | MovePaneWithPaneIdInDirection( 8 | Terminal( 9 | 2, 10 | ), 11 | Left, 12 | ), 13 | ) 14 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__move_pane_with_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7340 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | MovePaneWithPaneId( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__new_tab_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1373 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | NewTab( 8 | None, 9 | None, 10 | None, 11 | [], 12 | None, 13 | ( 14 | [], 15 | [], 16 | ), 17 | true, 18 | 1, 19 | ), 20 | ) 21 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__next_swap_layout_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2280 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | NextSwapLayout( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__open_flie_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2820 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | SpawnTerminal( 8 | Some( 9 | OpenFile( 10 | "/path/to/my/file.rs", 11 | None, 12 | None, 13 | ), 14 | ), 15 | Some( 16 | false, 17 | ), 18 | Some( 19 | "Editing: /path/to/my/file.rs", 20 | ), 21 | ClientId( 22 | 1, 23 | ), 24 | ), 25 | ) 26 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__open_terminal_floating_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 4401 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | SpawnTerminal( 8 | Some( 9 | RunCommand( 10 | RunCommand { 11 | command: ".", 12 | args: [], 13 | cwd: Some( 14 | "/path/to/my/file.rs", 15 | ), 16 | hold_on_close: false, 17 | hold_on_start: false, 18 | originating_plugin: None, 19 | }, 20 | ), 21 | ), 22 | Some( 23 | true, 24 | ), 25 | None, 26 | None, 27 | false, 28 | ClientId( 29 | 1, 30 | ), 31 | ), 32 | ) 33 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__open_terminal_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 4323 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | SpawnTerminal( 8 | Some( 9 | RunCommand( 10 | RunCommand { 11 | command: ".", 12 | args: [], 13 | cwd: Some( 14 | "/path/to/my/file.rs", 15 | ), 16 | hold_on_close: false, 17 | hold_on_start: false, 18 | originating_plugin: None, 19 | }, 20 | ), 21 | ), 22 | Some( 23 | false, 24 | ), 25 | None, 26 | None, 27 | false, 28 | ClientId( 29 | 1, 30 | ), 31 | ), 32 | ) 33 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__page_scroll_down_in_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7908 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | PageScrollDownInPaneId( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__page_scroll_down_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1711 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | PageScrollDown( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__page_scroll_up_in_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7837 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | PageScrollUpInPaneId( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__page_scroll_up_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1657 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | PageScrollUp( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__pipe_message_to_plugin_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 5961 4 | expression: "format!(\"{:#?}\", plugin_bytes_event)" 5 | --- 6 | Some( 7 | ( 8 | 0, 9 | 1, 10 | "Payload from self: \"my_cool_payload\"\n\r", 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__pipe_output_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 5771 4 | expression: "format!(\"{:#?}\", plugin_bytes_events)" 5 | --- 6 | Some( 7 | CliPipeOutput( 8 | "pipe_output", 9 | "this_is_my_output", 10 | ), 11 | ) 12 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__plugin_workers.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 250 4 | expression: "format!(\"{:#?}\", plugin_bytes_event)" 5 | --- 6 | Some( 7 | ( 8 | 0, 9 | 1, 10 | "Payload from worker: \"gimme_back_my_payload, received 1 messages\"\n\r", 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__plugin_workers_persist_state.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 319 4 | expression: "format!(\"{:#?}\", plugin_bytes_event)" 5 | --- 6 | Some( 7 | ( 8 | 0, 9 | 1, 10 | "Payload from worker: \"gimme_back_my_payload, received 2 messages\"\n\r", 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__previous_swap_layout_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2226 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | PreviousSwapLayout( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__quit_zellij_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2631 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ClientExit( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__reconfigure_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 6605 4 | expression: "format!(\"{:#?}\", reconfigure_event)" 5 | --- 6 | Some( 7 | Reconfigure { 8 | client_id: 1, 9 | config: "\n keybinds {\n locked {\n bind \"a\" { NewTab; }\n }\n }\n ", 10 | write_config_to_disk: true, 11 | }, 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__rename_plugin_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 4029 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | RenamePane( 8 | Plugin( 9 | 1, 10 | ), 11 | [ 12 | 110, 13 | 101, 14 | 119, 15 | 32, 16 | 112, 17 | 108, 18 | 117, 19 | 103, 20 | 105, 21 | 110, 22 | 95, 23 | 112, 24 | 97, 25 | 110, 26 | 101, 27 | 95, 28 | 110, 29 | 97, 30 | 109, 31 | 101, 32 | ], 33 | ), 34 | ) 35 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__rename_tab_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 4089 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | RenameTab( 8 | 1, 9 | [ 10 | 110, 11 | 101, 12 | 119, 13 | 32, 14 | 116, 15 | 97, 16 | 98, 17 | 32, 18 | 110, 19 | 97, 20 | 109, 21 | 101, 22 | ], 23 | ), 24 | ) 25 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__rename_terminal_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 3969 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | RenamePane( 8 | Terminal( 9 | 1, 10 | ), 11 | [ 12 | 110, 13 | 101, 14 | 119, 15 | 32, 16 | 116, 17 | 101, 18 | 114, 19 | 109, 20 | 105, 21 | 110, 22 | 97, 23 | 108, 24 | 95, 25 | 112, 26 | 97, 27 | 110, 28 | 101, 29 | 95, 30 | 110, 31 | 97, 32 | 109, 33 | 101, 34 | ], 35 | ), 36 | ) 37 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__request_plugin_permissions.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 5414 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | [ 8 | ChangeApplicationState, 9 | ReadApplicationState, 10 | ReadApplicationState, 11 | ChangeApplicationState, 12 | OpenFiles, 13 | RunCommands, 14 | OpenTerminalsOrPlugins, 15 | WriteToStdin, 16 | WebAccess, 17 | ReadCliPipes, 18 | MessageAndLaunchOtherPlugins, 19 | Reconfigure, 20 | ], 21 | ) 22 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__rerun_command_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 6951 4 | expression: "format!(\"{:#?}\", rerun_command_pane_event)" 5 | --- 6 | Some( 7 | RerunCommandPane( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__resize_focused_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 742 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | Resize( 8 | 1, 9 | ResizeStrategy { 10 | resize: Increase, 11 | direction: None, 12 | invert_on_boundaries: true, 13 | }, 14 | ), 15 | ) 16 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__resize_focused_pane_with_direction_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 793 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | Resize( 8 | 1, 9 | ResizeStrategy { 10 | resize: Increase, 11 | direction: Some( 12 | Left, 13 | ), 14 | invert_on_boundaries: true, 15 | }, 16 | ), 17 | ) 18 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__resize_pane_with_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7056 4 | expression: "format!(\"{:#?}\", rerun_command_pane_event)" 5 | --- 6 | Some( 7 | ResizePaneWithId( 8 | ResizeStrategy { 9 | resize: Increase, 10 | direction: Some( 11 | Left, 12 | ), 13 | invert_on_boundaries: false, 14 | }, 15 | Terminal( 16 | 2, 17 | ), 18 | ), 19 | ) 20 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__run_command_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 5339 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | RunCommand( 8 | 0, 9 | 1, 10 | "ls", 11 | [ 12 | "-l", 13 | ], 14 | {}, 15 | ".", 16 | { 17 | "user_key_1": "user_value_1", 18 | }, 19 | ), 20 | ) 21 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__run_command_with_env_vars_and_cwd_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 5414 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | RunCommand( 8 | 0, 9 | 1, 10 | "ls", 11 | [ 12 | "-l", 13 | ], 14 | { 15 | "VAR1": "some_value", 16 | }, 17 | "/some/custom/folder", 18 | { 19 | "user_key_2": "user_value_2", 20 | }, 21 | ), 22 | ) 23 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__run_plugin_in_specific_cwd.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 6481 4 | expression: "format!(\"{:#?}\", std :: fs :: read_dir(plugin_initial_cwd).unwrap().collect ::\n < Vec < _ >> ())" 5 | --- 6 | [ 7 | Ok( 8 | DirEntry( 9 | "/tmp/.tmpvA1zie/custom_plugin_cwd/foo.txt", 10 | ), 11 | ), 12 | ] 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__scroll_down_in_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7624 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | ScrollDownInPaneId( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__scroll_down_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1495 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ScrollDown( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__scroll_to_bottom_in_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7766 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | ScrollToBottomInPaneId( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__scroll_to_bottom_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1603 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ScrollToBottom( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__scroll_to_top_in_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7695 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | ScrollToTopInPaneId( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__scroll_to_top_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1549 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ScrollToTop( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__scroll_up_in_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7553 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | ScrollUpInPaneId( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__scroll_up_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1441 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ScrollUp( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__send_configuration_to_plugins.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 4225 4 | expression: "format!(\"{:#?}\", go_to_tab_event)" 5 | --- 6 | Some( 7 | GoToTabName( 8 | "{\"fake_config_key_1\": \"fake_config_value_1\", \"fake_config_key_2\": \"fake_config_value_2\"}", 9 | ( 10 | [], 11 | [], 12 | ), 13 | None, 14 | false, 15 | Some( 16 | 1, 17 | ), 18 | ), 19 | ) 20 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__send_message_to_plugin_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 5856 4 | expression: "format!(\"{:#?}\", plugin_bytes_event)" 5 | --- 6 | Some( 7 | ( 8 | 0, 9 | 1, 10 | "Payload from self: \"my_cool_payload\"\n\r", 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__show_pane_with_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 6798 4 | expression: "format!(\"{:#?}\", focus_pane_event)" 5 | --- 6 | Some( 7 | FocusPaneWithId( 8 | Terminal( 9 | 1, 10 | ), 11 | true, 12 | 1, 13 | ), 14 | ) 15 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__show_self_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 3673 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | FocusPaneWithId( 8 | Plugin( 9 | 0, 10 | ), 11 | false, 12 | 1, 13 | ), 14 | ) 15 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__start_or_reload_plugin.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 3749 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | StartOrReloadPluginPane( 8 | RunPlugin( 9 | RunPlugin { 10 | _allow_exec_host_cmd: false, 11 | location: File( 12 | "/path/to/my/plugin.wasm", 13 | ), 14 | configuration: PluginUserConfiguration( 15 | {}, 16 | ), 17 | initial_cwd: None, 18 | }, 19 | ), 20 | None, 21 | ), 22 | ) 23 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__switch_session_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 6236 4 | expression: "format!(\"{:#?}\", switch_session_event)" 5 | --- 6 | Some( 7 | SwitchSession( 8 | ConnectToSession { 9 | name: Some( 10 | "my_new_session", 11 | ), 12 | tab_position: None, 13 | pane_id: None, 14 | layout: None, 15 | cwd: None, 16 | }, 17 | 1, 18 | ), 19 | ) 20 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__switch_session_with_layout_and_cwd_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 6398 4 | expression: "format!(\"{:#?}\", switch_session_event)" 5 | --- 6 | Some( 7 | SwitchSession( 8 | ConnectToSession { 9 | name: Some( 10 | "my_other_new_session_with_cwd", 11 | ), 12 | tab_position: None, 13 | pane_id: None, 14 | layout: Some( 15 | BuiltIn( 16 | "compact", 17 | ), 18 | ), 19 | cwd: Some( 20 | "/tmp", 21 | ), 22 | }, 23 | 1, 24 | ), 25 | ) 26 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__switch_session_with_layout_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 6317 4 | expression: "format!(\"{:#?}\", switch_session_event)" 5 | --- 6 | Some( 7 | SwitchSession( 8 | ConnectToSession { 9 | name: Some( 10 | "my_other_new_session", 11 | ), 12 | tab_position: None, 13 | pane_id: None, 14 | layout: Some( 15 | BuiltIn( 16 | "compact", 17 | ), 18 | ), 19 | cwd: None, 20 | }, 21 | 1, 22 | ), 23 | ) 24 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__switch_to_mode_plugin_command_permission_denied.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 903 4 | expression: "format!(\"{:#?}\", switch_to_mode_event)" 5 | --- 6 | None 7 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__switch_to_tab_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 3252 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | GoToTab( 8 | 1, 9 | Some( 10 | 1, 11 | ), 12 | ), 13 | ) 14 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__toggle_active_tab_sync_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2064 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ToggleActiveSyncTab( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__toggle_focus_fullscreen_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1765 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ToggleActiveTerminalFullscreen( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__toggle_pane_embed_or_eject_for_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 8050 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | TogglePaneEmbedOrEjectForPaneId( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__toggle_pane_embed_or_eject_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1902 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | TogglePaneEmbedOrFloating( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__toggle_pane_frames_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1848 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | TogglePaneFrames, 8 | ) 9 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__toggle_pane_id_fullscreen_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7979 4 | expression: "format!(\"{:#?}\", screen_instruction)" 5 | --- 6 | Some( 7 | TogglePaneIdFullscreen( 8 | Terminal( 9 | 2, 10 | ), 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__toggle_tab_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1225 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | ToggleTab( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__undo_rename_pane_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1956 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | UndoRenamePane( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__undo_rename_tab_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2172 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | UndoRenameTab( 8 | 1, 9 | ), 10 | ) 11 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__web_request_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 5494 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | WebRequest( 8 | 0, 9 | 1, 10 | "https://example.com/foo?arg1=val1&arg2=val2", 11 | Post, 12 | { 13 | "header1": "value1", 14 | "header2": "value2", 15 | }, 16 | [ 17 | 1, 18 | 2, 19 | 3, 20 | ], 21 | { 22 | "user_key_1": "user_value1", 23 | "user_key_2": "user_value2", 24 | }, 25 | ), 26 | ) 27 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__write_chars_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 2047 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | WriteCharacter( 8 | None, 9 | [ 10 | 102, 11 | 111, 12 | 111, 13 | ], 14 | false, 15 | 1, 16 | ), 17 | ) 18 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__write_chars_to_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7269 4 | expression: "format!(\"{:#?}\", rerun_command_pane_event)" 5 | --- 6 | Some( 7 | WriteToPaneId( 8 | [ 9 | 102, 10 | 111, 11 | 111, 12 | 10, 13 | ], 14 | Terminal( 15 | 2, 16 | ), 17 | ), 18 | ) 19 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__write_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 1976 4 | expression: "format!(\"{:#?}\", new_tab_event)" 5 | --- 6 | Some( 7 | WriteCharacter( 8 | None, 9 | [ 10 | 102, 11 | 111, 12 | 111, 13 | ], 14 | false, 15 | 1, 16 | ), 17 | ) 18 | -------------------------------------------------------------------------------- /zellij-server/src/plugins/unit/snapshots/zellij_server__plugins__plugin_tests__write_to_pane_id_plugin_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/plugins/./unit/plugin_tests.rs 3 | assertion_line: 7198 4 | expression: "format!(\"{:#?}\", rerun_command_pane_event)" 5 | --- 6 | Some( 7 | WriteToPaneId( 8 | [ 9 | 102, 10 | 111, 11 | 111, 12 | ], 13 | Terminal( 14 | 2, 15 | ), 16 | ), 17 | ) 18 | -------------------------------------------------------------------------------- /zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__move_floating_pane_focus_sends_tty_csi_event.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/tab/./unit/tab_integration_tests.rs 3 | assertion_line: 2657 4 | expression: "format!(\"{:?}\", * tty_stdin_bytes.lock().unwrap())" 5 | --- 6 | {2: [27, 91, 73, 27, 91, 79, 27, 91, 73], 3: [27, 91, 79]} 7 | -------------------------------------------------------------------------------- /zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__move_pane_focus_sends_tty_csi_event.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/tab/./unit/tab_integration_tests.rs 3 | assertion_line: 2614 4 | expression: "format!(\"{:?}\", * tty_stdin_bytes.lock().unwrap())" 5 | --- 6 | {1: [27, 91, 73, 27, 91, 79, 27, 91, 73], 2: [27, 91, 79]} 7 | -------------------------------------------------------------------------------- /zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__move_pane_focus_with_sends_tty_csi_event.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/tab/./unit/tab_integration_tests.rs 3 | assertion_line: 2615 4 | expression: "format!(\"{:?}\", * tty_stdin_bytes.lock().unwrap())" 5 | --- 6 | {2: [27, 91, 79], 1: [27, 91, 73, 27, 91, 79, 27, 91, 73]} 7 | -------------------------------------------------------------------------------- /zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__save_cursor_position_across_resizes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/tab/./unit/tab_integration_tests.rs 3 | assertion_line: 1952 4 | expression: snapshot 5 | --- 6 | 00 (C): ┌ Pane #1 ─────────────────────────────────────────────────────────────────────────── SCROLL: 0/4 ┐ 7 | 01 (C): │Let's save the cursor position here this overwrote me!tten │ 8 | 02 (C): └──────────────────────────────────────────────────────────────────────────────────────────────────┘ 9 | 03 (C): 10 | 04 (C): 11 | 12 | -------------------------------------------------------------------------------- /zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__toggle_floating_panes_off_sends_tty_csi_event.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/tab/./unit/tab_integration_tests.rs 3 | assertion_line: 2744 4 | expression: "format!(\"{:?}\", * tty_stdin_bytes.lock().unwrap())" 5 | --- 6 | {1: [27, 91, 73], 3: [27, 91, 79]} 7 | -------------------------------------------------------------------------------- /zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__toggle_floating_panes_on_sends_tty_csi_event.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/tab/./unit/tab_integration_tests.rs 3 | assertion_line: 2701 4 | expression: "format!(\"{:?}\", * tty_stdin_bytes.lock().unwrap())" 5 | --- 6 | {1: [27, 91, 79], 3: [27, 91, 73]} 7 | -------------------------------------------------------------------------------- /zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__toggle_floating_panes_sends_tty_csi_event.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/tab/./unit/tab_integration_tests.rs 3 | assertion_line: 2701 4 | expression: "format!(\"{:?}\", * tty_stdin_bytes.lock().unwrap())" 5 | --- 6 | {1: [27, 91, 79], 3: [27, 91, 73]} 7 | -------------------------------------------------------------------------------- /zellij-server/src/ui/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod boundaries; 2 | pub mod components; 3 | pub mod loading_indication; 4 | pub mod overlay; 5 | pub mod pane_boundaries_frame; 6 | pub mod pane_contents_and_ui; 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/fixtures/layout-with-three-panes.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | pane 3 | pane 4 | pane 5 | } 6 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__screen_can_break_floating_pane_to_a_new_tab-5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2851 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 4 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__screen_can_break_floating_plugin_pane_to_a_new_tab-8.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2988 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 7 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__screen_can_break_pane_to_a_new_tab-5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2741 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 4 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__screen_can_break_plugin_pane_to_a_new_tab-6.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2916 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 5 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_left-5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 3081 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 4 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__screen_can_move_pane_to_a_new_tab_right-5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 3034 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 4 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__screen_can_suppress_pane-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2854 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__screen_cannot_break_last_selectable_pane_to_a_new_tab-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2775 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 1 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_change_floating_pane_coordinates_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 3727 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_close_pane_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2225 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_close_pane_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1850 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_close_tab_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2461 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_close_tab_action-6.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2118 4 | expression: "format!(\"{}\", snapshot)" 5 | --- 6 | 00 (C): 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_close_tab_action-7.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2120 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 6 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_dump_screen_action.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1074 4 | expression: "format!(\"{:?}\", * mock_screen.os_input.fake_filesystem.lock().unwrap())" 5 | --- 6 | {"/tmp/foo": "fill pane up with something"} 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_edit_action_with_default_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2389 4 | expression: "format!(\"{:?}\", * received_pty_instructions.lock().unwrap())" 5 | --- 6 | [SpawnTerminal(Some(OpenFile(OpenFilePayload { path: "/file/to/edit", line_number: None, cwd: Some("."), originating_plugin: None })), Some(false), Some("Editing: /file/to/edit"), None, false, ClientId(10)), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit] 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_edit_action_with_line_number.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2427 4 | expression: "format!(\"{:?}\", * received_pty_instructions.lock().unwrap())" 5 | --- 6 | [SpawnTerminal(Some(OpenFile(OpenFilePayload { path: "/file/to/edit", line_number: Some(100), cwd: Some("."), originating_plugin: None })), Some(false), Some("Editing: /file/to/edit"), None, false, ClientId(10)), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit] 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_edit_action_with_split_direction.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2465 4 | expression: "format!(\"{:?}\", * received_pty_instructions.lock().unwrap())" 5 | --- 6 | [SpawnTerminalHorizontally(Some(OpenFile(OpenFilePayload { path: "/file/to/edit", line_number: None, cwd: Some("."), originating_plugin: None })), Some("Editing: /file/to/edit"), 10), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit] 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_focus_next_pane_action-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1042 4 | expression: "format!(\"{:?}\", cursor_coordinates)" 5 | --- 6 | Some((41, 1)) 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_focus_next_pane_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1044 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_focus_next_pane_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 937 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_focus_next_pane_action.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 939 4 | expression: "format!(\"{:?}\", cursor_coordinates)" 5 | --- 6 | Some((1, 1)) 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_focus_previous_pane_action-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1080 4 | expression: "format!(\"{:?}\", cursor_coordinates)" 5 | --- 6 | Some((41, 1)) 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_focus_previous_pane_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1082 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_focus_previous_pane_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 970 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_focus_previous_pane_action.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 968 4 | expression: "format!(\"{:?}\", cursor_coordinates)" 5 | --- 6 | Some((1, 1)) 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_goto_tab_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2425 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_goto_tab_action-6.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2037 4 | expression: "format!(\"{}\", snapshot)" 5 | --- 6 | 00 (C): 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_goto_tab_action-7.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2040 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 6 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_half_page_scroll_down_action-5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1704 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 4 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_half_page_scroll_down_action-6.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1434 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 5 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_half_page_scroll_up_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1641 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_half_page_scroll_up_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1389 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_move_focus_or_tab_pane_action-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1160 4 | expression: "format!(\"{:?}\", cursor_coordinates)" 5 | --- 6 | Some((41, 1)) 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_move_focus_or_tab_pane_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1162 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_move_focus_or_tab_pane_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1036 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_move_focus_or_tab_pane_action.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1030 4 | expression: "format!(\"{:?}\", cursor_coordinates)" 5 | --- 6 | Some((1, 1)) 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_move_focus_pane_action-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1120 4 | expression: "format!(\"{:?}\", cursor_coordinates)" 5 | --- 6 | Some((41, 1)) 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_move_focus_pane_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1122 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_move_focus_pane_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1003 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_move_focus_pane_action.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 999 4 | expression: "format!(\"{:?}\", cursor_coordinates)" 5 | --- 6 | Some((1, 1)) 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_move_pane_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1196 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_move_pane_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1068 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_pane_action_with_command_and_cwd.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2339 4 | expression: "format!(\"{:?}\", new_pane_instruction)" 5 | --- 6 | Some(SpawnTerminalVertically(Some(RunCommand(RunCommand { command: "htop", args: [], cwd: Some("/some/folder"), hold_on_close: true, hold_on_start: false, originating_plugin: None })), None, 10)) 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_pane_action_with_command_cwd_and_args.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1632 4 | expression: "format!(\"{:?}\", * received_pty_instructions.lock().unwrap())" 5 | --- 6 | [SpawnTerminalVertically(Some(RunCommand(RunCommand { command: "htop", args: ["-h", "--something", "arg"], cwd: Some("/some/folder") })), 10), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit] 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_pane_action_with_default_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2222 4 | expression: "format!(\"{:?}\", * received_pty_instructions.lock().unwrap())" 5 | --- 6 | [SpawnTerminal(None, Some(false), None, None, false, ClientId(10)), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit] 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_pane_action_with_floating_pane_and_coordinates.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2371 4 | expression: "format!(\"{:?}\", * received_pty_instructions.lock().unwrap())" 5 | --- 6 | [SpawnTerminal(Some(RunCommand(RunCommand { command: "htop", args: [], cwd: Some("/some/folder"), hold_on_close: true, hold_on_start: false, originating_plugin: None })), Some(true), None, Some(FloatingPaneCoordinates { x: Some(Fixed(10)), y: None, width: Some(Percent(20)), height: None, pinned: None }), false, ClientId(10)), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit] 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_pane_action_with_split_direction.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1869 4 | expression: "format!(\"{:?}\", * received_pty_instructions.lock().unwrap())" 5 | --- 6 | [SpawnTerminalVertically(None, None, 10), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit] 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_next_tab_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2348 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_next_tab_action-6.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1969 4 | expression: "format!(\"{}\", snapshot)" 5 | --- 6 | 00 (C): 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_next_tab_action-7.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2012 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 6 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_page_scroll_down_action-5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1595 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 4 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_page_scroll_down_action-6.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1351 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 5 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_page_scroll_up_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1532 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_page_scroll_up_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1306 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_previous_tab_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2389 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_previous_tab_action-6.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2003 4 | expression: "format!(\"{}\", snapshot)" 5 | --- 6 | 00 (C): 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_previous_tab_action-7.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2048 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 6 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_query_tab_names_action.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2713 4 | expression: "format!(\"{:#?}\", log_tab_names_action)" 5 | --- 6 | Some( 7 | Log( 8 | [ 9 | "Tab #1", 10 | "Tab #2", 11 | ], 12 | 10, 13 | ), 14 | ) 15 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_pane_action-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1835 4 | expression: "format!(\"{}\", snapshot)" 5 | --- 6 | 00 (C): 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_pane_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1882 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_resize_action_to_screen-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 924 4 | expression: "format!(\"{}\", snapshot)" 5 | --- 6 | 00 (C): 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 10 (C): 17 | 11 (C): 18 | 12 (C): 19 | 13 (C): 20 | 14 (C): 21 | 15 (C): 22 | 16 (C): 23 | 17 (C): 24 | 18 (C): 25 | 19 (C): 26 | 27 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_resize_action_to_screen.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 904 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 0 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_scroll_down_action-8.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1409 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 7 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_scroll_down_action-9.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1222 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 8 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_scroll_to_bottom_action-7.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1486 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 6 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_scroll_to_bottom_action-8.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1268 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 7 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_scroll_to_top_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1567 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_scroll_up_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1329 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_scroll_up_action-5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1175 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 4 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_stack_panes_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 3689 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_switch_mode_action.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2521 4 | expression: "format!(\"{:?}\", switch_mode_action)" 5 | --- 6 | Some(ChangeModeForAllClients(Locked)) 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_floating_panes-5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2188 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 4 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_floating_panes-6.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1818 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 5 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_full_screen_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1741 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_full_screen_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1466 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_pane_embed_or_float-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2133 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_pane_embed_or_float-5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1778 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 4 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_pane_frames_action-3.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1778 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 2 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_pane_frames_action-4.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1498 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 3 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_pane_action-2.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 1870 4 | expression: "format!(\"{}\", snapshot)" 5 | --- 6 | 00 (C): 7 | 01 (C): 8 | 02 (C): 9 | 03 (C): 10 | 04 (C): 11 | 05 (C): 12 | 06 (C): 13 | 07 (C): 14 | 08 (C): 15 | 09 (C): 16 | 17 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_pane_action-5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2264 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 4 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_pane_action-6.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | assertion_line: 2260 4 | expression: "format!(\"{}\", snapshot_count)" 5 | --- 6 | 5 7 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_write_action_to_screen.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())" 4 | --- 5 | [StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ApplyCachedResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([102, 111, 111], 0), ApplyCachedResizes, Exit] 6 | -------------------------------------------------------------------------------- /zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_write_chars_action_to_screen.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-server/src/./unit/screen_tests.rs 3 | expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())" 4 | --- 5 | [StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ApplyCachedResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([105, 110, 112, 117, 116, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 99, 108, 105], 0), ApplyCachedResizes, Exit] 6 | -------------------------------------------------------------------------------- /zellij-tile-utils/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "zellij-tile-utils" 3 | version = "0.43.0" 4 | authors = ["denis "] 5 | edition = "2021" 6 | description = "A utility library for Zellij plugins" 7 | license = "MIT" 8 | 9 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 10 | 11 | [dependencies] 12 | ansi_term = { workspace = true } 13 | -------------------------------------------------------------------------------- /zellij-tile-utils/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../LICENSE.md -------------------------------------------------------------------------------- /zellij-tile/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "zellij-tile" 3 | version = "0.43.0" 4 | authors = ["Brooks J Rady "] 5 | edition = "2021" 6 | description = "A small client-side library for writing Zellij plugins" 7 | license = "MIT" 8 | 9 | [dependencies] 10 | clap = { workspace = true } 11 | prost = { workspace = true } 12 | serde = { workspace = true } 13 | serde_json = { workspace = true } 14 | strum = { workspace = true } 15 | strum_macros = { workspace = true } 16 | zellij-utils = { workspace = true } 17 | -------------------------------------------------------------------------------- /zellij-tile/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../LICENSE.md -------------------------------------------------------------------------------- /zellij-tile/src/prelude.rs: -------------------------------------------------------------------------------- 1 | pub use crate::shim::*; 2 | pub use crate::*; 3 | pub use zellij_utils::consts::VERSION; 4 | pub use zellij_utils::data::*; 5 | pub use zellij_utils::errors::prelude::*; 6 | pub use zellij_utils::input::actions; 7 | -------------------------------------------------------------------------------- /zellij-tile/src/ui_components/mod.rs: -------------------------------------------------------------------------------- 1 | mod nested_list; 2 | mod ribbon; 3 | mod table; 4 | mod text; 5 | 6 | pub use prost::{self, *}; 7 | pub use zellij_utils::plugin_api; 8 | 9 | pub use nested_list::*; 10 | pub use ribbon::*; 11 | pub use table::*; 12 | pub use text::*; 13 | -------------------------------------------------------------------------------- /zellij-utils/assets/README.md: -------------------------------------------------------------------------------- 1 | # Assets for the Utils Crate 2 | 3 | Here reside assets, that are especially needed for 4 | setup eg. a default configuration file. 5 | -------------------------------------------------------------------------------- /zellij-utils/assets/compact-bar.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/compact-bar.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/completions/README.md: -------------------------------------------------------------------------------- 1 | Extra completion files that get appended to the 2 | clap output, in order to support dynamic commands. 3 | -------------------------------------------------------------------------------- /zellij-utils/assets/completions/comp.bash: -------------------------------------------------------------------------------- 1 | function zr () { zellij run --name "$*" -- bash -ic "$*";} 2 | function zrf () { zellij run --name "$*" --floating -- bash -ic "$*";} 3 | function zri () { zellij run --name "$*" --in-place -- bash -ic "$*";} 4 | function ze () { zellij edit "$*";} 5 | function zef () { zellij edit --floating "$*";} 6 | function zei () { zellij edit --in-place "$*";} 7 | function zpipe () { 8 | if [ -z "$1" ]; then 9 | zellij pipe; 10 | else 11 | zellij pipe -p $1; 12 | fi 13 | } -------------------------------------------------------------------------------- /zellij-utils/assets/completions/comp.zsh: -------------------------------------------------------------------------------- 1 | function zr () { zellij run --name "$*" -- zsh -ic "$*";} 2 | function zrf () { zellij run --name "$*" --floating -- zsh -ic "$*";} 3 | function zri () { zellij run --name "$*" --in-place -- zsh -ic "$*";} 4 | function ze () { zellij edit "$*";} 5 | function zef () { zellij edit --floating "$*";} 6 | function zei () { zellij edit --in-place "$*";} 7 | function zpipe () { 8 | if [ -z "$1" ]; then 9 | zellij pipe; 10 | else 11 | zellij pipe -p $1; 12 | fi 13 | } -------------------------------------------------------------------------------- /zellij-utils/assets/layouts/classic.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | pane size=1 borderless=true { 3 | plugin location="tab-bar" { 4 | hide_swap_layout_indication true 5 | } 6 | } 7 | pane 8 | pane size=2 borderless=true { 9 | plugin location="status-bar" { 10 | classic true 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /zellij-utils/assets/layouts/compact.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | pane 3 | pane size=1 borderless=true { 4 | plugin location="compact-bar" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /zellij-utils/assets/layouts/default.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | pane size=1 borderless=true { 3 | plugin location="tab-bar" 4 | } 5 | pane 6 | pane size=1 borderless=true { 7 | plugin location="status-bar" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /zellij-utils/assets/layouts/disable-status-bar.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | pane size=1 borderless=true { 3 | plugin location="tab-bar" 4 | } 5 | pane 6 | } 7 | -------------------------------------------------------------------------------- /zellij-utils/assets/layouts/no-plugins.kdl: -------------------------------------------------------------------------------- 1 | layout 2 | -------------------------------------------------------------------------------- /zellij-utils/assets/layouts/strider.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | pane size=1 borderless=true { 3 | plugin location="tab-bar" 4 | } 5 | pane split_direction="Vertical" { 6 | pane size="20%" { 7 | plugin location="strider" 8 | } 9 | pane 10 | } 11 | pane size=2 borderless=true { 12 | plugin location="status-bar" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /zellij-utils/assets/layouts/welcome.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | pane borderless=true { 3 | plugin location="welcome-screen" 4 | } 5 | } 6 | session_serialization false // this will apply only to the initial welcome screen layout, and is intended to prevent lots of garbage sessions left around 7 | -------------------------------------------------------------------------------- /zellij-utils/assets/plugins/about.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/plugins/about.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/plugins/compact-bar.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/plugins/compact-bar.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/plugins/configuration.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/plugins/configuration.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/plugins/fixture-plugin-for-tests.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/plugins/fixture-plugin-for-tests.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/plugins/multiple-select.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/plugins/multiple-select.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/plugins/plugin-manager.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/plugins/plugin-manager.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/plugins/session-manager.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/plugins/session-manager.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/plugins/status-bar.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/plugins/status-bar.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/plugins/strider.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/plugins/strider.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/plugins/tab-bar.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/plugins/tab-bar.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/prost/api.command.rs: -------------------------------------------------------------------------------- 1 | #[allow(clippy::derive_partial_eq_without_eq)] 2 | #[derive(Clone, PartialEq, ::prost::Message)] 3 | pub struct Command { 4 | #[prost(string, tag="1")] 5 | pub path: ::prost::alloc::string::String, 6 | #[prost(string, repeated, tag="2")] 7 | pub args: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, 8 | #[prost(string, optional, tag="3")] 9 | pub cwd: ::core::option::Option<::prost::alloc::string::String>, 10 | } 11 | -------------------------------------------------------------------------------- /zellij-utils/assets/prost/api.file.rs: -------------------------------------------------------------------------------- 1 | #[allow(clippy::derive_partial_eq_without_eq)] 2 | #[derive(Clone, PartialEq, ::prost::Message)] 3 | pub struct File { 4 | #[prost(string, tag="1")] 5 | pub path: ::prost::alloc::string::String, 6 | #[prost(int32, optional, tag="2")] 7 | pub line_number: ::core::option::Option, 8 | #[prost(string, optional, tag="3")] 9 | pub cwd: ::core::option::Option<::prost::alloc::string::String>, 10 | } 11 | -------------------------------------------------------------------------------- /zellij-utils/assets/prost/api.message.rs: -------------------------------------------------------------------------------- 1 | #[allow(clippy::derive_partial_eq_without_eq)] 2 | #[derive(Clone, PartialEq, ::prost::Message)] 3 | pub struct Message { 4 | #[prost(string, tag="1")] 5 | pub name: ::prost::alloc::string::String, 6 | #[prost(string, tag="2")] 7 | pub payload: ::prost::alloc::string::String, 8 | #[prost(string, optional, tag="3")] 9 | pub worker_name: ::core::option::Option<::prost::alloc::string::String>, 10 | } 11 | -------------------------------------------------------------------------------- /zellij-utils/assets/prost/api.plugin_ids.rs: -------------------------------------------------------------------------------- 1 | #[allow(clippy::derive_partial_eq_without_eq)] 2 | #[derive(Clone, PartialEq, ::prost::Message)] 3 | pub struct PluginIds { 4 | #[prost(int32, tag="1")] 5 | pub plugin_id: i32, 6 | #[prost(int32, tag="2")] 7 | pub zellij_pid: i32, 8 | #[prost(string, tag="3")] 9 | pub initial_cwd: ::prost::alloc::string::String, 10 | #[prost(uint32, tag="4")] 11 | pub client_id: u32, 12 | } 13 | #[allow(clippy::derive_partial_eq_without_eq)] 14 | #[derive(Clone, PartialEq, ::prost::Message)] 15 | pub struct ZellijVersion { 16 | #[prost(string, tag="1")] 17 | pub version: ::prost::alloc::string::String, 18 | } 19 | -------------------------------------------------------------------------------- /zellij-utils/assets/shell/auto-start.bash: -------------------------------------------------------------------------------- 1 | if [[ -z "$ZELLIJ" ]]; then 2 | if [[ "$ZELLIJ_AUTO_ATTACH" == "true" ]]; then 3 | zellij attach -c 4 | else 5 | zellij 6 | fi 7 | 8 | if [[ "$ZELLIJ_AUTO_EXIT" == "true" ]]; then 9 | exit 10 | fi 11 | fi 12 | -------------------------------------------------------------------------------- /zellij-utils/assets/shell/auto-start.fish: -------------------------------------------------------------------------------- 1 | # The following snippet is meant to be used like this in your fish config: 2 | # 3 | # if status is-interactive 4 | # # Configure auto-attach/exit to your likings (default is off). 5 | # # set ZELLIJ_AUTO_ATTACH true 6 | # # set ZELLIJ_AUTO_EXIT true 7 | # eval (zellij setup --generate-auto-start fish | string collect) 8 | # end 9 | if not set -q ZELLIJ 10 | if test "$ZELLIJ_AUTO_ATTACH" = "true" 11 | zellij attach -c 12 | else 13 | zellij 14 | end 15 | 16 | if test "$ZELLIJ_AUTO_EXIT" = "true" 17 | kill $fish_pid 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /zellij-utils/assets/shell/auto-start.zsh: -------------------------------------------------------------------------------- 1 | if [[ -z "$ZELLIJ" ]]; then 2 | if [[ "$ZELLIJ_AUTO_ATTACH" == "true" ]]; then 3 | zellij attach -c 4 | else 5 | zellij 6 | fi 7 | 8 | if [[ "$ZELLIJ_AUTO_EXIT" == "true" ]]; then 9 | exit 10 | fi 11 | fi 12 | -------------------------------------------------------------------------------- /zellij-utils/assets/status-bar.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/status-bar.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/strider.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/strider.wasm -------------------------------------------------------------------------------- /zellij-utils/assets/tab-bar.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zellij-org/zellij/226f5dc854e26ddfa4dd087f6e4cb99b0230da74/zellij-utils/assets/tab-bar.wasm -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/fixtures/themes/dracula.kdl: -------------------------------------------------------------------------------- 1 | // Dracula Theme 2 | 3 | themes { 4 | dracula { 5 | // From https://github.com/dracula/zellij 6 | bg 40 42 54 7 | red 255 85 85 8 | green 80 250 123 9 | yellow 241 250 140 10 | blue 98 114 164 11 | magenta 255 121 198 12 | orange 255 184 108 13 | fg 248 248 242 14 | cyan 139 233 253 15 | black 0 0 0 16 | white 255 255 255 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/fixtures/themes/nord.kdl: -------------------------------------------------------------------------------- 1 | // Nord theme 2 | 3 | themes { 4 | nord { 5 | fg 216 222 233 //#D8DEE9 6 | bg 46 52 64 //#2E3440 7 | black 59 66 82 //#3B4252 8 | red 191 97 106 //#BF616A 9 | green 163 190 140 //#A3BE8C 10 | yellow 235203139 //#EBCB8B 11 | blue 129 161 193 //#81A1C1 12 | magenta 180 142 173 //#B48EAD 13 | cyan 136 192 208 //#88C0D0 14 | white 229 233 240 //#E5E9F0 15 | orange 208 135 112 //#D08770 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__keybinds__keybinds_test__error_received_on_unknown_input_mode.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/keybinds_test.rs 3 | assertion_line: 529 4 | expression: "format!(\"{:?}\", config_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Invalid mode: 'i_do_not_exist'", src: None, offset: Some(32), len: Some(14), help_message: None }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__keybinds__keybinds_test__error_received_on_unknown_key_instruction.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/keybinds_test.rs 3 | assertion_line: 543 4 | expression: "format!(\"{:?}\", config_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Unknown keybind instruction: 'i_am_not_bind_or_unbind'", src: None, offset: Some(55), len: Some(23), help_message: None }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__error_on_more_than_one_focused_tab.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/layout_test.rs 3 | assertion_line: 1015 4 | expression: "format!(\"{:?}\", layout_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Only one tab can be focused", src: Some(NamedSource { name: "layout_file_name", source: ""), offset: Some(0), len: Some(98), help_message: Some("For more information, please see our layout guide: https://zellij.dev/documentation/creating-a-layout.html") }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__error_on_multiple_layout_nodes_in_file.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/layout_test.rs 3 | assertion_line: 901 4 | expression: "format!(\"{:?}\", layout_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Only one layout node per file allowed", src: Some(NamedSource { name: "layout_file_name", source: ""), offset: Some(0), len: Some(31), help_message: Some("For more information, please see our layout guide: https://zellij.dev/documentation/creating-a-layout.html") }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__error_on_pane_templates_without_a_name.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/layout_test.rs 3 | assertion_line: 985 4 | expression: "format!(\"{:?}\", layout_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Pane templates must have a name", src: Some(NamedSource { name: "layout_file_name", source: ""), offset: Some(30), len: Some(96), help_message: Some("For more information, please see our layout guide: https://zellij.dev/documentation/creating-a-layout.html") }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__error_on_tab_templates_without_a_name.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/layout_test.rs 3 | assertion_line: 1002 4 | expression: "format!(\"{:?}\", layout_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Tab templates must have a name", src: Some(NamedSource { name: "layout_file_name", source: ""), offset: Some(30), len: Some(95), help_message: Some("For more information, please see our layout guide: https://zellij.dev/documentation/creating-a-layout.html") }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__error_on_unknown_layout_node.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/layout_test.rs 3 | assertion_line: 916 4 | expression: "format!(\"{:?}\", layout_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Unknown layout node: 'i_am_not_a_proper_node'", src: Some(NamedSource { name: "layout_file_name", source: ""), offset: Some(47), len: Some(22), help_message: Some("For more information, please see our layout guide: https://zellij.dev/documentation/creating-a-layout.html") }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__error_on_unknown_layout_pane_property.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/layout_test.rs 3 | assertion_line: 929 4 | expression: "format!(\"{:?}\", layout_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Unknown pane property: spit_size", src: Some(NamedSource { name: "layout_file_name", source: ""), offset: Some(35), len: Some(11), help_message: Some("For more information, please see our layout guide: https://zellij.dev/documentation/creating-a-layout.html") }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__error_on_unknown_layout_pane_template_property.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/layout_test.rs 3 | assertion_line: 942 4 | expression: "format!(\"{:?}\", layout_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Unknown pane property: spit_size", src: Some(NamedSource { name: "layout_file_name", source: ""), offset: Some(68), len: Some(11), help_message: Some("For more information, please see our layout guide: https://zellij.dev/documentation/creating-a-layout.html") }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__error_on_unknown_layout_tab_property.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/layout_test.rs 3 | assertion_line: 955 4 | expression: "format!(\"{:?}\", layout_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Invalid tab property 'spit_size'", src: Some(NamedSource { name: "layout_file_name", source: ""), offset: Some(30), len: Some(15), help_message: Some("For more information, please see our layout guide: https://zellij.dev/documentation/creating-a-layout.html") }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__error_on_unknown_layout_tab_template_property.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/input/./unit/layout_test.rs 3 | assertion_line: 968 4 | expression: "format!(\"{:?}\", layout_error)" 5 | --- 6 | KdlError(KdlError { error_message: "Invalid tab property 'spit_size'", src: Some(NamedSource { name: "layout_file_name", source: ""), offset: Some(30), len: Some(48), help_message: Some("For more information, please see our layout guide: https://zellij.dev/documentation/creating-a-layout.html") }) 7 | -------------------------------------------------------------------------------- /zellij-utils/src/input/unit/theme_test.rs: -------------------------------------------------------------------------------- 1 | use super::super::theme::*; 2 | use insta::assert_snapshot; 3 | use std::path::{Path, PathBuf}; 4 | 5 | fn theme_test_dir(theme: String) -> PathBuf { 6 | let root = Path::new(env!("CARGO_MANIFEST_DIR")); 7 | let theme_dir = root.join("src/input/unit/fixtures/themes"); 8 | theme_dir.join(theme) 9 | } 10 | 11 | #[test] 12 | fn dracula_theme_from_file() { 13 | let path = theme_test_dir("dracula.kdl".into()); 14 | let theme = Themes::from_path(path).unwrap(); 15 | assert_snapshot!(format!("{:#?}", theme)); 16 | } 17 | 18 | #[test] 19 | fn no_theme_is_err() { 20 | let path = theme_test_dir("nonexistent.kdl".into()); 21 | let theme = Themes::from_path(path); 22 | assert!(theme.is_err()); 23 | } 24 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__config_options_to_string.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 4182 4 | expression: fake_document.to_string() 5 | --- 6 | simplified_ui true 7 | theme "dracula" 8 | default_mode "locked" 9 | default_shell "fish" 10 | default_cwd "/tmp/foo" 11 | default_layout "compact" 12 | layout_dir "/tmp/layouts" 13 | theme_dir "/tmp/themes" 14 | mouse_mode false 15 | pane_frames false 16 | mirror_session true 17 | on_force_close "quit" 18 | scroll_buffer_size 100 19 | copy_command "pbcopy" 20 | copy_clipboard "system" 21 | copy_on_select false 22 | scrollback_editor "vim" 23 | session_name "my_cool_session" 24 | attach_to_session false 25 | auto_layout false 26 | session_serialization true 27 | serialize_pane_viewport false 28 | scrollback_lines_to_serialize 1000 29 | styled_underlines false 30 | serialization_interval 1 31 | disable_session_metadata true 32 | support_kitty_keyboard_protocol false 33 | 34 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__config_options_to_string_with_some_options.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 4211 4 | expression: fake_document.to_string() 5 | --- 6 | default_layout "compact" 7 | 8 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__config_options_to_string_without_options.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 4196 4 | expression: fake_document.to_string() 5 | --- 6 | 7 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__env_vars_to_string.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 3981 4 | expression: serialized.to_string() 5 | --- 6 | env { 7 | bar "foo" 8 | baz "true" 9 | foo "bar" 10 | thing "1" 11 | } 12 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__keybinds_to_string.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 2558 4 | expression: serialized.to_string() 5 | --- 6 | keybinds clear-defaults=true { 7 | normal { 8 | bind "Ctrl g" { SwitchToMode "locked"; } 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__keybinds_to_string_with_multiple_actions.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 2576 4 | expression: serialized.to_string() 5 | --- 6 | keybinds clear-defaults=true { 7 | normal { 8 | bind "Ctrl n" { NewPane; SwitchToMode "locked"; } 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__keybinds_to_string_with_multiple_multiline_actions.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 2788 4 | expression: serialized.to_string() 5 | --- 6 | keybinds clear-defaults=true { 7 | shared { 8 | bind "Ctrl n" { 9 | NewPane 10 | SwitchToMode "locked" 11 | MessagePlugin "zellij:session-manager" { 12 | name "message_name" 13 | cwd "/tmp" 14 | payload "message_payload" 15 | launch_new true 16 | skip_cache true 17 | floating true 18 | title "plugin_title" 19 | config_key_1 "config_value_1" 20 | config_key_2 "config_value_2" 21 | } 22 | } 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__keybinds_to_string_with_shared_modes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 2757 4 | expression: serialized.to_string() 5 | --- 6 | keybinds clear-defaults=true { 7 | shared_among "normal" "locked" { 8 | bind "Ctrl n" { NewPane; SwitchToMode "locked"; } 9 | } 10 | shared_except "locked" "pane" { 11 | bind "Ctrl f" { TogglePaneEmbedOrFloating; } 12 | } 13 | shared_among "locked" "pane" { 14 | bind "Ctrl p" { WriteChars "foo"; } 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__keybinds_to_string_without_clearing_defaults.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 2575 4 | expression: serialized.to_string() 5 | --- 6 | keybinds { 7 | normal { 8 | bind "Ctrl g" { SwitchToMode "locked"; } 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__plugins_to_string.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 5184 4 | expression: serialized.to_string() 5 | --- 6 | 7 | // Plugin aliases - can be used to change the implementation of Zellij 8 | // changing these requires a restart to take effect 9 | plugins { 10 | compact-bar location="zellij:compact-bar" 11 | filepicker location="zellij:strider" { 12 | cwd "/" 13 | } 14 | session-manager location="zellij:session-manager" 15 | status-bar location="zellij:status-bar" 16 | strider location="zellij:strider" 17 | tab-bar location="zellij:tab-bar" 18 | welcome-screen location="zellij:session-manager" { 19 | welcome_screen true 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__plugins_to_string_with_file_and_web.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 5212 4 | expression: serialized.to_string() 5 | --- 6 | 7 | // Plugin aliases - can be used to change the implementation of Zellij 8 | // changing these requires a restart to take effect 9 | plugins { 10 | filepicker location="file:/path/to/my/plugin.wasm" { 11 | cwd "/" 12 | } 13 | tab-bar location="https://foo.com/plugin.wasm" 14 | } 15 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__serialize_and_deserialize_session_info.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 5000 4 | expression: serialized 5 | --- 6 | name "" 7 | tabs { 8 | } 9 | panes { 10 | } 11 | connected_clients 0 12 | available_layouts { 13 | } 14 | tab_history { 15 | } 16 | 17 | -------------------------------------------------------------------------------- /zellij-utils/src/kdl/snapshots/zellij_utils__kdl__ui_config_to_string.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/kdl/mod.rs 3 | assertion_line: 3932 4 | expression: serialized.to_string() 5 | --- 6 | ui { 7 | pane_frames { 8 | rounded_corners true 9 | hide_session_name true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /zellij-utils/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod cli; 2 | pub mod consts; 3 | pub mod data; 4 | pub mod envs; 5 | pub mod errors; 6 | pub mod home; 7 | pub mod input; 8 | pub mod kdl; 9 | pub mod pane_size; 10 | pub mod plugin_api; 11 | pub mod position; 12 | pub mod session_serialization; 13 | pub mod setup; 14 | pub mod shared; 15 | 16 | // The following modules can't be used when targeting wasm 17 | #[cfg(not(target_family = "wasm"))] 18 | pub mod channels; // Requires async_std 19 | #[cfg(not(target_family = "wasm"))] 20 | pub mod common_path; 21 | #[cfg(not(target_family = "wasm"))] 22 | pub mod downloader; // Requires async_std 23 | #[cfg(not(target_family = "wasm"))] 24 | pub mod ipc; // Requires interprocess 25 | #[cfg(not(target_family = "wasm"))] 26 | pub mod logging; // Requires log4rs 27 | 28 | // TODO(hartan): Remove this re-export for the next minor release. 29 | pub use ::prost; 30 | -------------------------------------------------------------------------------- /zellij-utils/src/plugin_api/command.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package api.command; 4 | 5 | message Command { 6 | string path = 1; 7 | repeated string args = 2; 8 | optional string cwd = 3; 9 | } 10 | -------------------------------------------------------------------------------- /zellij-utils/src/plugin_api/file.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package api.file; 4 | 5 | message File { 6 | string path = 1; 7 | optional int32 line_number = 2; 8 | optional string cwd = 3; 9 | } 10 | -------------------------------------------------------------------------------- /zellij-utils/src/plugin_api/message.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package api.message; 4 | 5 | message Message { 6 | string name = 1; 7 | string payload = 2; 8 | optional string worker_name = 3; 9 | } 10 | -------------------------------------------------------------------------------- /zellij-utils/src/plugin_api/pipe_message.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package api.pipe_message; 4 | 5 | message PipeMessage { 6 | PipeSource source = 1; 7 | optional string cli_source_id = 2; 8 | optional uint32 plugin_source_id = 3; 9 | string name = 4; 10 | optional string payload = 5; 11 | repeated Arg args = 6; 12 | bool is_private = 7; 13 | } 14 | 15 | enum PipeSource { 16 | Cli = 0; 17 | Plugin = 1; 18 | Keybind = 2; 19 | } 20 | 21 | message Arg { 22 | string key = 1; 23 | string value = 2; 24 | } 25 | -------------------------------------------------------------------------------- /zellij-utils/src/plugin_api/plugin_ids.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package api.plugin_ids; 4 | 5 | message PluginIds { 6 | int32 plugin_id = 1; 7 | int32 zellij_pid = 2; 8 | string initial_cwd = 3; 9 | uint32 client_id = 4; 10 | } 11 | 12 | message ZellijVersion { 13 | string version = 1; 14 | } 15 | -------------------------------------------------------------------------------- /zellij-utils/src/plugin_api/plugin_permission.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package api.plugin_permission; 4 | 5 | enum PermissionType { 6 | ReadApplicationState = 0; 7 | ChangeApplicationState = 1; 8 | OpenFiles = 2; 9 | RunCommands = 3; 10 | OpenTerminalsOrPlugins = 4; 11 | WriteToStdin = 5; 12 | WebAccess = 6; 13 | ReadCliPipes = 7; 14 | MessageAndLaunchOtherPlugins = 8; 15 | Reconfigure = 9; 16 | FullHdAccess = 10; 17 | } 18 | -------------------------------------------------------------------------------- /zellij-utils/src/plugin_api/resize.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package api.resize; 4 | 5 | enum ResizeAction { 6 | Increase = 0; 7 | Decrease = 1; 8 | } 9 | 10 | enum ResizeDirection { 11 | Left = 0; 12 | Right = 1; 13 | Up = 2; 14 | Down = 3; 15 | } 16 | 17 | message Resize { 18 | ResizeAction resize_action = 1; 19 | optional ResizeDirection direction = 2; 20 | } 21 | 22 | message MoveDirection { 23 | ResizeDirection direction = 1; 24 | } 25 | -------------------------------------------------------------------------------- /zellij-utils/src/snapshots/zellij_utils__session_serialization__tests__can_serialize_multiple_tabs.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/session_serialization.rs 3 | assertion_line: 2025 4 | expression: kdl.0 5 | --- 6 | layout { 7 | tab name="First tab" { 8 | } 9 | tab name="Second tab" { 10 | pane split_direction="vertical" { 11 | pane size=10 12 | pane size=10 13 | } 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /zellij-utils/src/snapshots/zellij_utils__session_serialization__tests__can_serialize_new_tab_template.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/session_serialization.rs 3 | assertion_line: 2047 4 | expression: kdl.0 5 | --- 6 | layout { 7 | new_tab_template { 8 | pane 9 | pane 10 | floating_panes { 11 | pane { 12 | } 13 | pane { 14 | } 15 | pane { 16 | } 17 | } 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /zellij-utils/src/snapshots/zellij_utils__session_serialization__tests__can_serialize_tab_focus.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/session_serialization.rs 3 | assertion_line: 1654 4 | expression: kdl.0 5 | --- 6 | layout { 7 | tab name="Tab #1" focus=true { 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /zellij-utils/src/snapshots/zellij_utils__session_serialization__tests__can_serialize_tab_hide_floating_panes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/session_serialization.rs 3 | assertion_line: 1667 4 | expression: kdl.0 5 | --- 6 | layout { 7 | tab name="Tab #1" hide_floating_panes=true { 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /zellij-utils/src/snapshots/zellij_utils__session_serialization__tests__can_serialize_tab_name.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/session_serialization.rs 3 | assertion_line: 1641 4 | expression: kdl.0 5 | --- 6 | layout { 7 | tab name="my \"tab \\name" { 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /zellij-utils/src/snapshots/zellij_utils__session_serialization__tests__can_serialize_tab_with_multiple_stacked_panes_in_the_same_node.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/session_serialization.rs 3 | assertion_line: 1899 4 | expression: kdl.0 5 | --- 6 | layout { 7 | tab name="Tab with \"stacked panes\"" { 8 | pane size=12 stacked=true { 9 | pane 10 | pane expanded=true 11 | pane 12 | } 13 | pane size=10 14 | pane size=12 stacked=true { 15 | pane 16 | pane expanded=true 17 | pane 18 | } 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /zellij-utils/src/snapshots/zellij_utils__session_serialization__tests__can_serialize_tab_with_stacked_panes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/session_serialization.rs 3 | assertion_line: 1973 4 | expression: kdl.0 5 | --- 6 | layout { 7 | tab name="Tab with \"stacked panes\"" { 8 | pane stacked=true { 9 | pane 10 | pane expanded=true 11 | pane 12 | } 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /zellij-utils/src/snapshots/zellij_utils__session_serialization__tests__global_cwd.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: zellij-utils/src/session_serialization.rs 3 | assertion_line: 1168 4 | expression: kdl.0 5 | --- 6 | layout { 7 | cwd "/path/to/m\"y/global cwd" 8 | } 9 | 10 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/config-with-env-vars.kdl: -------------------------------------------------------------------------------- 1 | env { 2 | CONFIG_ENV_VAR "do not override me" 3 | MY_ENV_VAR "from config" 4 | } 5 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/config-with-keybindings-config.kdl: -------------------------------------------------------------------------------- 1 | layout 2 | keybinds clear-defaults=true { 3 | normal { 4 | bind "b" { SwitchToMode "Locked"; } 5 | bind "Ctrl c" { SwitchToMode "Resize"; } 6 | } 7 | resize { 8 | bind "b" { SwitchToMode "Locked"; } 9 | bind "Ctrl c" { SwitchToMode "Resize"; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/config-with-plugins-config.kdl: -------------------------------------------------------------------------------- 1 | plugins { 2 | tab-bar { path "tab-bar"; } 3 | status-bar { path "status-bar"; } 4 | strider { path "strider"; } 5 | compact-bar { path "compact-bar"; } 6 | } 7 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/config-with-themes-config.kdl: -------------------------------------------------------------------------------- 1 | themes { 2 | other-theme-from-config { 3 | bg 2 2 2 4 | red 2 2 2 5 | green 2 2 2 6 | yellow 2 2 2 7 | blue 2 2 2 8 | magenta 2 2 2 9 | orange 2 2 2 10 | fg 2 2 2 11 | cyan 2 2 2 12 | black 2 2 2 13 | white 2 2 2 14 | } 15 | theme-from-config { 16 | bg 2 2 2 17 | red 2 2 2 18 | green 2 2 2 19 | yellow 2 2 2 20 | blue 2 2 2 21 | magenta 2 2 2 22 | orange 2 2 2 23 | fg 2 2 2 24 | cyan 2 2 2 25 | black 2 2 2 26 | white 2 2 2 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/config-with-ui-config.kdl: -------------------------------------------------------------------------------- 1 | ui { 2 | pane_frames { 3 | rounded_corners false 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/layout-with-env-vars.kdl: -------------------------------------------------------------------------------- 1 | layout 2 | env { 3 | LAYOUT_ENV_VAR "make sure I'm also here" 4 | MY_ENV_VAR "from layout" 5 | } 6 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/layout-with-keybindings-config.kdl: -------------------------------------------------------------------------------- 1 | layout 2 | keybinds { 3 | normal { 4 | bind "b" { SwitchToMode "Session"; } 5 | bind "Ctrl b" { SwitchToMode "Resize"; } 6 | } 7 | scroll { 8 | bind "b" { SwitchToMode "Locked"; } 9 | bind "Ctrl c" { SwitchToMode "Resize"; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/layout-with-options.kdl: -------------------------------------------------------------------------------- 1 | layout 2 | pane_frames false 3 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/layout-with-plugins-config.kdl: -------------------------------------------------------------------------------- 1 | layout 2 | plugins { 3 | some-other-plugin { path "i-am-defined-in-the-layout"; } 4 | tab-bar { path "tab-bar-from-layout"; } 5 | } 6 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/layout-with-themes-config.kdl: -------------------------------------------------------------------------------- 1 | layout 2 | themes { 3 | theme-from-config { 4 | bg 1 1 1 5 | red 1 1 1 6 | green 1 1 1 7 | yellow 1 1 1 8 | blue 1 1 1 9 | magenta 1 1 1 10 | orange 1 1 1 11 | fg 1 1 1 12 | cyan 1 1 1 13 | black 1 1 1 14 | white 1 1 1 15 | } 16 | theme-from-layout { 17 | bg 1 1 1 18 | red 1 1 1 19 | green 1 1 1 20 | yellow 1 1 1 21 | blue 1 1 1 22 | magenta 1 1 1 23 | orange 1 1 1 24 | fg 1 1 1 25 | cyan 1 1 1 26 | black 1 1 1 27 | white 1 1 1 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /zellij-utils/src/test-fixtures/layout-with-ui-config.kdl: -------------------------------------------------------------------------------- 1 | layout 2 | ui { 3 | pane_frames { 4 | rounded_corners true 5 | } 6 | } 7 | --------------------------------------------------------------------------------