1010from pygls import uris
1111
1212from codeflash .api .cfapi import get_codeflash_api_key , get_user_id
13+ from codeflash .cli_cmds .cli import process_pyproject_config
1314from codeflash .code_utils .git_utils import create_diff_patch_from_worktree
1415from codeflash .code_utils .shell_utils import save_api_key_to_rc
1516from codeflash .discovery .functions_to_optimize import filter_functions , get_functions_within_git_diff
@@ -140,7 +141,6 @@ def discover_function_tests(server: CodeflashLanguageServer, params: FunctionOpt
140141
141142@server .feature ("validateProject" )
142143def validate_project (server : CodeflashLanguageServer , _params : FunctionOptimizationParams ) -> dict [str , str ]:
143- from codeflash .cli_cmds .cli import process_pyproject_config
144144 from codeflash .cli_cmds .cmd_init import is_valid_pyproject_toml
145145
146146 server .show_message_log ("Validating project..." , "Info" )
@@ -152,8 +152,11 @@ def validate_project(server: CodeflashLanguageServer, _params: FunctionOptimizat
152152 "message" : "pyproject.toml is not valid" , # keep the error message the same, the extension is matching "pyproject.toml" in the error message to show the codeflash init instructions
153153 }
154154
155- new_args = process_pyproject_config (server .args )
156- server .args = new_args
155+ new_args = server .args
156+ if not server .args_processed_before :
157+ new_args = process_pyproject_config (server .args )
158+ server .args = new_args
159+ server .args_processed_before = True
157160
158161 repo = git .Repo (new_args .module_root , search_parent_directories = True )
159162 if repo .bare :
@@ -178,7 +181,9 @@ def _initialize_optimizer_if_api_key_is_valid(server: CodeflashLanguageServer) -
178181
179182 from codeflash .optimization .optimizer import Optimizer
180183
181- server .optimizer = Optimizer (server .args )
184+ new_args = server .args if server .args_processed_before else process_pyproject_config (server .args )
185+ server .args_processed_before = True
186+ server .optimizer = Optimizer (new_args )
182187 return {"status" : "success" , "user_id" : user_id }
183188
184189
0 commit comments