Skip to content

Commit 78989a9

Browse files
committed
fix: remove info from check_server_capability
1 parent 38bb3d2 commit 78989a9

25 files changed

+57
-151
lines changed

docs/contribution/how-to-create-new-capabilities.md

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ The capability class must:
4949
- `register_window_capability(...)`
5050
- `register_notebook_document_capability(...)`
5151
- `register_general_capability(...)`
52-
- `check_server_capability(...)`: Assert server support. Always call `super().check_server_capability(cap, info)`.
52+
- `check_server_capability(...)`: Assert server support. Always call `super().check_server_capability(cap)`.
5353
- For server messages, implement `register_server_request_hooks(self, registry: ServerRequestHookRegistry)`.
5454
- Implement the method for the capability's action (`request_*`, `notify_*`, `receive_*`, `respond_*`).
5555

@@ -105,10 +105,9 @@ class WithRequestX(
105105
@classmethod
106106
def check_server_capability(
107107
cls,
108-
cap: lsp_type.ServerCapabilities,
109-
info: lsp_type.ServerInfo | None,
108+
cap: lsp_type.ServerCapabilities
110109
) -> None:
111-
super().check_server_capability(cap, info)
110+
super().check_server_capability(cap)
112111
assert cap.x_provider
113112

114113
async def request_x(
@@ -147,10 +146,9 @@ class WithRequestWorkspaceX(
147146
@classmethod
148147
def check_server_capability(
149148
cls,
150-
cap: lsp_type.ServerCapabilities,
151-
info: lsp_type.ServerInfo | None,
149+
cap: lsp_type.ServerCapabilities
152150
) -> None:
153-
super().check_server_capability(cap, info)
151+
super().check_server_capability(cap)
154152
assert cap.workspace_x_provider
155153

156154
async def request_workspace_x(self, query: str) -> lsp_type.WorkspaceXResponse | None:
@@ -200,10 +198,9 @@ class WithNotifyX(
200198
@classmethod
201199
def check_server_capability(
202200
cls,
203-
cap: lsp_type.ServerCapabilities,
204-
info: lsp_type.ServerInfo | None,
201+
cap: lsp_type.ServerCapabilities
205202
) -> None:
206-
super().check_server_capability(cap, info)
203+
super().check_server_capability(cap)
207204
assert cap.text_document_sync
208205

209206
async def notify_x(self, file_path: AnyPath) -> None:
@@ -254,10 +251,9 @@ class WithReceiveX(
254251
@classmethod
255252
def check_server_capability(
256253
cls,
257-
cap: lsp_type.ServerCapabilities,
258-
info: lsp_type.ServerInfo | None,
254+
cap: lsp_type.ServerCapabilities
259255
) -> None:
260-
super().check_server_capability(cap, info)
256+
super().check_server_capability(cap)
261257

262258
async def receive_x(self, noti: lsp_type.XNotification) -> None:
263259
# Handle server notification
@@ -315,10 +311,9 @@ class WithRespondX(
315311
@classmethod
316312
def check_server_capability(
317313
cls,
318-
cap: lsp_type.ServerCapabilities,
319-
info: lsp_type.ServerInfo | None,
314+
cap: lsp_type.ServerCapabilities
320315
) -> None:
321-
super().check_server_capability(cap, info)
316+
super().check_server_capability(cap)
322317

323318
async def respond_x(self, req: lsp_type.XRequest) -> lsp_type.XResponse:
324319
# Return response object
@@ -372,7 +367,7 @@ class MyClient(
372367

373368
## Common Pitfalls
374369

375-
- **Missing `super()` Call**: Forgetting to call `super().check_server_capability(...)` or `super().register_server_request_hooks(...)` can break the inheritance chain.
370+
- **Missing `super()` Call**: Forgetting to call `super().check_server_capability()` or `super().register_server_request_hooks(...)` can break the inheritance chain.
376371
- **Missing Export**: An `ImportError` may indicate the capability was not added to `__init__.py`.
377372
- **Missing `file_paths`**: Failure to use `file_request` or manually handle synchronization prevents the server from seeing the document content.
378373
- **Assertion Failure**: An `assert` failure on startup indicates the server does not support the capability.

src/lsp_client/capability/notification/did_change_configuration.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,8 @@ def register_workspace_capability(
3333

3434
@override
3535
@classmethod
36-
def check_server_capability(
37-
cls,
38-
cap: lsp_type.ServerCapabilities,
39-
info: lsp_type.ServerInfo | None,
40-
) -> None:
41-
super().check_server_capability(cap, info)
36+
def check_server_capability(cls, cap: lsp_type.ServerCapabilities) -> None:
37+
super().check_server_capability(cap)
4238
return
4339

4440
async def notify_change_configuration(self, settings: Any | None) -> None:

src/lsp_client/capability/notification/text_document_synchronize.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,8 @@ def register_text_document_capability(
4141

4242
@override
4343
@classmethod
44-
def check_server_capability(
45-
cls,
46-
cap: lsp_type.ServerCapabilities,
47-
info: lsp_type.ServerInfo | None,
48-
) -> None:
49-
super().check_server_capability(cap, info)
44+
def check_server_capability(cls, cap: lsp_type.ServerCapabilities) -> None:
45+
super().check_server_capability(cap)
5046
assert cap.text_document_sync
5147

5248
async def notify_text_document_opened(

src/lsp_client/capability/request/call_hierarchy.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,8 @@ def register_text_document_capability(
4242

4343
@override
4444
@classmethod
45-
def check_server_capability(
46-
cls,
47-
cap: lsp_type.ServerCapabilities,
48-
info: lsp_type.ServerInfo | None,
49-
):
50-
super().check_server_capability(cap, info)
45+
def check_server_capability(cls, cap: lsp_type.ServerCapabilities) -> None:
46+
super().check_server_capability(cap)
5147
assert cap.call_hierarchy_provider
5248

5349
async def prepare_call_hierarchy(

src/lsp_client/capability/request/declaration.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,8 @@ def register_text_document_capability(
3737

3838
@override
3939
@classmethod
40-
def check_server_capability(
41-
cls,
42-
cap: lsp_type.ServerCapabilities,
43-
info: lsp_type.ServerInfo | None,
44-
) -> None:
45-
super().check_server_capability(cap, info)
40+
def check_server_capability(cls, cap: lsp_type.ServerCapabilities) -> None:
41+
super().check_server_capability(cap)
4642
assert cap.declaration_provider
4743

4844
async def request_declaration(

src/lsp_client/capability/request/definition.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,8 @@ def register_text_document_capability(
4040

4141
@override
4242
@classmethod
43-
def check_server_capability(
44-
cls,
45-
cap: lsp_type.ServerCapabilities,
46-
info: lsp_type.ServerInfo | None,
47-
) -> None:
48-
super().check_server_capability(cap, info)
43+
def check_server_capability(cls, cap: lsp_type.ServerCapabilities) -> None:
44+
super().check_server_capability(cap)
4945
assert cap.definition_provider
5046

5147
async def request_definition(

src/lsp_client/capability/request/document_symbol.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,8 @@ def register_text_document_capability(
4444

4545
@override
4646
@classmethod
47-
def check_server_capability(
48-
cls,
49-
cap: lsp_type.ServerCapabilities,
50-
info: lsp_type.ServerInfo | None,
51-
) -> None:
52-
super().check_server_capability(cap, info)
47+
def check_server_capability(cls, cap: lsp_type.ServerCapabilities) -> None:
48+
super().check_server_capability(cap)
5349
assert cap.document_symbol_provider
5450

5551
async def request_document_symbol(

src/lsp_client/capability/request/hover.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,8 @@ def register_text_document_capability(
3737

3838
@override
3939
@classmethod
40-
def check_server_capability(
41-
cls,
42-
cap: lsp_type.ServerCapabilities,
43-
info: lsp_type.ServerInfo | None,
44-
) -> None:
45-
super().check_server_capability(cap, info)
40+
def check_server_capability(cls, cap: lsp_type.ServerCapabilities) -> None:
41+
super().check_server_capability(cap)
4642
assert cap.hover_provider
4743

4844
async def request_hover(

src/lsp_client/capability/request/implementation.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,8 @@ def register_text_document_capability(
3737

3838
@override
3939
@classmethod
40-
def check_server_capability(
41-
cls,
42-
cap: lsp_type.ServerCapabilities,
43-
info: lsp_type.ServerInfo | None,
44-
) -> None:
45-
super().check_server_capability(cap, info)
40+
def check_server_capability(cls, cap: lsp_type.ServerCapabilities) -> None:
41+
super().check_server_capability(cap)
4642
assert cap.implementation_provider
4743

4844
async def request_implementation(

src/lsp_client/capability/request/inline_value.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,8 @@ def register_text_document_capability(
3434

3535
@override
3636
@classmethod
37-
def check_server_capability(
38-
cls,
39-
cap: lsp_type.ServerCapabilities,
40-
info: lsp_type.ServerInfo | None,
41-
) -> None:
42-
super().check_server_capability(cap, info)
37+
def check_server_capability(cls, cap: lsp_type.ServerCapabilities) -> None:
38+
super().check_server_capability(cap)
4339
assert cap.inline_value_provider
4440

4541
async def request_inline_value(

0 commit comments

Comments
 (0)