From 9e4af199011dbb85ed08467c8e5d04a72485c4e6 Mon Sep 17 00:00:00 2001 From: Vyacheslav Dmitriev Date: Sun, 6 Sep 2026 12:50:02 +0300 Subject: [PATCH] refactor(integrations): move shell integration into package --- src/pcd_cli/cli/app.py | 2 +- src/pcd_cli/cli/shell.py | 2 +- src/pcd_cli/integrations/__init__.py | 1 + src/pcd_cli/{shell_integration.py => integrations/shell.py} | 0 src/pcd_cli/navigation.py | 4 ++-- tests/integration/test_cli.py | 2 +- .../integration/{test_shell_integration.py => test_shell.py} | 2 +- 7 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 src/pcd_cli/integrations/__init__.py rename src/pcd_cli/{shell_integration.py => integrations/shell.py} (100%) rename tests/integration/{test_shell_integration.py => test_shell.py} (99%) diff --git a/src/pcd_cli/cli/app.py b/src/pcd_cli/cli/app.py index b187caa..0753ebb 100644 --- a/src/pcd_cli/cli/app.py +++ b/src/pcd_cli/cli/app.py @@ -11,9 +11,9 @@ from pcd_cli.cli.roots import root_commands from pcd_cli.cli.shell import shell_commands from pcd_cli.config import InvalidConfigError +from pcd_cli.integrations.shell import ShellIntegrationError from pcd_cli.models import ExitCode from pcd_cli.navigation import navigate_to_project, project_completions -from pcd_cli.shell_integration import ShellIntegrationError if TYPE_CHECKING: from click.shell_completion import CompletionItem diff --git a/src/pcd_cli/cli/shell.py b/src/pcd_cli/cli/shell.py index 748500b..7bd8efe 100644 --- a/src/pcd_cli/cli/shell.py +++ b/src/pcd_cli/cli/shell.py @@ -1,6 +1,6 @@ import click -from pcd_cli.shell_integration import ( +from pcd_cli.integrations.shell import ( detect_shell, render_shell_integration, Shell, diff --git a/src/pcd_cli/integrations/__init__.py b/src/pcd_cli/integrations/__init__.py new file mode 100644 index 0000000..de11f96 --- /dev/null +++ b/src/pcd_cli/integrations/__init__.py @@ -0,0 +1 @@ +"""External environment integrations.""" diff --git a/src/pcd_cli/shell_integration.py b/src/pcd_cli/integrations/shell.py similarity index 100% rename from src/pcd_cli/shell_integration.py rename to src/pcd_cli/integrations/shell.py diff --git a/src/pcd_cli/navigation.py b/src/pcd_cli/navigation.py index fd6ea91..0086e2b 100644 --- a/src/pcd_cli/navigation.py +++ b/src/pcd_cli/navigation.py @@ -7,12 +7,12 @@ from pcd_cli.catalog import ProjectCatalog from pcd_cli.filesystem import format_path -from pcd_cli.models import ExitCode, ProjectSource -from pcd_cli.shell_integration import ( +from pcd_cli.integrations.shell import ( inactive_shell_message, SHELL_CD_EXIT_CODE, shell_integration_active, ) +from pcd_cli.models import ExitCode, ProjectSource if TYPE_CHECKING: from collections.abc import Sequence diff --git a/tests/integration/test_cli.py b/tests/integration/test_cli.py index fb6dd36..2a45a50 100644 --- a/tests/integration/test_cli.py +++ b/tests/integration/test_cli.py @@ -12,8 +12,8 @@ from pcd_cli.catalog import ProjectCatalog from pcd_cli.cli import cli, ProjectCommandGroup from pcd_cli.config import InvalidConfigError +from pcd_cli.integrations.shell import ShellIntegrationError from pcd_cli.models import Project, ProjectSource -from pcd_cli.shell_integration import ShellIntegrationError if TYPE_CHECKING: from pathlib import Path diff --git a/tests/integration/test_shell_integration.py b/tests/integration/test_shell.py similarity index 99% rename from tests/integration/test_shell_integration.py rename to tests/integration/test_shell.py index 6effd3a..74fb707 100644 --- a/tests/integration/test_shell_integration.py +++ b/tests/integration/test_shell.py @@ -10,7 +10,7 @@ from pcd_cli.cli import cli from pcd_cli.cli.shell import init_shell -from pcd_cli.shell_integration import ( +from pcd_cli.integrations.shell import ( inactive_shell_message, render_shell_integration, Shell,