Skip to content

Commit 4f20ba2

Browse files
committed
WIP: load multiple workspace files to same session name w/ --append
1 parent d63f9f5 commit 4f20ba2

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

src/tmuxp/cli/load.py

+15-3
Original file line numberDiff line numberDiff line change
@@ -626,9 +626,21 @@ def command_load(
626626
detached = original_detached_option
627627
new_session_name = original_new_session_name
628628

629-
if last_idx > 0 and idx < last_idx:
630-
detached = True
631-
new_session_name = None
629+
if last_idx > 0:
630+
if idx < last_idx:
631+
detached = True
632+
new_session_name = None
633+
if tmux_options["append"]:
634+
original_session_name = None
635+
if idx == 0:
636+
original_session_name = (
637+
new_session_name
638+
or config_reader.ConfigReader._from_file(
639+
pathlib.Path(config_file)
640+
)
641+
)
642+
elif idx > 0 and original_session_name is not None:
643+
new_session_name = original_session_name
632644

633645
load_workspace(
634646
workspace_file,

tests/test_cli.py

+16
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,18 @@ class CLILoadFixture(t.NamedTuple):
286286
expected_in_out=None,
287287
expected_not_in_out=None,
288288
),
289+
CLILoadFixture(
290+
test_id="configdir-session-name-double-append",
291+
cli_args=["load", "my_config", "second_config", "--append"],
292+
config_paths=[
293+
"{TMUXP_CONFIGDIR}/my_config.yaml",
294+
"{TMUXP_CONFIGDIR}/second_config.yaml",
295+
],
296+
session_names=["my_config", "second_config"],
297+
expected_exit_code=0,
298+
expected_in_out=None,
299+
expected_not_in_out=None,
300+
),
289301
]
290302

291303

@@ -355,6 +367,10 @@ def test_load(
355367
for session_name in session_names:
356368
assert server.has_session(session_name)
357369

370+
if "--append" in cli_args:
371+
for session_name in session_names[-1:]:
372+
assert not server.has_session(session_name)
373+
358374

359375
def test_regression_00132_session_name_with_dots(
360376
tmp_path: pathlib.Path,

0 commit comments

Comments
 (0)