diff --git a/codeflash/cli_cmds/cmd_init.py b/codeflash/cli_cmds/cmd_init.py index fca5313c4..a53d18ce6 100644 --- a/codeflash/cli_cmds/cmd_init.py +++ b/codeflash/cli_cmds/cmd_init.py @@ -1005,6 +1005,8 @@ def get_formatter_cmds(formatter: str) -> list[str]: return ["your-formatter $file"] if formatter in {"don't use a formatter", "disabled"}: return ["disabled"] + if " && " in formatter: + return formatter.split(" && ") return [formatter] diff --git a/codeflash/lsp/beta.py b/codeflash/lsp/beta.py index 9d96eab41..39af7e2de 100644 --- a/codeflash/lsp/beta.py +++ b/codeflash/lsp/beta.py @@ -205,11 +205,25 @@ def get_config_suggestions(_params: any) -> dict[str, any]: test_framework_suggestions, default_test_framework = get_suggestions(CommonSections.test_framework) formatter_suggestions, default_formatter = get_suggestions(CommonSections.formatter_cmds) get_valid_subdirs.cache_clear() + + configured_module_root = Path(server.args.module_root).relative_to(Path.cwd()) if server.args.module_root else None + configured_tests_root = Path(server.args.tests_root).relative_to(Path.cwd()) if server.args.tests_root else None + configured_test_framework = server.args.test_framework if server.args.test_framework else None + + configured_formatter = "" + if isinstance(server.args.formatter_cmds, list): + configured_formatter = " && ".join([cmd.strip() for cmd in server.args.formatter_cmds]) + elif isinstance(server.args.formatter_cmds, str): + configured_formatter = server.args.formatter_cmds.strip() + return { - "module_root": {"choices": module_root_suggestions, "default": default_module_root}, - "tests_root": {"choices": tests_root_suggestions, "default": default_tests_root}, - "test_framework": {"choices": test_framework_suggestions, "default": default_test_framework}, - "formatter_cmds": {"choices": formatter_suggestions, "default": default_formatter}, + "module_root": {"choices": module_root_suggestions, "default": configured_module_root or default_module_root}, + "tests_root": {"choices": tests_root_suggestions, "default": configured_tests_root or default_tests_root}, + "test_framework": { + "choices": test_framework_suggestions, + "default": configured_test_framework or default_test_framework, + }, + "formatter_cmds": {"choices": formatter_suggestions, "default": configured_formatter or default_formatter}, }