summaryrefslogtreecommitdiffstats
path: root/zellij-client
diff options
context:
space:
mode:
author哇呜哇呜呀咦耶 <pingao777@gmail.com>2023-03-02 00:28:17 +0800
committerGitHub <noreply@github.com>2023-03-01 17:28:17 +0100
commitc2fb275319bb940cb13da48aa7a67cd611617f5b (patch)
tree0540919eeba3b9980e0a6c3b078db3a458e6b650 /zellij-client
parent715ee1109d1d6b389c876653a12c8f2721c4de05 (diff)
feat(cli): `QueryTabNames` cli action to list all tab names (#2145)
* extend display char in tab * Add action to list all tab names * print tab names and remove logs * change msg name, and handle Log in normal client * fix log * resolve code conflict * change var name * add snapshot test * fix failed test case * restore snapshot * Revert "restore snapshot" This reverts commit b97a9512ab106615a1a1e5882392a03a17cdf1a3. * restore snapshot * revert snapshot * fix(layout): various parser and ui fixes (#2191) * fix(layout): error on nodes outside layout node * fix(layout): move stacked property to pane * fix(layout): various stack exceptions * fix(ui): non-flexible stacked pane titles now take up their full length * fix(ui): stack titles with no-pane-frames take up their proper length * style(fmt): rustfmt * docs(changelog): layout fixes * fix(messaging): cache hold pane messages by their tab_id if the tab is not ready (#2196) * fix(messaging): cache hold pane messages by their tab_id if the tab is not ready * style(fmt): rustfmt * docs(changelog): open panes fix * fix(layout): tab focus (#2197) * fix(layout): tab focus * style(fmt): rustfmt * docs(changel0g): tab focus fix * fix(cli): new-tab now also looks in layout_dir for layouts (#2198) * fix(cli): the new-tab action now also searches for layouts in the layout dir * style(fmt): rustfmt * fix(tests): add missing parameter to cli action * docs(changelog): new-tab cli layout folder fix * fix(kdl): new-tab keybind looks in layout_dir for layouts (#2200) * fix(themes): missing tokyo-night-dark theme * fix(kdl): new-tab keybind also looks in layout_dir for layouts * docs(changelog): new-tab keybind layout folder fix * fix(cli): edit cwd (#2201) * fix(cli): properly set cwd for edit panes * fix(layouts): properly set cwd for edit panes * style(fmt): rustfmt * docs(changelog0 * fix(layouts): do not relayout twice on auto_layout (#2202) * fix(layouts): do not relayout twice on auto_layout * style(fmt): rustfmt * fix(new-tab): get config parameters from config file (#2203) * fix(cli): take default shell from config if it exists when opening new tab * fix(cli): take layout dir from config when opening new tab if it exists * style(fmt): rustfmt * docs(changelog): new-tab config parameters * fix(grid): only use background pending styling when deleting characters (#2204) * docs(changelog): neovim underline fix * feat(layouts): exact panes constraint (#2206) * style(fmt): remove warnings * fix(swap-layouts): introduce exact panes constraint * fix(swap-layouts): improve floating pane swap layout ux * style(fmt): rustfmt * docs(changelog): exact panes constraint * fix(pty): report no-cwd for empty path returned from sysinfo (#2213) * fix(sixel): report pixel size in winsize change ioctl (#2212) * fix(sixel): report pixel size in winsize change ioctl * style(fmt): rustfmt * docs(changelog): various fixes * style(code): naming * test(log): adjust query tab names test to look at the log message * style(fmt): rustfmt --------- Co-authored-by: Aram Drevekenin <aram@poor.dev> Co-authored-by: Jae-Heon Ji <32578710+jaeheonji@users.noreply.github.com>
Diffstat (limited to 'zellij-client')
-rw-r--r--zellij-client/src/cli_client.rs4
-rw-r--r--zellij-client/src/lib.rs8
2 files changed, 12 insertions, 0 deletions
diff --git a/zellij-client/src/cli_client.rs b/zellij-client/src/cli_client.rs
index 95cd9d133..197efa141 100644
--- a/zellij-client/src/cli_client.rs
+++ b/zellij-client/src/cli_client.rs
@@ -28,6 +28,10 @@ pub fn start_cli_client(os_input: Box<dyn ClientOsApi>, session_name: &str, acti
os_input.send_to_server(ClientToServerMsg::ClientExited);
process::exit(0);
},
+ Some((ServerToClientMsg::Log(log_lines), _)) => {
+ log_lines.iter().for_each(|line| println!("{line}"));
+ process::exit(0);
+ },
_ => {},
}
}
diff --git a/zellij-client/src/lib.rs b/zellij-client/src/lib.rs
index 67a7fb902..68bc45e9e 100644
--- a/zellij-client/src/lib.rs
+++ b/zellij-client/src/lib.rs
@@ -45,6 +45,7 @@ pub(crate) enum ClientInstruction {
ActiveClients(Vec<ClientId>),
StartedParsingStdinQuery,
DoneParsingStdinQuery,
+ Log(Vec<String>),
}
impl From<ServerToClientMsg> for ClientInstruction {
@@ -58,6 +59,7 @@ impl From<ServerToClientMsg> for ClientInstruction {
},
ServerToClientMsg::Connected => ClientInstruction::Connected,
ServerToClientMsg::ActiveClients(clients) => ClientInstruction::ActiveClients(clients),
+ ServerToClientMsg::Log(log_lines) => ClientInstruction::Log(log_lines),
}
}
}
@@ -72,6 +74,7 @@ impl From<&ClientInstruction> for ClientContext {
ClientInstruction::SwitchToMode(_) => ClientContext::SwitchToMode,
ClientInstruction::Connected => ClientContext::Connected,
ClientInstruction::ActiveClients(_) => ClientContext::ActiveClients,
+ ClientInstruction::Log(_) => ClientContext::Log,
ClientInstruction::StartedParsingStdinQuery => ClientContext::StartedParsingStdinQuery,
ClientInstruction::DoneParsingStdinQuery => ClientContext::DoneParsingStdinQuery,
}
@@ -406,6 +409,11 @@ pub fn start_client(
.send(InputInstruction::SwitchToMode(input_mode))
.unwrap();
},
+ ClientInstruction::Log(lines_to_log) => {
+ for line in lines_to_log {
+ log::info!("{line}");
+ }
+ },
_ => {},
}
}