diff --git a/codeflash/api/aiservice.py b/codeflash/api/aiservice.py index 81ab84d4..a4172afb 100644 --- a/codeflash/api/aiservice.py +++ b/codeflash/api/aiservice.py @@ -10,7 +10,7 @@ from pydantic.json import pydantic_encoder from codeflash.cli_cmds.console import console, logger -from codeflash.code_utils.env_utils import get_codeflash_api_key +from codeflash.code_utils.env_utils import get_codeflash_api_key, is_LSP_enabled from codeflash.code_utils.git_utils import get_last_commit_author_if_pr_exists, get_repo_owner_and_name from codeflash.models.models import OptimizedCandidate from codeflash.telemetry.posthog_cf import ph @@ -182,6 +182,7 @@ def optimize_python_code_line_profiler( # noqa: D417 "python_version": platform.python_version(), "experiment_metadata": experiment_metadata, "codeflash_version": codeflash_version, + "lsp_mode": is_LSP_enabled(), } logger.info("Generating optimized candidates…") diff --git a/codeflash/code_utils/env_utils.py b/codeflash/code_utils/env_utils.py index 97af0cc3..f127a305 100644 --- a/codeflash/code_utils/env_utils.py +++ b/codeflash/code_utils/env_utils.py @@ -7,7 +7,7 @@ from pathlib import Path from typing import Any, Optional -from codeflash.cli_cmds.console import logger +from codeflash.cli_cmds.console import console, logger from codeflash.code_utils.code_utils import exit_with_message from codeflash.code_utils.formatter import format_code from codeflash.code_utils.shell_utils import read_api_key_from_shell_config @@ -110,3 +110,8 @@ def get_cached_gh_event_data() -> dict[str, Any] | None: return None with Path(event_path).open() as f: return json.load(f) # type: ignore # noqa + + +@lru_cache(maxsize=1) +def is_LSP_enabled() -> bool: + return console.quiet diff --git a/codeflash/verification/concolic_testing.py b/codeflash/verification/concolic_testing.py index 7da44bdf..be8bc09d 100644 --- a/codeflash/verification/concolic_testing.py +++ b/codeflash/verification/concolic_testing.py @@ -10,6 +10,7 @@ from codeflash.cli_cmds.console import console, logger from codeflash.code_utils.compat import SAFE_SYS_EXECUTABLE from codeflash.code_utils.concolic_utils import clean_concolic_tests +from codeflash.code_utils.env_utils import is_LSP_enabled from codeflash.code_utils.static_analysis import has_typed_parameters from codeflash.discovery.discover_unit_tests import discover_unit_tests from codeflash.telemetry.posthog_cf import ph @@ -28,6 +29,11 @@ def generate_concolic_tests( start_time = time.perf_counter() function_to_concolic_tests = {} concolic_test_suite_code = "" + + if is_LSP_enabled(): + logger.debug("Skipping concolic test generation in LSP mode") + return function_to_concolic_tests, concolic_test_suite_code + if ( test_cfg.concolic_test_root_dir and isinstance(function_to_optimize_ast, (ast.FunctionDef, ast.AsyncFunctionDef))