Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/tmuxp/cli/load.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,8 +216,10 @@ def _reattach(builder: WorkspaceBuilder, colors: Colors | None = None) -> None:
assert builder.session is not None
for plugin in builder.plugins:
plugin.reattach(builder.session)
proc = builder.session.cmd("display-message", "-p", "'#S'")
for line in proc.stdout:
active_pane = builder.session.active_pane
assert active_pane is not None
lines = active_pane.display_message("'#S'", get_text=True)
for line in lines:
tmuxp_echo(colors.info(line) if colors else line)
logger.debug(
"reattach display-message output",
Expand Down
6 changes: 4 additions & 2 deletions tests/cli/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,8 @@ def test_reattach_plugins(
_reattach(builder)

assert builder.session is not None
proc = builder.session.cmd("display-message", "-p", "'#S'")
active_pane = builder.session.active_pane
assert active_pane is not None
lines = active_pane.display_message("'#S'", get_text=True)

assert proc.stdout[0] == "'plugin_test_r'"
assert lines[0] == "'plugin_test_r'"
29 changes: 19 additions & 10 deletions tests/workspace/test_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -824,8 +824,10 @@ def test_plugin_system_before_workspace_builder(

builder.build(session=session)

proc = session.cmd("display-message", "-p", "'#S'")
assert proc.stdout[0] == "'plugin_test_bwb'"
active_pane = session.active_pane
assert active_pane is not None
lines = active_pane.display_message("'#S'", get_text=True)
assert lines[0] == "'plugin_test_bwb'"


def test_plugin_system_on_window_create(
Expand All @@ -847,8 +849,10 @@ def test_plugin_system_on_window_create(

builder.build(session=session)

proc = session.cmd("display-message", "-p", "'#W'")
assert proc.stdout[0] == "'plugin_test_owc'"
active_pane = session.active_pane
assert active_pane is not None
lines = active_pane.display_message("'#W'", get_text=True)
assert lines[0] == "'plugin_test_owc'"


def test_plugin_system_after_window_finished(
Expand All @@ -870,8 +874,10 @@ def test_plugin_system_after_window_finished(

builder.build(session=session)

proc = session.cmd("display-message", "-p", "'#W'")
assert proc.stdout[0] == "'plugin_test_awf'"
active_pane = session.active_pane
assert active_pane is not None
lines = active_pane.display_message("'#W'", get_text=True)
assert lines[0] == "'plugin_test_awf'"


def test_plugin_system_on_window_create_multiple_windows(
Expand Down Expand Up @@ -946,15 +952,18 @@ def test_plugin_system_multiple_plugins(

builder.build(session=session)

active_pane = session.active_pane
assert active_pane is not None

# Drop through to the before_script plugin hook
proc = session.cmd("display-message", "-p", "'#S'")
assert proc.stdout[0] == "'plugin_test_bwb'"
lines = active_pane.display_message("'#S'", get_text=True)
assert lines[0] == "'plugin_test_bwb'"

# Drop through to the after_window_finished. This won't succeed
# unless on_window_create succeeds because of how the test plugin
# override methods are currently written
proc = session.cmd("display-message", "-p", "'#W'")
assert proc.stdout[0] == "'mp_test_awf'"
lines = active_pane.display_message("'#W'", get_text=True)
assert lines[0] == "'mp_test_awf'"


def test_load_configs_same_session(
Expand Down