File tree Expand file tree Collapse file tree 5 files changed +13
-9
lines changed
Expand file tree Collapse file tree 5 files changed +13
-9
lines changed Original file line number Diff line number Diff line change 4141 WithRespondWorkspaceFoldersRequest ,
4242)
4343from lsp_client .client .abc import Client
44- from lsp_client .client .lang import LanguageConfig
44+ from lsp_client .protocol .lang import LanguageConfig
4545from lsp_client .server import DefaultServers , ServerInstallationError
4646from lsp_client .server .container import ContainerServer
4747from lsp_client .server .local import LocalServer
Original file line number Diff line number Diff line change @@ -85,8 +85,6 @@ async def _handle_package(
8585 resp = await rx .receive ()
8686 await self .send (resp )
8787 case {"method" : _} as noti :
88- if not sender :
89- return
9088 await sender .send (noti )
9189
9290 async def _dispatch (self , sender : Sender [ServerRequest ]) -> None :
Original file line number Diff line number Diff line change 1111from attrs import Factory , define , field
1212from loguru import logger
1313
14- from lsp_client .server .types import ServerRequest
1514from lsp_client .utils .channel import Sender
1615from lsp_client .utils .workspace import Workspace
1716
1817from .abc import Server
1918from .local import LocalServer
19+ from .types import ServerRequest
2020
2121
2222@define
Original file line number Diff line number Diff line change @@ -83,10 +83,12 @@ async def kill(self) -> None:
8383 async def run (
8484 self ,
8585 workspace : Workspace ,
86- * ,
87- sender : Sender [ServerRequest ] | None = None ,
86+ sender : Sender [ServerRequest ],
8887 ) -> AsyncGenerator [Self ]:
8988 self ._stream = await self .connect ()
9089
91- async with self ._stream :
90+ async with (
91+ self ._stream ,
92+ super ().run (workspace , sender = sender ),
93+ ):
9294 yield self
Original file line number Diff line number Diff line change 1717from lsp_client .client .abc import Client
1818from lsp_client .jsonrpc .convert import lsp_type , request_serialize , response_deserialize
1919from lsp_client .server .abc import Server
20+ from lsp_client .server .types import ServerRequest
21+ from lsp_client .utils .channel import channel
2022from lsp_client .utils .workspace import DEFAULT_WORKSPACE
2123
2224
@@ -33,7 +35,10 @@ async def inspect_capabilities(
3335 if not __debug__ :
3436 raise RuntimeError ("inspect_capabilities can only be used in debug mode" )
3537
36- async with server .run (DEFAULT_WORKSPACE ):
38+ async with (
39+ channel [ServerRequest ].create () as (sender , _ ),
40+ server .run (DEFAULT_WORKSPACE , sender = sender ),
41+ ):
3742 # send a fake initialize request to get server capabilities
3843 req = lsp_type .InitializeRequest (
3944 id = "initialize" ,
@@ -43,7 +48,6 @@ async def inspect_capabilities(
4348 )
4449 raw_resp = await server .request (request_serialize (req ))
4550 resp = response_deserialize (raw_resp , lsp_type .InitializeResponse )
46- await server .kill ()
4751
4852 server_capabilities = resp .capabilities
4953
You can’t perform that action at this time.
0 commit comments