Skip to content

Commit 2d2f9e7

Browse files
authored
Merge branch 'main' into lsp/init-flow
2 parents 59debb3 + 4066c9a commit 2d2f9e7

File tree

4 files changed

+21
-16
lines changed

4 files changed

+21
-16
lines changed

codeflash/lsp/beta.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
from pathlib import Path
88
from typing import TYPE_CHECKING, Optional
99

10-
from pygls import uris
11-
1210
from codeflash.api.cfapi import get_codeflash_api_key, get_user_id
1311
from codeflash.cli_cmds.cli import process_pyproject_config
1412
from codeflash.cli_cmds.cmd_init import (
@@ -128,7 +126,11 @@ def _group_functions_by_file(
128126
def get_optimizable_functions(
129127
server: CodeflashLanguageServer, params: OptimizableFunctionsParams
130128
) -> dict[str, list[str]]:
131-
file_path = Path(uris.to_fs_path(params.textDocument.uri))
129+
document_uri = params.textDocument.uri
130+
document = server.workspace.get_text_document(document_uri)
131+
132+
file_path = Path(document.path)
133+
132134
if not server.optimizer:
133135
return {"status": "error", "message": "optimizer not initialized"}
134136

@@ -321,8 +323,10 @@ def provide_api_key(server: CodeflashLanguageServer, params: ProvideApiKeyParams
321323
def initialize_function_optimization(
322324
server: CodeflashLanguageServer, params: FunctionOptimizationInitParams
323325
) -> dict[str, str]:
324-
file_path = Path(uris.to_fs_path(params.textDocument.uri))
325-
server.show_message_log(f"Initializing optimization for function: {params.functionName} in {file_path}", "Info")
326+
document_uri = params.textDocument.uri
327+
document = server.workspace.get_text_document(document_uri)
328+
329+
server.show_message_log(f"Initializing optimization for function: {params.functionName} in {document_uri}", "Info")
326330

327331
if server.optimizer is None:
328332
_initialize_optimizer_if_api_key_is_valid(server)
@@ -332,7 +336,7 @@ def initialize_function_optimization(
332336
original_args, _ = server.optimizer.original_args_and_test_cfg
333337

334338
server.optimizer.args.function = params.functionName
335-
original_relative_file_path = file_path.relative_to(original_args.project_root)
339+
original_relative_file_path = Path(document.path).relative_to(original_args.project_root)
336340
server.optimizer.args.file = server.optimizer.current_worktree / original_relative_file_path
337341
server.optimizer.args.previous_checkpoint_functions = False
338342

codeflash/lsp/server.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
from typing import TYPE_CHECKING, Any
44

55
from lsprotocol.types import LogMessageParams, MessageType
6+
from pygls.lsp.server import LanguageServer
67
from pygls.protocol import LanguageServerProtocol
7-
from pygls.server import LanguageServer
88

99
if TYPE_CHECKING:
1010
from pathlib import Path
@@ -56,7 +56,7 @@ def show_message_log(self, message: str, message_type: str) -> None:
5656

5757
# Send log message to client (appears in output channel)
5858
log_params = LogMessageParams(type=lsp_message_type, message=message)
59-
self.lsp.notify("window/logMessage", log_params)
59+
self.protocol.notify("window/logMessage", log_params)
6060

6161
def cleanup_the_optimizer(self) -> None:
6262
self.current_optimization_init_result = None

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ dependencies = [
4141
"coverage>=7.6.4",
4242
"line_profiler>=4.2.0",
4343
"platformdirs>=4.3.7",
44-
"pygls>=1.3.1",
44+
"pygls>=2.0.0,<3.0.0",
4545
"codeflash-benchmark",
4646
"filelock",
4747
]

uv.lock

Lines changed: 8 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)