1818from codeflash .lsp .server import CodeflashLanguageServer , CodeflashLanguageServerProtocol
1919
2020if TYPE_CHECKING :
21+ from argparse import Namespace
22+
2123 from lsprotocol import types
2224
2325
@@ -146,13 +148,8 @@ def validate_project(server: CodeflashLanguageServer, _params: FunctionOptimizat
146148 "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
147149 }
148150
149- new_args = server .args
150- if not server .args_processed_before :
151- new_args = process_pyproject_config (server .args )
152- server .args = new_args
153- server .args_processed_before = True
154-
155- repo = git .Repo (new_args .module_root , search_parent_directories = True )
151+ args = process_args (server )
152+ repo = git .Repo (args .module_root , search_parent_directories = True )
156153 if repo .bare :
157154 return {"status" : "error" , "message" : "Repository is in bare state" }
158155
@@ -175,12 +172,20 @@ def _initialize_optimizer_if_api_key_is_valid(server: CodeflashLanguageServer) -
175172
176173 from codeflash .optimization .optimizer import Optimizer
177174
178- new_args = server .args if server .args_processed_before else process_pyproject_config (server .args )
179- server .args_processed_before = True
175+ new_args = process_args (server )
180176 server .optimizer = Optimizer (new_args )
181177 return {"status" : "success" , "user_id" : user_id }
182178
183179
180+ def process_args (server : CodeflashLanguageServer ) -> Namespace :
181+ if server .args_processed_before :
182+ return server .args
183+ new_args = process_pyproject_config (server .args )
184+ server .args = new_args
185+ server .args_processed_before = True
186+ return new_args
187+
188+
184189@server .feature ("apiKeyExistsAndValid" )
185190def check_api_key (server : CodeflashLanguageServer , _params : any ) -> dict [str , str ]:
186191 try :
0 commit comments