From 9acbb4e9dbea9e95422fb6ca1f52cb2cd8dc3a7c Mon Sep 17 00:00:00 2001 From: Rafal Chlodnicki Date: Fri, 27 Feb 2026 20:44:03 +0100 Subject: [PATCH 1/6] Separate custom types into its own file and format --- README.md | 14 +- generate.py | 53 ++- generated/custom.py | 1017 ++++++++++++++++++++++++++++++++++++++++ generated/lsp_types.py | 838 --------------------------------- pyproject.toml | 10 +- requirements.txt | 1 - uv.lock | 52 ++ 7 files changed, 1135 insertions(+), 850 deletions(-) create mode 100644 generated/custom.py delete mode 100644 requirements.txt create mode 100644 uv.lock diff --git a/README.md b/README.md index 2946b49..e9f9f65 100644 --- a/README.md +++ b/README.md @@ -4,21 +4,29 @@ Requires py3.8 and up. ## Setup +Use UV to manage virtual environment and run scripts. + Install dependecies: ```sh -pip install -r requirements.txt +uv venv ``` ## Update types Download the latest json schema: ```sh -python ./download_schemas.py +uv run download-schemas.py ``` Generate the types: ```sh -python ./generate.py +uv run generate.py +``` + +And finally fix linting and formatting issues: +```sh +uv ruff check --fix --unsafe-fixes +uv ruff format ``` Copy the `lsp_types.py` file to your project. diff --git a/generate.py b/generate.py index 530d460..b92f3b1 100755 --- a/generate.py +++ b/generate.py @@ -42,7 +42,7 @@ ALIAS_OVERRIDES: dict[str, str] = {'LSPArray': "Sequence['LSPAny']", 'LSPObject': 'Mapping[str, Any]'} -def generate(output: str) -> None: +def generate_protocol(output: str) -> None: reset_new_literal_structures() schema = Path('./lsprotocol/lsp.json').read_text(encoding='utf-8') @@ -54,10 +54,20 @@ def generate(output: str) -> None: '# ruff: noqa: E501, UP006, UP007', '# Code generated. DO NOT EDIT.', f'# LSP v{specification_version}\n', - 'from __future__ import annotations', - 'from enum import IntEnum, IntFlag, StrEnum', - 'from typing import Any, Dict, List, Literal, Mapping, Sequence, TypedDict, Union', - 'from typing_extensions import NotRequired, TypeAlias\n\n', + 'from __future__ import annotations\n', + 'from enum import IntEnum', + 'from enum import IntFlag', + 'from enum import StrEnum', + 'from typing import Any', + 'from typing import Dict', + 'from typing import List', + 'from typing import Literal', + 'from typing import Mapping', + 'from typing import Sequence', + 'from typing import TypedDict', + 'from typing import Union', + 'from typing_extensions import NotRequired', + 'from typing_extensions import TypeAlias\n', 'URI = str', 'DocumentUri = str', 'Uint = int', @@ -71,12 +81,40 @@ def generate(output: str) -> None: content += '\n'.join(generate_type_aliases(lsp_json['typeAliases'], ALIAS_OVERRIDES)) content += '\n\n\n' content += '\n\n\n'.join(generate_structures(lsp_json['structures'])) + content += '\n' + content += '\n'.join(get_new_literal_structures()) + + # Remove trailing spaces. + lines = content.split('\n') + lines = [line.rstrip() for line in lines] + content = '\n'.join(lines) + + Path(output).write_text(content, encoding='utf-8') + + +def generate_custom(output: str) -> None: + reset_new_literal_structures() + + schema = Path('./lsprotocol/lsp.json').read_text(encoding='utf-8') + lsp_json = cast('MetaModel', json.loads(schema)) + + content = '\n'.join( # noqa: FLY002 + [ + 'from __future__ import annotations\n', + 'from .lsp_types import *', + 'from typing import List', + 'from typing import Literal', + 'from typing import TypedDict', + 'from typing import Union', + 'from typing_extensions import TypeAlias', + ] + ) + content += '\n\n\n' content += '\n\n\n'.join(generate_requests_and_responses(lsp_json['requests'])) content += '\n\n\n' content += '\n\n\n'.join(generate_notifications(lsp_json['notifications'])) content += '\n' - content += '\n'.join(get_new_literal_structures()) # Remove trailing spaces. lines = content.split('\n') @@ -86,4 +124,5 @@ def generate(output: str) -> None: Path(output).write_text(content, encoding='utf-8') -generate(output='./generated/lsp_types.py') +generate_protocol(output='./generated/lsp_types.py') +generate_custom(output='./generated/custom.py') diff --git a/generated/custom.py b/generated/custom.py new file mode 100644 index 0000000..085fb40 --- /dev/null +++ b/generated/custom.py @@ -0,0 +1,1017 @@ +from __future__ import annotations + +from .lsp_types import * +from typing import Literal +from typing import TypedDict +from typing import Union +from typing_extensions import TypeAlias + + +class ImplementationRequest(TypedDict): + method: Literal['textDocument/implementation'] + params: 'ImplementationParams' + + +class TypeDefinitionRequest(TypedDict): + method: Literal['textDocument/typeDefinition'] + params: 'TypeDefinitionParams' + + +class WorkspaceFoldersRequest(TypedDict): + method: Literal['workspace/workspaceFolders'] + params: None + + +class ConfigurationRequest(TypedDict): + method: Literal['workspace/configuration'] + params: 'ConfigurationParams' + + +class DocumentColorRequest(TypedDict): + method: Literal['textDocument/documentColor'] + params: 'DocumentColorParams' + + +class ColorPresentationRequest(TypedDict): + method: Literal['textDocument/colorPresentation'] + params: 'ColorPresentationParams' + + +class FoldingRangeRequest(TypedDict): + method: Literal['textDocument/foldingRange'] + params: 'FoldingRangeParams' + + +class FoldingRangeRefreshRequest(TypedDict): + method: Literal['workspace/foldingRange/refresh'] + params: None + + +class DeclarationRequest(TypedDict): + method: Literal['textDocument/declaration'] + params: 'DeclarationParams' + + +class SelectionRangeRequest(TypedDict): + method: Literal['textDocument/selectionRange'] + params: 'SelectionRangeParams' + + +class WorkDoneProgressCreateRequest(TypedDict): + method: Literal['window/workDoneProgress/create'] + params: 'WorkDoneProgressCreateParams' + + +class CallHierarchyPrepareRequest(TypedDict): + method: Literal['textDocument/prepareCallHierarchy'] + params: 'CallHierarchyPrepareParams' + + +class CallHierarchyIncomingCallsRequest(TypedDict): + method: Literal['callHierarchy/incomingCalls'] + params: 'CallHierarchyIncomingCallsParams' + + +class CallHierarchyOutgoingCallsRequest(TypedDict): + method: Literal['callHierarchy/outgoingCalls'] + params: 'CallHierarchyOutgoingCallsParams' + + +class SemanticTokensRequest(TypedDict): + method: Literal['textDocument/semanticTokens/full'] + params: 'SemanticTokensParams' + + +class SemanticTokensDeltaRequest(TypedDict): + method: Literal['textDocument/semanticTokens/full/delta'] + params: 'SemanticTokensDeltaParams' + + +class SemanticTokensRangeRequest(TypedDict): + method: Literal['textDocument/semanticTokens/range'] + params: 'SemanticTokensRangeParams' + + +class SemanticTokensRefreshRequest(TypedDict): + method: Literal['workspace/semanticTokens/refresh'] + params: None + + +class ShowDocumentRequest(TypedDict): + method: Literal['window/showDocument'] + params: 'ShowDocumentParams' + + +class LinkedEditingRangeRequest(TypedDict): + method: Literal['textDocument/linkedEditingRange'] + params: 'LinkedEditingRangeParams' + + +class WillCreateFilesRequest(TypedDict): + method: Literal['workspace/willCreateFiles'] + params: 'CreateFilesParams' + + +class WillRenameFilesRequest(TypedDict): + method: Literal['workspace/willRenameFiles'] + params: 'RenameFilesParams' + + +class WillDeleteFilesRequest(TypedDict): + method: Literal['workspace/willDeleteFiles'] + params: 'DeleteFilesParams' + + +class MonikerRequest(TypedDict): + method: Literal['textDocument/moniker'] + params: 'MonikerParams' + + +class TypeHierarchyPrepareRequest(TypedDict): + method: Literal['textDocument/prepareTypeHierarchy'] + params: 'TypeHierarchyPrepareParams' + + +class TypeHierarchySupertypesRequest(TypedDict): + method: Literal['typeHierarchy/supertypes'] + params: 'TypeHierarchySupertypesParams' + + +class TypeHierarchySubtypesRequest(TypedDict): + method: Literal['typeHierarchy/subtypes'] + params: 'TypeHierarchySubtypesParams' + + +class InlineValueRequest(TypedDict): + method: Literal['textDocument/inlineValue'] + params: 'InlineValueParams' + + +class InlineValueRefreshRequest(TypedDict): + method: Literal['workspace/inlineValue/refresh'] + params: None + + +class InlayHintRequest(TypedDict): + method: Literal['textDocument/inlayHint'] + params: 'InlayHintParams' + + +class InlayHintResolveRequest(TypedDict): + method: Literal['inlayHint/resolve'] + params: 'InlayHint' + + +class InlayHintRefreshRequest(TypedDict): + method: Literal['workspace/inlayHint/refresh'] + params: None + + +class DocumentDiagnosticRequest(TypedDict): + method: Literal['textDocument/diagnostic'] + params: 'DocumentDiagnosticParams' + + +class WorkspaceDiagnosticRequest(TypedDict): + method: Literal['workspace/diagnostic'] + params: 'WorkspaceDiagnosticParams' + + +class DiagnosticRefreshRequest(TypedDict): + method: Literal['workspace/diagnostic/refresh'] + params: None + + +class InlineCompletionRequest(TypedDict): + method: Literal['textDocument/inlineCompletion'] + params: 'InlineCompletionParams' + + +class TextDocumentContentRequest(TypedDict): + method: Literal['workspace/textDocumentContent'] + params: 'TextDocumentContentParams' + + +class TextDocumentContentRefreshRequest(TypedDict): + method: Literal['workspace/textDocumentContent/refresh'] + params: 'TextDocumentContentRefreshParams' + + +class RegistrationRequest(TypedDict): + method: Literal['client/registerCapability'] + params: 'RegistrationParams' + + +class UnregistrationRequest(TypedDict): + method: Literal['client/unregisterCapability'] + params: 'UnregistrationParams' + + +class InitializeRequest(TypedDict): + method: Literal['initialize'] + params: 'InitializeParams' + + +class ShutdownRequest(TypedDict): + method: Literal['shutdown'] + params: None + + +class ShowMessageRequest(TypedDict): + method: Literal['window/showMessageRequest'] + params: 'ShowMessageRequestParams' + + +class WillSaveTextDocumentWaitUntilRequest(TypedDict): + method: Literal['textDocument/willSaveWaitUntil'] + params: 'WillSaveTextDocumentParams' + + +class CompletionRequest(TypedDict): + method: Literal['textDocument/completion'] + params: 'CompletionParams' + + +class CompletionResolveRequest(TypedDict): + method: Literal['completionItem/resolve'] + params: 'CompletionItem' + + +class HoverRequest(TypedDict): + method: Literal['textDocument/hover'] + params: 'HoverParams' + + +class SignatureHelpRequest(TypedDict): + method: Literal['textDocument/signatureHelp'] + params: 'SignatureHelpParams' + + +class DefinitionRequest(TypedDict): + method: Literal['textDocument/definition'] + params: 'DefinitionParams' + + +class ReferencesRequest(TypedDict): + method: Literal['textDocument/references'] + params: 'ReferenceParams' + + +class DocumentHighlightRequest(TypedDict): + method: Literal['textDocument/documentHighlight'] + params: 'DocumentHighlightParams' + + +class DocumentSymbolRequest(TypedDict): + method: Literal['textDocument/documentSymbol'] + params: 'DocumentSymbolParams' + + +class CodeActionRequest(TypedDict): + method: Literal['textDocument/codeAction'] + params: 'CodeActionParams' + + +class CodeActionResolveRequest(TypedDict): + method: Literal['codeAction/resolve'] + params: 'CodeAction' + + +class WorkspaceSymbolRequest(TypedDict): + method: Literal['workspace/symbol'] + params: 'WorkspaceSymbolParams' + + +class WorkspaceSymbolResolveRequest(TypedDict): + method: Literal['workspaceSymbol/resolve'] + params: 'WorkspaceSymbol' + + +class CodeLensRequest(TypedDict): + method: Literal['textDocument/codeLens'] + params: 'CodeLensParams' + + +class CodeLensResolveRequest(TypedDict): + method: Literal['codeLens/resolve'] + params: 'CodeLens' + + +class CodeLensRefreshRequest(TypedDict): + method: Literal['workspace/codeLens/refresh'] + params: None + + +class DocumentLinkRequest(TypedDict): + method: Literal['textDocument/documentLink'] + params: 'DocumentLinkParams' + + +class DocumentLinkResolveRequest(TypedDict): + method: Literal['documentLink/resolve'] + params: 'DocumentLink' + + +class DocumentFormattingRequest(TypedDict): + method: Literal['textDocument/formatting'] + params: 'DocumentFormattingParams' + + +class DocumentRangeFormattingRequest(TypedDict): + method: Literal['textDocument/rangeFormatting'] + params: 'DocumentRangeFormattingParams' + + +class DocumentRangesFormattingRequest(TypedDict): + method: Literal['textDocument/rangesFormatting'] + params: 'DocumentRangesFormattingParams' + + +class DocumentOnTypeFormattingRequest(TypedDict): + method: Literal['textDocument/onTypeFormatting'] + params: 'DocumentOnTypeFormattingParams' + + +class RenameRequest(TypedDict): + method: Literal['textDocument/rename'] + params: 'RenameParams' + + +class PrepareRenameRequest(TypedDict): + method: Literal['textDocument/prepareRename'] + params: 'PrepareRenameParams' + + +class ExecuteCommandRequest(TypedDict): + method: Literal['workspace/executeCommand'] + params: 'ExecuteCommandParams' + + +class ApplyWorkspaceEditRequest(TypedDict): + method: Literal['workspace/applyEdit'] + params: 'ApplyWorkspaceEditParams' + + +ClientRequest: TypeAlias = Union[ + ImplementationRequest, + TypeDefinitionRequest, + DocumentColorRequest, + ColorPresentationRequest, + FoldingRangeRequest, + DeclarationRequest, + SelectionRangeRequest, + CallHierarchyPrepareRequest, + CallHierarchyIncomingCallsRequest, + CallHierarchyOutgoingCallsRequest, + SemanticTokensRequest, + SemanticTokensDeltaRequest, + SemanticTokensRangeRequest, + LinkedEditingRangeRequest, + WillCreateFilesRequest, + WillRenameFilesRequest, + WillDeleteFilesRequest, + MonikerRequest, + TypeHierarchyPrepareRequest, + TypeHierarchySupertypesRequest, + TypeHierarchySubtypesRequest, + InlineValueRequest, + InlayHintRequest, + InlayHintResolveRequest, + DocumentDiagnosticRequest, + WorkspaceDiagnosticRequest, + InlineCompletionRequest, + TextDocumentContentRequest, + InitializeRequest, + ShutdownRequest, + WillSaveTextDocumentWaitUntilRequest, + CompletionRequest, + CompletionResolveRequest, + HoverRequest, + SignatureHelpRequest, + DefinitionRequest, + ReferencesRequest, + DocumentHighlightRequest, + DocumentSymbolRequest, + CodeActionRequest, + CodeActionResolveRequest, + WorkspaceSymbolRequest, + WorkspaceSymbolResolveRequest, + CodeLensRequest, + CodeLensResolveRequest, + DocumentLinkRequest, + DocumentLinkResolveRequest, + DocumentFormattingRequest, + DocumentRangeFormattingRequest, + DocumentRangesFormattingRequest, + DocumentOnTypeFormattingRequest, + RenameRequest, + PrepareRenameRequest, + ExecuteCommandRequest, +] + + +ServerRequest: TypeAlias = Union[ + WorkspaceFoldersRequest, + ConfigurationRequest, + FoldingRangeRefreshRequest, + WorkDoneProgressCreateRequest, + SemanticTokensRefreshRequest, + ShowDocumentRequest, + InlineValueRefreshRequest, + InlayHintRefreshRequest, + DiagnosticRefreshRequest, + TextDocumentContentRefreshRequest, + RegistrationRequest, + UnregistrationRequest, + ShowMessageRequest, + CodeLensRefreshRequest, + ApplyWorkspaceEditRequest, +] + + +class ImplementationResponse(TypedDict): + method: Literal['textDocument/implementation'] + result: 'Definition' | list['DefinitionLink'] | None + + +class TypeDefinitionResponse(TypedDict): + method: Literal['textDocument/typeDefinition'] + result: 'Definition' | list['DefinitionLink'] | None + + +class WorkspaceFoldersResponse(TypedDict): + method: Literal['workspace/workspaceFolders'] + result: list['WorkspaceFolder'] | None + + +class ConfigurationResponse(TypedDict): + method: Literal['workspace/configuration'] + result: list['LSPAny'] + + +class DocumentColorResponse(TypedDict): + method: Literal['textDocument/documentColor'] + result: list['ColorInformation'] + + +class ColorPresentationResponse(TypedDict): + method: Literal['textDocument/colorPresentation'] + result: list['ColorPresentation'] + + +class FoldingRangeResponse(TypedDict): + method: Literal['textDocument/foldingRange'] + result: list['FoldingRange'] | None + + +class FoldingRangeRefreshResponse(TypedDict): + method: Literal['workspace/foldingRange/refresh'] + result: None + + +class DeclarationResponse(TypedDict): + method: Literal['textDocument/declaration'] + result: 'Declaration' | list['DeclarationLink'] | None + + +class SelectionRangeResponse(TypedDict): + method: Literal['textDocument/selectionRange'] + result: list['SelectionRange'] | None + + +class WorkDoneProgressCreateResponse(TypedDict): + method: Literal['window/workDoneProgress/create'] + result: None + + +class CallHierarchyPrepareResponse(TypedDict): + method: Literal['textDocument/prepareCallHierarchy'] + result: list['CallHierarchyItem'] | None + + +class CallHierarchyIncomingCallsResponse(TypedDict): + method: Literal['callHierarchy/incomingCalls'] + result: list['CallHierarchyIncomingCall'] | None + + +class CallHierarchyOutgoingCallsResponse(TypedDict): + method: Literal['callHierarchy/outgoingCalls'] + result: list['CallHierarchyOutgoingCall'] | None + + +class SemanticTokensResponse(TypedDict): + method: Literal['textDocument/semanticTokens/full'] + result: 'SemanticTokens' | None + + +class SemanticTokensDeltaResponse(TypedDict): + method: Literal['textDocument/semanticTokens/full/delta'] + result: 'SemanticTokens' | 'SemanticTokensDelta' | None + + +class SemanticTokensRangeResponse(TypedDict): + method: Literal['textDocument/semanticTokens/range'] + result: 'SemanticTokens' | None + + +class SemanticTokensRefreshResponse(TypedDict): + method: Literal['workspace/semanticTokens/refresh'] + result: None + + +class ShowDocumentResponse(TypedDict): + method: Literal['window/showDocument'] + result: 'ShowDocumentResult' + + +class LinkedEditingRangeResponse(TypedDict): + method: Literal['textDocument/linkedEditingRange'] + result: 'LinkedEditingRanges' | None + + +class WillCreateFilesResponse(TypedDict): + method: Literal['workspace/willCreateFiles'] + result: 'WorkspaceEdit' | None + + +class WillRenameFilesResponse(TypedDict): + method: Literal['workspace/willRenameFiles'] + result: 'WorkspaceEdit' | None + + +class WillDeleteFilesResponse(TypedDict): + method: Literal['workspace/willDeleteFiles'] + result: 'WorkspaceEdit' | None + + +class MonikerResponse(TypedDict): + method: Literal['textDocument/moniker'] + result: list['Moniker'] | None + + +class TypeHierarchyPrepareResponse(TypedDict): + method: Literal['textDocument/prepareTypeHierarchy'] + result: list['TypeHierarchyItem'] | None + + +class TypeHierarchySupertypesResponse(TypedDict): + method: Literal['typeHierarchy/supertypes'] + result: list['TypeHierarchyItem'] | None + + +class TypeHierarchySubtypesResponse(TypedDict): + method: Literal['typeHierarchy/subtypes'] + result: list['TypeHierarchyItem'] | None + + +class InlineValueResponse(TypedDict): + method: Literal['textDocument/inlineValue'] + result: list['InlineValue'] | None + + +class InlineValueRefreshResponse(TypedDict): + method: Literal['workspace/inlineValue/refresh'] + result: None + + +class InlayHintResponse(TypedDict): + method: Literal['textDocument/inlayHint'] + result: list['InlayHint'] | None + + +class InlayHintResolveResponse(TypedDict): + method: Literal['inlayHint/resolve'] + result: 'InlayHint' + + +class InlayHintRefreshResponse(TypedDict): + method: Literal['workspace/inlayHint/refresh'] + result: None + + +class DocumentDiagnosticResponse(TypedDict): + method: Literal['textDocument/diagnostic'] + result: 'DocumentDiagnosticReport' + + +class WorkspaceDiagnosticResponse(TypedDict): + method: Literal['workspace/diagnostic'] + result: 'WorkspaceDiagnosticReport' + + +class DiagnosticRefreshResponse(TypedDict): + method: Literal['workspace/diagnostic/refresh'] + result: None + + +class InlineCompletionResponse(TypedDict): + method: Literal['textDocument/inlineCompletion'] + result: 'InlineCompletionList' | list['InlineCompletionItem'] | None + + +class TextDocumentContentResponse(TypedDict): + method: Literal['workspace/textDocumentContent'] + result: 'TextDocumentContentResult' + + +class TextDocumentContentRefreshResponse(TypedDict): + method: Literal['workspace/textDocumentContent/refresh'] + result: None + + +class RegistrationResponse(TypedDict): + method: Literal['client/registerCapability'] + result: None + + +class UnregistrationResponse(TypedDict): + method: Literal['client/unregisterCapability'] + result: None + + +class InitializeResponse(TypedDict): + method: Literal['initialize'] + result: 'InitializeResult' + + +class ShutdownResponse(TypedDict): + method: Literal['shutdown'] + result: None + + +class ShowMessageResponse(TypedDict): + method: Literal['window/showMessageRequest'] + result: 'MessageActionItem' | None + + +class WillSaveTextDocumentWaitUntilResponse(TypedDict): + method: Literal['textDocument/willSaveWaitUntil'] + result: list['TextEdit'] | None + + +class CompletionResponse(TypedDict): + method: Literal['textDocument/completion'] + result: list['CompletionItem'] | 'CompletionList' | None + + +class CompletionResolveResponse(TypedDict): + method: Literal['completionItem/resolve'] + result: 'CompletionItem' + + +class HoverResponse(TypedDict): + method: Literal['textDocument/hover'] + result: 'Hover' | None + + +class SignatureHelpResponse(TypedDict): + method: Literal['textDocument/signatureHelp'] + result: 'SignatureHelp' | None + + +class DefinitionResponse(TypedDict): + method: Literal['textDocument/definition'] + result: 'Definition' | list['DefinitionLink'] | None + + +class ReferencesResponse(TypedDict): + method: Literal['textDocument/references'] + result: list['Location'] | None + + +class DocumentHighlightResponse(TypedDict): + method: Literal['textDocument/documentHighlight'] + result: list['DocumentHighlight'] | None + + +class DocumentSymbolResponse(TypedDict): + method: Literal['textDocument/documentSymbol'] + result: list['SymbolInformation'] | list['DocumentSymbol'] | None + + +class CodeActionResponse(TypedDict): + method: Literal['textDocument/codeAction'] + result: list['Command' | 'CodeAction'] | None + + +class CodeActionResolveResponse(TypedDict): + method: Literal['codeAction/resolve'] + result: 'CodeAction' + + +class WorkspaceSymbolResponse(TypedDict): + method: Literal['workspace/symbol'] + result: list['SymbolInformation'] | list['WorkspaceSymbol'] | None + + +class WorkspaceSymbolResolveResponse(TypedDict): + method: Literal['workspaceSymbol/resolve'] + result: 'WorkspaceSymbol' + + +class CodeLensResponse(TypedDict): + method: Literal['textDocument/codeLens'] + result: list['CodeLens'] | None + + +class CodeLensResolveResponse(TypedDict): + method: Literal['codeLens/resolve'] + result: 'CodeLens' + + +class CodeLensRefreshResponse(TypedDict): + method: Literal['workspace/codeLens/refresh'] + result: None + + +class DocumentLinkResponse(TypedDict): + method: Literal['textDocument/documentLink'] + result: list['DocumentLink'] | None + + +class DocumentLinkResolveResponse(TypedDict): + method: Literal['documentLink/resolve'] + result: 'DocumentLink' + + +class DocumentFormattingResponse(TypedDict): + method: Literal['textDocument/formatting'] + result: list['TextEdit'] | None + + +class DocumentRangeFormattingResponse(TypedDict): + method: Literal['textDocument/rangeFormatting'] + result: list['TextEdit'] | None + + +class DocumentRangesFormattingResponse(TypedDict): + method: Literal['textDocument/rangesFormatting'] + result: list['TextEdit'] | None + + +class DocumentOnTypeFormattingResponse(TypedDict): + method: Literal['textDocument/onTypeFormatting'] + result: list['TextEdit'] | None + + +class RenameResponse(TypedDict): + method: Literal['textDocument/rename'] + result: 'WorkspaceEdit' | None + + +class PrepareRenameResponse(TypedDict): + method: Literal['textDocument/prepareRename'] + result: 'PrepareRenameResult' | None + + +class ExecuteCommandResponse(TypedDict): + method: Literal['workspace/executeCommand'] + result: 'LSPAny' | None + + +class ApplyWorkspaceEditResponse(TypedDict): + method: Literal['workspace/applyEdit'] + result: 'ApplyWorkspaceEditResult' + + +ServerResponse: TypeAlias = Union[ + ImplementationResponse, + TypeDefinitionResponse, + DocumentColorResponse, + ColorPresentationResponse, + FoldingRangeResponse, + DeclarationResponse, + SelectionRangeResponse, + CallHierarchyPrepareResponse, + CallHierarchyIncomingCallsResponse, + CallHierarchyOutgoingCallsResponse, + SemanticTokensResponse, + SemanticTokensDeltaResponse, + SemanticTokensRangeResponse, + LinkedEditingRangeResponse, + WillCreateFilesResponse, + WillRenameFilesResponse, + WillDeleteFilesResponse, + MonikerResponse, + TypeHierarchyPrepareResponse, + TypeHierarchySupertypesResponse, + TypeHierarchySubtypesResponse, + InlineValueResponse, + InlayHintResponse, + InlayHintResolveResponse, + DocumentDiagnosticResponse, + WorkspaceDiagnosticResponse, + InlineCompletionResponse, + TextDocumentContentResponse, + InitializeResponse, + ShutdownResponse, + WillSaveTextDocumentWaitUntilResponse, + CompletionResponse, + CompletionResolveResponse, + HoverResponse, + SignatureHelpResponse, + DefinitionResponse, + ReferencesResponse, + DocumentHighlightResponse, + DocumentSymbolResponse, + CodeActionResponse, + CodeActionResolveResponse, + WorkspaceSymbolResponse, + WorkspaceSymbolResolveResponse, + CodeLensResponse, + CodeLensResolveResponse, + DocumentLinkResponse, + DocumentLinkResolveResponse, + DocumentFormattingResponse, + DocumentRangeFormattingResponse, + DocumentRangesFormattingResponse, + DocumentOnTypeFormattingResponse, + RenameResponse, + PrepareRenameResponse, + ExecuteCommandResponse, +] + + +ClientResponse: TypeAlias = Union[ + WorkspaceFoldersResponse, + ConfigurationResponse, + FoldingRangeRefreshResponse, + WorkDoneProgressCreateResponse, + SemanticTokensRefreshResponse, + ShowDocumentResponse, + InlineValueRefreshResponse, + InlayHintRefreshResponse, + DiagnosticRefreshResponse, + TextDocumentContentRefreshResponse, + RegistrationResponse, + UnregistrationResponse, + ShowMessageResponse, + CodeLensRefreshResponse, + ApplyWorkspaceEditResponse, +] + + +class DidChangeWorkspaceFoldersNotification(TypedDict): + method: Literal['workspace/didChangeWorkspaceFolders'] + params: 'DidChangeWorkspaceFoldersParams' + + +class WorkDoneProgressCancelNotification(TypedDict): + method: Literal['window/workDoneProgress/cancel'] + params: 'WorkDoneProgressCancelParams' + + +class DidCreateFilesNotification(TypedDict): + method: Literal['workspace/didCreateFiles'] + params: 'CreateFilesParams' + + +class DidRenameFilesNotification(TypedDict): + method: Literal['workspace/didRenameFiles'] + params: 'RenameFilesParams' + + +class DidDeleteFilesNotification(TypedDict): + method: Literal['workspace/didDeleteFiles'] + params: 'DeleteFilesParams' + + +class DidOpenNotebookDocumentNotification(TypedDict): + method: Literal['notebookDocument/didOpen'] + params: 'DidOpenNotebookDocumentParams' + + +class DidChangeNotebookDocumentNotification(TypedDict): + method: Literal['notebookDocument/didChange'] + params: 'DidChangeNotebookDocumentParams' + + +class DidSaveNotebookDocumentNotification(TypedDict): + method: Literal['notebookDocument/didSave'] + params: 'DidSaveNotebookDocumentParams' + + +class DidCloseNotebookDocumentNotification(TypedDict): + method: Literal['notebookDocument/didClose'] + params: 'DidCloseNotebookDocumentParams' + + +class InitializedNotification(TypedDict): + method: Literal['initialized'] + params: 'InitializedParams' + + +class ExitNotification(TypedDict): + method: Literal['exit'] + params: None + + +class DidChangeConfigurationNotification(TypedDict): + method: Literal['workspace/didChangeConfiguration'] + params: 'DidChangeConfigurationParams' + + +class ShowMessageNotification(TypedDict): + method: Literal['window/showMessage'] + params: 'ShowMessageParams' + + +class LogMessageNotification(TypedDict): + method: Literal['window/logMessage'] + params: 'LogMessageParams' + + +class TelemetryEventNotification(TypedDict): + method: Literal['telemetry/event'] + params: 'LSPAny' + + +class DidOpenTextDocumentNotification(TypedDict): + method: Literal['textDocument/didOpen'] + params: 'DidOpenTextDocumentParams' + + +class DidChangeTextDocumentNotification(TypedDict): + method: Literal['textDocument/didChange'] + params: 'DidChangeTextDocumentParams' + + +class DidCloseTextDocumentNotification(TypedDict): + method: Literal['textDocument/didClose'] + params: 'DidCloseTextDocumentParams' + + +class DidSaveTextDocumentNotification(TypedDict): + method: Literal['textDocument/didSave'] + params: 'DidSaveTextDocumentParams' + + +class WillSaveTextDocumentNotification(TypedDict): + method: Literal['textDocument/willSave'] + params: 'WillSaveTextDocumentParams' + + +class DidChangeWatchedFilesNotification(TypedDict): + method: Literal['workspace/didChangeWatchedFiles'] + params: 'DidChangeWatchedFilesParams' + + +class PublishDiagnosticsNotification(TypedDict): + method: Literal['textDocument/publishDiagnostics'] + params: 'PublishDiagnosticsParams' + + +class SetTraceNotification(TypedDict): + method: Literal['$/setTrace'] + params: 'SetTraceParams' + + +class LogTraceNotification(TypedDict): + method: Literal['$/logTrace'] + params: 'LogTraceParams' + + +class CancelNotification(TypedDict): + method: Literal['$/cancelRequest'] + params: 'CancelParams' + + +class ProgressNotification(TypedDict): + method: Literal['$/progress'] + params: 'ProgressParams' + + +ClientNotification: TypeAlias = Union[ + DidChangeWorkspaceFoldersNotification, + WorkDoneProgressCancelNotification, + DidCreateFilesNotification, + DidRenameFilesNotification, + DidDeleteFilesNotification, + DidOpenNotebookDocumentNotification, + DidChangeNotebookDocumentNotification, + DidSaveNotebookDocumentNotification, + DidCloseNotebookDocumentNotification, + InitializedNotification, + ExitNotification, + DidChangeConfigurationNotification, + DidOpenTextDocumentNotification, + DidChangeTextDocumentNotification, + DidCloseTextDocumentNotification, + DidSaveTextDocumentNotification, + WillSaveTextDocumentNotification, + DidChangeWatchedFilesNotification, + SetTraceNotification, + CancelNotification, + ProgressNotification, +] + + +ServerNotification: TypeAlias = Union[ + ShowMessageNotification, + LogMessageNotification, + TelemetryEventNotification, + PublishDiagnosticsNotification, + LogTraceNotification, + CancelNotification, + ProgressNotification, +] diff --git a/generated/lsp_types.py b/generated/lsp_types.py index f809d0c..6608342 100644 --- a/generated/lsp_types.py +++ b/generated/lsp_types.py @@ -8023,841 +8023,3 @@ class ClientSemanticTokensRequestFullDelta(TypedDict): The client will send the `textDocument/semanticTokens/full/delta` request if the server provides a corresponding handler. """ - - -class ImplementationRequest(TypedDict): - method: Literal['textDocument/implementation'] - params: 'ImplementationParams' - - -class TypeDefinitionRequest(TypedDict): - method: Literal['textDocument/typeDefinition'] - params: 'TypeDefinitionParams' - - -class WorkspaceFoldersRequest(TypedDict): - method: Literal['workspace/workspaceFolders'] - params: None - - -class ConfigurationRequest(TypedDict): - method: Literal['workspace/configuration'] - params: 'ConfigurationParams' - - -class DocumentColorRequest(TypedDict): - method: Literal['textDocument/documentColor'] - params: 'DocumentColorParams' - - -class ColorPresentationRequest(TypedDict): - method: Literal['textDocument/colorPresentation'] - params: 'ColorPresentationParams' - - -class FoldingRangeRequest(TypedDict): - method: Literal['textDocument/foldingRange'] - params: 'FoldingRangeParams' - - -class FoldingRangeRefreshRequest(TypedDict): - method: Literal['workspace/foldingRange/refresh'] - params: None - - -class DeclarationRequest(TypedDict): - method: Literal['textDocument/declaration'] - params: 'DeclarationParams' - - -class SelectionRangeRequest(TypedDict): - method: Literal['textDocument/selectionRange'] - params: 'SelectionRangeParams' - - -class WorkDoneProgressCreateRequest(TypedDict): - method: Literal['window/workDoneProgress/create'] - params: 'WorkDoneProgressCreateParams' - - -class CallHierarchyPrepareRequest(TypedDict): - method: Literal['textDocument/prepareCallHierarchy'] - params: 'CallHierarchyPrepareParams' - - -class CallHierarchyIncomingCallsRequest(TypedDict): - method: Literal['callHierarchy/incomingCalls'] - params: 'CallHierarchyIncomingCallsParams' - - -class CallHierarchyOutgoingCallsRequest(TypedDict): - method: Literal['callHierarchy/outgoingCalls'] - params: 'CallHierarchyOutgoingCallsParams' - - -class SemanticTokensRequest(TypedDict): - method: Literal['textDocument/semanticTokens/full'] - params: 'SemanticTokensParams' - - -class SemanticTokensDeltaRequest(TypedDict): - method: Literal['textDocument/semanticTokens/full/delta'] - params: 'SemanticTokensDeltaParams' - - -class SemanticTokensRangeRequest(TypedDict): - method: Literal['textDocument/semanticTokens/range'] - params: 'SemanticTokensRangeParams' - - -class SemanticTokensRefreshRequest(TypedDict): - method: Literal['workspace/semanticTokens/refresh'] - params: None - - -class ShowDocumentRequest(TypedDict): - method: Literal['window/showDocument'] - params: 'ShowDocumentParams' - - -class LinkedEditingRangeRequest(TypedDict): - method: Literal['textDocument/linkedEditingRange'] - params: 'LinkedEditingRangeParams' - - -class WillCreateFilesRequest(TypedDict): - method: Literal['workspace/willCreateFiles'] - params: 'CreateFilesParams' - - -class WillRenameFilesRequest(TypedDict): - method: Literal['workspace/willRenameFiles'] - params: 'RenameFilesParams' - - -class WillDeleteFilesRequest(TypedDict): - method: Literal['workspace/willDeleteFiles'] - params: 'DeleteFilesParams' - - -class MonikerRequest(TypedDict): - method: Literal['textDocument/moniker'] - params: 'MonikerParams' - - -class TypeHierarchyPrepareRequest(TypedDict): - method: Literal['textDocument/prepareTypeHierarchy'] - params: 'TypeHierarchyPrepareParams' - - -class TypeHierarchySupertypesRequest(TypedDict): - method: Literal['typeHierarchy/supertypes'] - params: 'TypeHierarchySupertypesParams' - - -class TypeHierarchySubtypesRequest(TypedDict): - method: Literal['typeHierarchy/subtypes'] - params: 'TypeHierarchySubtypesParams' - - -class InlineValueRequest(TypedDict): - method: Literal['textDocument/inlineValue'] - params: 'InlineValueParams' - - -class InlineValueRefreshRequest(TypedDict): - method: Literal['workspace/inlineValue/refresh'] - params: None - - -class InlayHintRequest(TypedDict): - method: Literal['textDocument/inlayHint'] - params: 'InlayHintParams' - - -class InlayHintResolveRequest(TypedDict): - method: Literal['inlayHint/resolve'] - params: 'InlayHint' - - -class InlayHintRefreshRequest(TypedDict): - method: Literal['workspace/inlayHint/refresh'] - params: None - - -class DocumentDiagnosticRequest(TypedDict): - method: Literal['textDocument/diagnostic'] - params: 'DocumentDiagnosticParams' - - -class WorkspaceDiagnosticRequest(TypedDict): - method: Literal['workspace/diagnostic'] - params: 'WorkspaceDiagnosticParams' - - -class DiagnosticRefreshRequest(TypedDict): - method: Literal['workspace/diagnostic/refresh'] - params: None - - -class InlineCompletionRequest(TypedDict): - method: Literal['textDocument/inlineCompletion'] - params: 'InlineCompletionParams' - - -class TextDocumentContentRequest(TypedDict): - method: Literal['workspace/textDocumentContent'] - params: 'TextDocumentContentParams' - - -class TextDocumentContentRefreshRequest(TypedDict): - method: Literal['workspace/textDocumentContent/refresh'] - params: 'TextDocumentContentRefreshParams' - - -class RegistrationRequest(TypedDict): - method: Literal['client/registerCapability'] - params: 'RegistrationParams' - - -class UnregistrationRequest(TypedDict): - method: Literal['client/unregisterCapability'] - params: 'UnregistrationParams' - - -class InitializeRequest(TypedDict): - method: Literal['initialize'] - params: 'InitializeParams' - - -class ShutdownRequest(TypedDict): - method: Literal['shutdown'] - params: None - - -class ShowMessageRequest(TypedDict): - method: Literal['window/showMessageRequest'] - params: 'ShowMessageRequestParams' - - -class WillSaveTextDocumentWaitUntilRequest(TypedDict): - method: Literal['textDocument/willSaveWaitUntil'] - params: 'WillSaveTextDocumentParams' - - -class CompletionRequest(TypedDict): - method: Literal['textDocument/completion'] - params: 'CompletionParams' - - -class CompletionResolveRequest(TypedDict): - method: Literal['completionItem/resolve'] - params: 'CompletionItem' - - -class HoverRequest(TypedDict): - method: Literal['textDocument/hover'] - params: 'HoverParams' - - -class SignatureHelpRequest(TypedDict): - method: Literal['textDocument/signatureHelp'] - params: 'SignatureHelpParams' - - -class DefinitionRequest(TypedDict): - method: Literal['textDocument/definition'] - params: 'DefinitionParams' - - -class ReferencesRequest(TypedDict): - method: Literal['textDocument/references'] - params: 'ReferenceParams' - - -class DocumentHighlightRequest(TypedDict): - method: Literal['textDocument/documentHighlight'] - params: 'DocumentHighlightParams' - - -class DocumentSymbolRequest(TypedDict): - method: Literal['textDocument/documentSymbol'] - params: 'DocumentSymbolParams' - - -class CodeActionRequest(TypedDict): - method: Literal['textDocument/codeAction'] - params: 'CodeActionParams' - - -class CodeActionResolveRequest(TypedDict): - method: Literal['codeAction/resolve'] - params: 'CodeAction' - - -class WorkspaceSymbolRequest(TypedDict): - method: Literal['workspace/symbol'] - params: 'WorkspaceSymbolParams' - - -class WorkspaceSymbolResolveRequest(TypedDict): - method: Literal['workspaceSymbol/resolve'] - params: 'WorkspaceSymbol' - - -class CodeLensRequest(TypedDict): - method: Literal['textDocument/codeLens'] - params: 'CodeLensParams' - - -class CodeLensResolveRequest(TypedDict): - method: Literal['codeLens/resolve'] - params: 'CodeLens' - - -class CodeLensRefreshRequest(TypedDict): - method: Literal['workspace/codeLens/refresh'] - params: None - - -class DocumentLinkRequest(TypedDict): - method: Literal['textDocument/documentLink'] - params: 'DocumentLinkParams' - - -class DocumentLinkResolveRequest(TypedDict): - method: Literal['documentLink/resolve'] - params: 'DocumentLink' - - -class DocumentFormattingRequest(TypedDict): - method: Literal['textDocument/formatting'] - params: 'DocumentFormattingParams' - - -class DocumentRangeFormattingRequest(TypedDict): - method: Literal['textDocument/rangeFormatting'] - params: 'DocumentRangeFormattingParams' - - -class DocumentRangesFormattingRequest(TypedDict): - method: Literal['textDocument/rangesFormatting'] - params: 'DocumentRangesFormattingParams' - - -class DocumentOnTypeFormattingRequest(TypedDict): - method: Literal['textDocument/onTypeFormatting'] - params: 'DocumentOnTypeFormattingParams' - - -class RenameRequest(TypedDict): - method: Literal['textDocument/rename'] - params: 'RenameParams' - - -class PrepareRenameRequest(TypedDict): - method: Literal['textDocument/prepareRename'] - params: 'PrepareRenameParams' - - -class ExecuteCommandRequest(TypedDict): - method: Literal['workspace/executeCommand'] - params: 'ExecuteCommandParams' - - -class ApplyWorkspaceEditRequest(TypedDict): - method: Literal['workspace/applyEdit'] - params: 'ApplyWorkspaceEditParams' - - -ClientRequest: TypeAlias = Union[ImplementationRequest, TypeDefinitionRequest, DocumentColorRequest, ColorPresentationRequest, FoldingRangeRequest, DeclarationRequest, SelectionRangeRequest, CallHierarchyPrepareRequest, CallHierarchyIncomingCallsRequest, CallHierarchyOutgoingCallsRequest, SemanticTokensRequest, SemanticTokensDeltaRequest, SemanticTokensRangeRequest, LinkedEditingRangeRequest, WillCreateFilesRequest, WillRenameFilesRequest, WillDeleteFilesRequest, MonikerRequest, TypeHierarchyPrepareRequest, TypeHierarchySupertypesRequest, TypeHierarchySubtypesRequest, InlineValueRequest, InlayHintRequest, InlayHintResolveRequest, DocumentDiagnosticRequest, WorkspaceDiagnosticRequest, InlineCompletionRequest, TextDocumentContentRequest, InitializeRequest, ShutdownRequest, WillSaveTextDocumentWaitUntilRequest, CompletionRequest, CompletionResolveRequest, HoverRequest, SignatureHelpRequest, DefinitionRequest, ReferencesRequest, DocumentHighlightRequest, DocumentSymbolRequest, CodeActionRequest, CodeActionResolveRequest, WorkspaceSymbolRequest, WorkspaceSymbolResolveRequest, CodeLensRequest, CodeLensResolveRequest, DocumentLinkRequest, DocumentLinkResolveRequest, DocumentFormattingRequest, DocumentRangeFormattingRequest, DocumentRangesFormattingRequest, DocumentOnTypeFormattingRequest, RenameRequest, PrepareRenameRequest, ExecuteCommandRequest] - - -ServerRequest: TypeAlias = Union[WorkspaceFoldersRequest, ConfigurationRequest, FoldingRangeRefreshRequest, WorkDoneProgressCreateRequest, SemanticTokensRefreshRequest, ShowDocumentRequest, InlineValueRefreshRequest, InlayHintRefreshRequest, DiagnosticRefreshRequest, TextDocumentContentRefreshRequest, RegistrationRequest, UnregistrationRequest, ShowMessageRequest, CodeLensRefreshRequest, ApplyWorkspaceEditRequest] - - -class ImplementationResponse(TypedDict): - method: Literal['textDocument/implementation'] - result: Union['Definition', List['DefinitionLink'], None] - - -class TypeDefinitionResponse(TypedDict): - method: Literal['textDocument/typeDefinition'] - result: Union['Definition', List['DefinitionLink'], None] - - -class WorkspaceFoldersResponse(TypedDict): - method: Literal['workspace/workspaceFolders'] - result: Union[List['WorkspaceFolder'], None] - - -class ConfigurationResponse(TypedDict): - method: Literal['workspace/configuration'] - result: List['LSPAny'] - - -class DocumentColorResponse(TypedDict): - method: Literal['textDocument/documentColor'] - result: List['ColorInformation'] - - -class ColorPresentationResponse(TypedDict): - method: Literal['textDocument/colorPresentation'] - result: List['ColorPresentation'] - - -class FoldingRangeResponse(TypedDict): - method: Literal['textDocument/foldingRange'] - result: Union[List['FoldingRange'], None] - - -class FoldingRangeRefreshResponse(TypedDict): - method: Literal['workspace/foldingRange/refresh'] - result: None - - -class DeclarationResponse(TypedDict): - method: Literal['textDocument/declaration'] - result: Union['Declaration', List['DeclarationLink'], None] - - -class SelectionRangeResponse(TypedDict): - method: Literal['textDocument/selectionRange'] - result: Union[List['SelectionRange'], None] - - -class WorkDoneProgressCreateResponse(TypedDict): - method: Literal['window/workDoneProgress/create'] - result: None - - -class CallHierarchyPrepareResponse(TypedDict): - method: Literal['textDocument/prepareCallHierarchy'] - result: Union[List['CallHierarchyItem'], None] - - -class CallHierarchyIncomingCallsResponse(TypedDict): - method: Literal['callHierarchy/incomingCalls'] - result: Union[List['CallHierarchyIncomingCall'], None] - - -class CallHierarchyOutgoingCallsResponse(TypedDict): - method: Literal['callHierarchy/outgoingCalls'] - result: Union[List['CallHierarchyOutgoingCall'], None] - - -class SemanticTokensResponse(TypedDict): - method: Literal['textDocument/semanticTokens/full'] - result: Union['SemanticTokens', None] - - -class SemanticTokensDeltaResponse(TypedDict): - method: Literal['textDocument/semanticTokens/full/delta'] - result: Union['SemanticTokens', 'SemanticTokensDelta', None] - - -class SemanticTokensRangeResponse(TypedDict): - method: Literal['textDocument/semanticTokens/range'] - result: Union['SemanticTokens', None] - - -class SemanticTokensRefreshResponse(TypedDict): - method: Literal['workspace/semanticTokens/refresh'] - result: None - - -class ShowDocumentResponse(TypedDict): - method: Literal['window/showDocument'] - result: 'ShowDocumentResult' - - -class LinkedEditingRangeResponse(TypedDict): - method: Literal['textDocument/linkedEditingRange'] - result: Union['LinkedEditingRanges', None] - - -class WillCreateFilesResponse(TypedDict): - method: Literal['workspace/willCreateFiles'] - result: Union['WorkspaceEdit', None] - - -class WillRenameFilesResponse(TypedDict): - method: Literal['workspace/willRenameFiles'] - result: Union['WorkspaceEdit', None] - - -class WillDeleteFilesResponse(TypedDict): - method: Literal['workspace/willDeleteFiles'] - result: Union['WorkspaceEdit', None] - - -class MonikerResponse(TypedDict): - method: Literal['textDocument/moniker'] - result: Union[List['Moniker'], None] - - -class TypeHierarchyPrepareResponse(TypedDict): - method: Literal['textDocument/prepareTypeHierarchy'] - result: Union[List['TypeHierarchyItem'], None] - - -class TypeHierarchySupertypesResponse(TypedDict): - method: Literal['typeHierarchy/supertypes'] - result: Union[List['TypeHierarchyItem'], None] - - -class TypeHierarchySubtypesResponse(TypedDict): - method: Literal['typeHierarchy/subtypes'] - result: Union[List['TypeHierarchyItem'], None] - - -class InlineValueResponse(TypedDict): - method: Literal['textDocument/inlineValue'] - result: Union[List['InlineValue'], None] - - -class InlineValueRefreshResponse(TypedDict): - method: Literal['workspace/inlineValue/refresh'] - result: None - - -class InlayHintResponse(TypedDict): - method: Literal['textDocument/inlayHint'] - result: Union[List['InlayHint'], None] - - -class InlayHintResolveResponse(TypedDict): - method: Literal['inlayHint/resolve'] - result: 'InlayHint' - - -class InlayHintRefreshResponse(TypedDict): - method: Literal['workspace/inlayHint/refresh'] - result: None - - -class DocumentDiagnosticResponse(TypedDict): - method: Literal['textDocument/diagnostic'] - result: 'DocumentDiagnosticReport' - - -class WorkspaceDiagnosticResponse(TypedDict): - method: Literal['workspace/diagnostic'] - result: 'WorkspaceDiagnosticReport' - - -class DiagnosticRefreshResponse(TypedDict): - method: Literal['workspace/diagnostic/refresh'] - result: None - - -class InlineCompletionResponse(TypedDict): - method: Literal['textDocument/inlineCompletion'] - result: Union['InlineCompletionList', List['InlineCompletionItem'], None] - - -class TextDocumentContentResponse(TypedDict): - method: Literal['workspace/textDocumentContent'] - result: 'TextDocumentContentResult' - - -class TextDocumentContentRefreshResponse(TypedDict): - method: Literal['workspace/textDocumentContent/refresh'] - result: None - - -class RegistrationResponse(TypedDict): - method: Literal['client/registerCapability'] - result: None - - -class UnregistrationResponse(TypedDict): - method: Literal['client/unregisterCapability'] - result: None - - -class InitializeResponse(TypedDict): - method: Literal['initialize'] - result: 'InitializeResult' - - -class ShutdownResponse(TypedDict): - method: Literal['shutdown'] - result: None - - -class ShowMessageResponse(TypedDict): - method: Literal['window/showMessageRequest'] - result: Union['MessageActionItem', None] - - -class WillSaveTextDocumentWaitUntilResponse(TypedDict): - method: Literal['textDocument/willSaveWaitUntil'] - result: Union[List['TextEdit'], None] - - -class CompletionResponse(TypedDict): - method: Literal['textDocument/completion'] - result: Union[List['CompletionItem'], 'CompletionList', None] - - -class CompletionResolveResponse(TypedDict): - method: Literal['completionItem/resolve'] - result: 'CompletionItem' - - -class HoverResponse(TypedDict): - method: Literal['textDocument/hover'] - result: Union['Hover', None] - - -class SignatureHelpResponse(TypedDict): - method: Literal['textDocument/signatureHelp'] - result: Union['SignatureHelp', None] - - -class DefinitionResponse(TypedDict): - method: Literal['textDocument/definition'] - result: Union['Definition', List['DefinitionLink'], None] - - -class ReferencesResponse(TypedDict): - method: Literal['textDocument/references'] - result: Union[List['Location'], None] - - -class DocumentHighlightResponse(TypedDict): - method: Literal['textDocument/documentHighlight'] - result: Union[List['DocumentHighlight'], None] - - -class DocumentSymbolResponse(TypedDict): - method: Literal['textDocument/documentSymbol'] - result: Union[List['SymbolInformation'], List['DocumentSymbol'], None] - - -class CodeActionResponse(TypedDict): - method: Literal['textDocument/codeAction'] - result: Union[List[Union['Command', 'CodeAction']], None] - - -class CodeActionResolveResponse(TypedDict): - method: Literal['codeAction/resolve'] - result: 'CodeAction' - - -class WorkspaceSymbolResponse(TypedDict): - method: Literal['workspace/symbol'] - result: Union[List['SymbolInformation'], List['WorkspaceSymbol'], None] - - -class WorkspaceSymbolResolveResponse(TypedDict): - method: Literal['workspaceSymbol/resolve'] - result: 'WorkspaceSymbol' - - -class CodeLensResponse(TypedDict): - method: Literal['textDocument/codeLens'] - result: Union[List['CodeLens'], None] - - -class CodeLensResolveResponse(TypedDict): - method: Literal['codeLens/resolve'] - result: 'CodeLens' - - -class CodeLensRefreshResponse(TypedDict): - method: Literal['workspace/codeLens/refresh'] - result: None - - -class DocumentLinkResponse(TypedDict): - method: Literal['textDocument/documentLink'] - result: Union[List['DocumentLink'], None] - - -class DocumentLinkResolveResponse(TypedDict): - method: Literal['documentLink/resolve'] - result: 'DocumentLink' - - -class DocumentFormattingResponse(TypedDict): - method: Literal['textDocument/formatting'] - result: Union[List['TextEdit'], None] - - -class DocumentRangeFormattingResponse(TypedDict): - method: Literal['textDocument/rangeFormatting'] - result: Union[List['TextEdit'], None] - - -class DocumentRangesFormattingResponse(TypedDict): - method: Literal['textDocument/rangesFormatting'] - result: Union[List['TextEdit'], None] - - -class DocumentOnTypeFormattingResponse(TypedDict): - method: Literal['textDocument/onTypeFormatting'] - result: Union[List['TextEdit'], None] - - -class RenameResponse(TypedDict): - method: Literal['textDocument/rename'] - result: Union['WorkspaceEdit', None] - - -class PrepareRenameResponse(TypedDict): - method: Literal['textDocument/prepareRename'] - result: Union['PrepareRenameResult', None] - - -class ExecuteCommandResponse(TypedDict): - method: Literal['workspace/executeCommand'] - result: Union['LSPAny', None] - - -class ApplyWorkspaceEditResponse(TypedDict): - method: Literal['workspace/applyEdit'] - result: 'ApplyWorkspaceEditResult' - - -ServerResponse: TypeAlias = Union[ImplementationResponse, TypeDefinitionResponse, DocumentColorResponse, ColorPresentationResponse, FoldingRangeResponse, DeclarationResponse, SelectionRangeResponse, CallHierarchyPrepareResponse, CallHierarchyIncomingCallsResponse, CallHierarchyOutgoingCallsResponse, SemanticTokensResponse, SemanticTokensDeltaResponse, SemanticTokensRangeResponse, LinkedEditingRangeResponse, WillCreateFilesResponse, WillRenameFilesResponse, WillDeleteFilesResponse, MonikerResponse, TypeHierarchyPrepareResponse, TypeHierarchySupertypesResponse, TypeHierarchySubtypesResponse, InlineValueResponse, InlayHintResponse, InlayHintResolveResponse, DocumentDiagnosticResponse, WorkspaceDiagnosticResponse, InlineCompletionResponse, TextDocumentContentResponse, InitializeResponse, ShutdownResponse, WillSaveTextDocumentWaitUntilResponse, CompletionResponse, CompletionResolveResponse, HoverResponse, SignatureHelpResponse, DefinitionResponse, ReferencesResponse, DocumentHighlightResponse, DocumentSymbolResponse, CodeActionResponse, CodeActionResolveResponse, WorkspaceSymbolResponse, WorkspaceSymbolResolveResponse, CodeLensResponse, CodeLensResolveResponse, DocumentLinkResponse, DocumentLinkResolveResponse, DocumentFormattingResponse, DocumentRangeFormattingResponse, DocumentRangesFormattingResponse, DocumentOnTypeFormattingResponse, RenameResponse, PrepareRenameResponse, ExecuteCommandResponse] - - -ClientResponse: TypeAlias = Union[WorkspaceFoldersResponse, ConfigurationResponse, FoldingRangeRefreshResponse, WorkDoneProgressCreateResponse, SemanticTokensRefreshResponse, ShowDocumentResponse, InlineValueRefreshResponse, InlayHintRefreshResponse, DiagnosticRefreshResponse, TextDocumentContentRefreshResponse, RegistrationResponse, UnregistrationResponse, ShowMessageResponse, CodeLensRefreshResponse, ApplyWorkspaceEditResponse] - - -class DidChangeWorkspaceFoldersNotification(TypedDict): - method: Literal['workspace/didChangeWorkspaceFolders'] - params: 'DidChangeWorkspaceFoldersParams' - - -class WorkDoneProgressCancelNotification(TypedDict): - method: Literal['window/workDoneProgress/cancel'] - params: 'WorkDoneProgressCancelParams' - - -class DidCreateFilesNotification(TypedDict): - method: Literal['workspace/didCreateFiles'] - params: 'CreateFilesParams' - - -class DidRenameFilesNotification(TypedDict): - method: Literal['workspace/didRenameFiles'] - params: 'RenameFilesParams' - - -class DidDeleteFilesNotification(TypedDict): - method: Literal['workspace/didDeleteFiles'] - params: 'DeleteFilesParams' - - -class DidOpenNotebookDocumentNotification(TypedDict): - method: Literal['notebookDocument/didOpen'] - params: 'DidOpenNotebookDocumentParams' - - -class DidChangeNotebookDocumentNotification(TypedDict): - method: Literal['notebookDocument/didChange'] - params: 'DidChangeNotebookDocumentParams' - - -class DidSaveNotebookDocumentNotification(TypedDict): - method: Literal['notebookDocument/didSave'] - params: 'DidSaveNotebookDocumentParams' - - -class DidCloseNotebookDocumentNotification(TypedDict): - method: Literal['notebookDocument/didClose'] - params: 'DidCloseNotebookDocumentParams' - - -class InitializedNotification(TypedDict): - method: Literal['initialized'] - params: 'InitializedParams' - - -class ExitNotification(TypedDict): - method: Literal['exit'] - params: None - - -class DidChangeConfigurationNotification(TypedDict): - method: Literal['workspace/didChangeConfiguration'] - params: 'DidChangeConfigurationParams' - - -class ShowMessageNotification(TypedDict): - method: Literal['window/showMessage'] - params: 'ShowMessageParams' - - -class LogMessageNotification(TypedDict): - method: Literal['window/logMessage'] - params: 'LogMessageParams' - - -class TelemetryEventNotification(TypedDict): - method: Literal['telemetry/event'] - params: 'LSPAny' - - -class DidOpenTextDocumentNotification(TypedDict): - method: Literal['textDocument/didOpen'] - params: 'DidOpenTextDocumentParams' - - -class DidChangeTextDocumentNotification(TypedDict): - method: Literal['textDocument/didChange'] - params: 'DidChangeTextDocumentParams' - - -class DidCloseTextDocumentNotification(TypedDict): - method: Literal['textDocument/didClose'] - params: 'DidCloseTextDocumentParams' - - -class DidSaveTextDocumentNotification(TypedDict): - method: Literal['textDocument/didSave'] - params: 'DidSaveTextDocumentParams' - - -class WillSaveTextDocumentNotification(TypedDict): - method: Literal['textDocument/willSave'] - params: 'WillSaveTextDocumentParams' - - -class DidChangeWatchedFilesNotification(TypedDict): - method: Literal['workspace/didChangeWatchedFiles'] - params: 'DidChangeWatchedFilesParams' - - -class PublishDiagnosticsNotification(TypedDict): - method: Literal['textDocument/publishDiagnostics'] - params: 'PublishDiagnosticsParams' - - -class SetTraceNotification(TypedDict): - method: Literal['$/setTrace'] - params: 'SetTraceParams' - - -class LogTraceNotification(TypedDict): - method: Literal['$/logTrace'] - params: 'LogTraceParams' - - -class CancelNotification(TypedDict): - method: Literal['$/cancelRequest'] - params: 'CancelParams' - - -class ProgressNotification(TypedDict): - method: Literal['$/progress'] - params: 'ProgressParams' - - -ClientNotification: TypeAlias = Union[DidChangeWorkspaceFoldersNotification, WorkDoneProgressCancelNotification, DidCreateFilesNotification, DidRenameFilesNotification, DidDeleteFilesNotification, DidOpenNotebookDocumentNotification, DidChangeNotebookDocumentNotification, DidSaveNotebookDocumentNotification, DidCloseNotebookDocumentNotification, InitializedNotification, ExitNotification, DidChangeConfigurationNotification, DidOpenTextDocumentNotification, DidChangeTextDocumentNotification, DidCloseTextDocumentNotification, DidSaveTextDocumentNotification, WillSaveTextDocumentNotification, DidChangeWatchedFilesNotification, SetTraceNotification, CancelNotification, ProgressNotification] - - -ServerNotification: TypeAlias = Union[ShowMessageNotification, LogMessageNotification, TelemetryEventNotification, PublishDiagnosticsNotification, LogTraceNotification, CancelNotification, ProgressNotification] diff --git a/pyproject.toml b/pyproject.toml index 3e338a7..137a857 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,6 +8,7 @@ classifiers = [ "Operating System :: OS Independent", ] dependencies = [ + "ruff>=0.15.4", "typing-extensions", ] @@ -29,7 +30,13 @@ target-version = "py313" [tool.ruff.format] quote-style = "single" exclude = [ - "generated/*.py" + "generated/lsp_types.py" +] + +[tool.ruff.lint.per-file-ignores] +"generated/custom.py" = [ + "F403", # https://docs.astral.sh/ruff/rules/undefined-local-with-import-star/ + "F405", # https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage/ ] [tool.ruff.lint.isort] @@ -49,6 +56,7 @@ extend-select = ["ALL"] fixable = ["ALL"] ignore = [ "COM812", # https://docs.astral.sh/ruff/rules/missing-trailing-comma/ + "CPY001", # https://docs.astral.sh/ruff/rules/missing-copyright-notice/ "C901", # https://docs.astral.sh/ruff/rules/complex-structure/ "D100", # https://docs.astral.sh/ruff/rules/undocumented-public-module/#undocumented-public-module-d100 "D101", # https://docs.astral.sh/ruff/rules/undocumented-public-class/ diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 483a522..0000000 --- a/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -typing-extensions==4.15.0 \ No newline at end of file diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..408bc70 --- /dev/null +++ b/uv.lock @@ -0,0 +1,52 @@ +version = 1 +revision = 3 +requires-python = ">=3.13" + +[[package]] +name = "lsp-types" +version = "1.0.0" +source = { virtual = "." } +dependencies = [ + { name = "ruff" }, + { name = "typing-extensions" }, +] + +[package.metadata] +requires-dist = [ + { name = "ruff", specifier = ">=0.15.4" }, + { name = "typing-extensions" }, +] + +[[package]] +name = "ruff" +version = "0.15.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/31/d6e536cdebb6568ae75a7f00e4b4819ae0ad2640c3604c305a0428680b0c/ruff-0.15.4.tar.gz", hash = "sha256:3412195319e42d634470cc97aa9803d07e9d5c9223b99bcb1518f0c725f26ae1", size = 4569550, upload-time = "2026-02-26T20:04:14.959Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f2/82/c11a03cfec3a4d26a0ea1e571f0f44be5993b923f905eeddfc397c13d360/ruff-0.15.4-py3-none-linux_armv6l.whl", hash = "sha256:a1810931c41606c686bae8b5b9a8072adac2f611bb433c0ba476acba17a332e0", size = 10453333, upload-time = "2026-02-26T20:04:20.093Z" }, + { url = "https://files.pythonhosted.org/packages/ce/5d/6a1f271f6e31dffb31855996493641edc3eef8077b883eaf007a2f1c2976/ruff-0.15.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:5a1632c66672b8b4d3e1d1782859e98d6e0b4e70829530666644286600a33992", size = 10853356, upload-time = "2026-02-26T20:04:05.808Z" }, + { url = "https://files.pythonhosted.org/packages/b1/d8/0fab9f8842b83b1a9c2bf81b85063f65e93fb512e60effa95b0be49bfc54/ruff-0.15.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:a4386ba2cd6c0f4ff75252845906acc7c7c8e1ac567b7bc3d373686ac8c222ba", size = 10187434, upload-time = "2026-02-26T20:03:54.656Z" }, + { url = "https://files.pythonhosted.org/packages/85/cc/cc220fd9394eff5db8d94dec199eec56dd6c9f3651d8869d024867a91030/ruff-0.15.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2496488bdfd3732747558b6f95ae427ff066d1fcd054daf75f5a50674411e75", size = 10535456, upload-time = "2026-02-26T20:03:52.738Z" }, + { url = "https://files.pythonhosted.org/packages/fa/0f/bced38fa5cf24373ec767713c8e4cadc90247f3863605fb030e597878661/ruff-0.15.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3f1c4893841ff2d54cbda1b2860fa3260173df5ddd7b95d370186f8a5e66a4ac", size = 10287772, upload-time = "2026-02-26T20:04:08.138Z" }, + { url = "https://files.pythonhosted.org/packages/2b/90/58a1802d84fed15f8f281925b21ab3cecd813bde52a8ca033a4de8ab0e7a/ruff-0.15.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:820b8766bd65503b6c30aaa6331e8ef3a6e564f7999c844e9a547c40179e440a", size = 11049051, upload-time = "2026-02-26T20:04:03.53Z" }, + { url = "https://files.pythonhosted.org/packages/d2/ac/b7ad36703c35f3866584564dc15f12f91cb1a26a897dc2fd13d7cb3ae1af/ruff-0.15.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9fb74bab47139c1751f900f857fa503987253c3ef89129b24ed375e72873e85", size = 11890494, upload-time = "2026-02-26T20:04:10.497Z" }, + { url = "https://files.pythonhosted.org/packages/93/3d/3eb2f47a39a8b0da99faf9c54d3eb24720add1e886a5309d4d1be73a6380/ruff-0.15.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f80c98765949c518142b3a50a5db89343aa90f2c2bf7799de9986498ae6176db", size = 11326221, upload-time = "2026-02-26T20:04:12.84Z" }, + { url = "https://files.pythonhosted.org/packages/ff/90/bf134f4c1e5243e62690e09d63c55df948a74084c8ac3e48a88468314da6/ruff-0.15.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:451a2e224151729b3b6c9ffb36aed9091b2996fe4bdbd11f47e27d8f2e8888ec", size = 11168459, upload-time = "2026-02-26T20:04:00.969Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e5/a64d27688789b06b5d55162aafc32059bb8c989c61a5139a36e1368285eb/ruff-0.15.4-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:a8f157f2e583c513c4f5f896163a93198297371f34c04220daf40d133fdd4f7f", size = 11104366, upload-time = "2026-02-26T20:03:48.099Z" }, + { url = "https://files.pythonhosted.org/packages/f1/f6/32d1dcb66a2559763fc3027bdd65836cad9eb09d90f2ed6a63d8e9252b02/ruff-0.15.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:917cc68503357021f541e69b35361c99387cdbbf99bd0ea4aa6f28ca99ff5338", size = 10510887, upload-time = "2026-02-26T20:03:45.771Z" }, + { url = "https://files.pythonhosted.org/packages/ff/92/22d1ced50971c5b6433aed166fcef8c9343f567a94cf2b9d9089f6aa80fe/ruff-0.15.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:e9737c8161da79fd7cfec19f1e35620375bd8b2a50c3e77fa3d2c16f574105cc", size = 10285939, upload-time = "2026-02-26T20:04:22.42Z" }, + { url = "https://files.pythonhosted.org/packages/e6/f4/7c20aec3143837641a02509a4668fb146a642fd1211846634edc17eb5563/ruff-0.15.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:291258c917539e18f6ba40482fe31d6f5ac023994ee11d7bdafd716f2aab8a68", size = 10765471, upload-time = "2026-02-26T20:03:58.924Z" }, + { url = "https://files.pythonhosted.org/packages/d0/09/6d2f7586f09a16120aebdff8f64d962d7c4348313c77ebb29c566cefc357/ruff-0.15.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:3f83c45911da6f2cd5936c436cf86b9f09f09165f033a99dcf7477e34041cbc3", size = 11263382, upload-time = "2026-02-26T20:04:24.424Z" }, + { url = "https://files.pythonhosted.org/packages/1b/fa/2ef715a1cd329ef47c1a050e10dee91a9054b7ce2fcfdd6a06d139afb7ec/ruff-0.15.4-py3-none-win32.whl", hash = "sha256:65594a2d557d4ee9f02834fcdf0a28daa8b3b9f6cb2cb93846025a36db47ef22", size = 10506664, upload-time = "2026-02-26T20:03:50.56Z" }, + { url = "https://files.pythonhosted.org/packages/d0/a8/c688ef7e29983976820d18710f955751d9f4d4eb69df658af3d006e2ba3e/ruff-0.15.4-py3-none-win_amd64.whl", hash = "sha256:04196ad44f0df220c2ece5b0e959c2f37c777375ec744397d21d15b50a75264f", size = 11651048, upload-time = "2026-02-26T20:04:17.191Z" }, + { url = "https://files.pythonhosted.org/packages/3e/0a/9e1be9035b37448ce2e68c978f0591da94389ade5a5abafa4cf99985d1b2/ruff-0.15.4-py3-none-win_arm64.whl", hash = "sha256:60d5177e8cfc70e51b9c5fad936c634872a74209f934c1e79107d11787ad5453", size = 10966776, upload-time = "2026-02-26T20:03:56.908Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] From cbf1302ac1abceed1d51e268949a02d433058c83 Mon Sep 17 00:00:00 2001 From: Rafal Chlodnicki Date: Fri, 27 Feb 2026 20:53:27 +0100 Subject: [PATCH 2/6] sort --- generate.py | 9 +- generated/custom.py | 1190 +++++++++++++++++++++---------------------- 2 files changed, 602 insertions(+), 597 deletions(-) diff --git a/generate.py b/generate.py index b92f3b1..f86bedb 100755 --- a/generate.py +++ b/generate.py @@ -2,6 +2,7 @@ from __future__ import annotations +from operator import itemgetter from pathlib import Path from typing import cast from typing import Literal @@ -110,10 +111,14 @@ def generate_custom(output: str) -> None: ] ) + # Sort by method name to avoid unstable order. + requests = sorted(lsp_json['requests'], key=itemgetter('typeName')) + notifications = sorted(lsp_json['notifications'], key=itemgetter('typeName')) + content += '\n\n\n' - content += '\n\n\n'.join(generate_requests_and_responses(lsp_json['requests'])) + content += '\n\n\n'.join(generate_requests_and_responses(requests)) content += '\n\n\n' - content += '\n\n\n'.join(generate_notifications(lsp_json['notifications'])) + content += '\n\n\n'.join(generate_notifications(notifications)) content += '\n' # Remove trailing spaces. diff --git a/generated/custom.py b/generated/custom.py index 085fb40..7abaaab 100644 --- a/generated/custom.py +++ b/generated/custom.py @@ -7,29 +7,49 @@ from typing_extensions import TypeAlias -class ImplementationRequest(TypedDict): - method: Literal['textDocument/implementation'] - params: 'ImplementationParams' +class ApplyWorkspaceEditRequest(TypedDict): + method: Literal['workspace/applyEdit'] + params: 'ApplyWorkspaceEditParams' -class TypeDefinitionRequest(TypedDict): - method: Literal['textDocument/typeDefinition'] - params: 'TypeDefinitionParams' +class CallHierarchyIncomingCallsRequest(TypedDict): + method: Literal['callHierarchy/incomingCalls'] + params: 'CallHierarchyIncomingCallsParams' -class WorkspaceFoldersRequest(TypedDict): - method: Literal['workspace/workspaceFolders'] +class CallHierarchyOutgoingCallsRequest(TypedDict): + method: Literal['callHierarchy/outgoingCalls'] + params: 'CallHierarchyOutgoingCallsParams' + + +class CallHierarchyPrepareRequest(TypedDict): + method: Literal['textDocument/prepareCallHierarchy'] + params: 'CallHierarchyPrepareParams' + + +class CodeActionRequest(TypedDict): + method: Literal['textDocument/codeAction'] + params: 'CodeActionParams' + + +class CodeActionResolveRequest(TypedDict): + method: Literal['codeAction/resolve'] + params: 'CodeAction' + + +class CodeLensRefreshRequest(TypedDict): + method: Literal['workspace/codeLens/refresh'] params: None -class ConfigurationRequest(TypedDict): - method: Literal['workspace/configuration'] - params: 'ConfigurationParams' +class CodeLensRequest(TypedDict): + method: Literal['textDocument/codeLens'] + params: 'CodeLensParams' -class DocumentColorRequest(TypedDict): - method: Literal['textDocument/documentColor'] - params: 'DocumentColorParams' +class CodeLensResolveRequest(TypedDict): + method: Literal['codeLens/resolve'] + params: 'CodeLens' class ColorPresentationRequest(TypedDict): @@ -37,14 +57,19 @@ class ColorPresentationRequest(TypedDict): params: 'ColorPresentationParams' -class FoldingRangeRequest(TypedDict): - method: Literal['textDocument/foldingRange'] - params: 'FoldingRangeParams' +class CompletionRequest(TypedDict): + method: Literal['textDocument/completion'] + params: 'CompletionParams' -class FoldingRangeRefreshRequest(TypedDict): - method: Literal['workspace/foldingRange/refresh'] - params: None +class CompletionResolveRequest(TypedDict): + method: Literal['completionItem/resolve'] + params: 'CompletionItem' + + +class ConfigurationRequest(TypedDict): + method: Literal['workspace/configuration'] + params: 'ConfigurationParams' class DeclarationRequest(TypedDict): @@ -52,103 +77,98 @@ class DeclarationRequest(TypedDict): params: 'DeclarationParams' -class SelectionRangeRequest(TypedDict): - method: Literal['textDocument/selectionRange'] - params: 'SelectionRangeParams' - - -class WorkDoneProgressCreateRequest(TypedDict): - method: Literal['window/workDoneProgress/create'] - params: 'WorkDoneProgressCreateParams' +class DefinitionRequest(TypedDict): + method: Literal['textDocument/definition'] + params: 'DefinitionParams' -class CallHierarchyPrepareRequest(TypedDict): - method: Literal['textDocument/prepareCallHierarchy'] - params: 'CallHierarchyPrepareParams' +class DiagnosticRefreshRequest(TypedDict): + method: Literal['workspace/diagnostic/refresh'] + params: None -class CallHierarchyIncomingCallsRequest(TypedDict): - method: Literal['callHierarchy/incomingCalls'] - params: 'CallHierarchyIncomingCallsParams' +class DocumentColorRequest(TypedDict): + method: Literal['textDocument/documentColor'] + params: 'DocumentColorParams' -class CallHierarchyOutgoingCallsRequest(TypedDict): - method: Literal['callHierarchy/outgoingCalls'] - params: 'CallHierarchyOutgoingCallsParams' +class DocumentDiagnosticRequest(TypedDict): + method: Literal['textDocument/diagnostic'] + params: 'DocumentDiagnosticParams' -class SemanticTokensRequest(TypedDict): - method: Literal['textDocument/semanticTokens/full'] - params: 'SemanticTokensParams' +class DocumentFormattingRequest(TypedDict): + method: Literal['textDocument/formatting'] + params: 'DocumentFormattingParams' -class SemanticTokensDeltaRequest(TypedDict): - method: Literal['textDocument/semanticTokens/full/delta'] - params: 'SemanticTokensDeltaParams' +class DocumentHighlightRequest(TypedDict): + method: Literal['textDocument/documentHighlight'] + params: 'DocumentHighlightParams' -class SemanticTokensRangeRequest(TypedDict): - method: Literal['textDocument/semanticTokens/range'] - params: 'SemanticTokensRangeParams' +class DocumentLinkRequest(TypedDict): + method: Literal['textDocument/documentLink'] + params: 'DocumentLinkParams' -class SemanticTokensRefreshRequest(TypedDict): - method: Literal['workspace/semanticTokens/refresh'] - params: None +class DocumentLinkResolveRequest(TypedDict): + method: Literal['documentLink/resolve'] + params: 'DocumentLink' -class ShowDocumentRequest(TypedDict): - method: Literal['window/showDocument'] - params: 'ShowDocumentParams' +class DocumentOnTypeFormattingRequest(TypedDict): + method: Literal['textDocument/onTypeFormatting'] + params: 'DocumentOnTypeFormattingParams' -class LinkedEditingRangeRequest(TypedDict): - method: Literal['textDocument/linkedEditingRange'] - params: 'LinkedEditingRangeParams' +class DocumentRangeFormattingRequest(TypedDict): + method: Literal['textDocument/rangeFormatting'] + params: 'DocumentRangeFormattingParams' -class WillCreateFilesRequest(TypedDict): - method: Literal['workspace/willCreateFiles'] - params: 'CreateFilesParams' +class DocumentRangesFormattingRequest(TypedDict): + method: Literal['textDocument/rangesFormatting'] + params: 'DocumentRangesFormattingParams' -class WillRenameFilesRequest(TypedDict): - method: Literal['workspace/willRenameFiles'] - params: 'RenameFilesParams' +class DocumentSymbolRequest(TypedDict): + method: Literal['textDocument/documentSymbol'] + params: 'DocumentSymbolParams' -class WillDeleteFilesRequest(TypedDict): - method: Literal['workspace/willDeleteFiles'] - params: 'DeleteFilesParams' +class ExecuteCommandRequest(TypedDict): + method: Literal['workspace/executeCommand'] + params: 'ExecuteCommandParams' -class MonikerRequest(TypedDict): - method: Literal['textDocument/moniker'] - params: 'MonikerParams' +class FoldingRangeRefreshRequest(TypedDict): + method: Literal['workspace/foldingRange/refresh'] + params: None -class TypeHierarchyPrepareRequest(TypedDict): - method: Literal['textDocument/prepareTypeHierarchy'] - params: 'TypeHierarchyPrepareParams' +class FoldingRangeRequest(TypedDict): + method: Literal['textDocument/foldingRange'] + params: 'FoldingRangeParams' -class TypeHierarchySupertypesRequest(TypedDict): - method: Literal['typeHierarchy/supertypes'] - params: 'TypeHierarchySupertypesParams' +class HoverRequest(TypedDict): + method: Literal['textDocument/hover'] + params: 'HoverParams' -class TypeHierarchySubtypesRequest(TypedDict): - method: Literal['typeHierarchy/subtypes'] - params: 'TypeHierarchySubtypesParams' +class ImplementationRequest(TypedDict): + method: Literal['textDocument/implementation'] + params: 'ImplementationParams' -class InlineValueRequest(TypedDict): - method: Literal['textDocument/inlineValue'] - params: 'InlineValueParams' +class InitializeRequest(TypedDict): + method: Literal['initialize'] + params: 'InitializeParams' -class InlineValueRefreshRequest(TypedDict): - method: Literal['workspace/inlineValue/refresh'] +class InlayHintRefreshRequest(TypedDict): + method: Literal['workspace/inlayHint/refresh'] params: None @@ -162,39 +182,39 @@ class InlayHintResolveRequest(TypedDict): params: 'InlayHint' -class InlayHintRefreshRequest(TypedDict): - method: Literal['workspace/inlayHint/refresh'] - params: None +class InlineCompletionRequest(TypedDict): + method: Literal['textDocument/inlineCompletion'] + params: 'InlineCompletionParams' -class DocumentDiagnosticRequest(TypedDict): - method: Literal['textDocument/diagnostic'] - params: 'DocumentDiagnosticParams' +class InlineValueRefreshRequest(TypedDict): + method: Literal['workspace/inlineValue/refresh'] + params: None -class WorkspaceDiagnosticRequest(TypedDict): - method: Literal['workspace/diagnostic'] - params: 'WorkspaceDiagnosticParams' +class InlineValueRequest(TypedDict): + method: Literal['textDocument/inlineValue'] + params: 'InlineValueParams' -class DiagnosticRefreshRequest(TypedDict): - method: Literal['workspace/diagnostic/refresh'] - params: None +class LinkedEditingRangeRequest(TypedDict): + method: Literal['textDocument/linkedEditingRange'] + params: 'LinkedEditingRangeParams' -class InlineCompletionRequest(TypedDict): - method: Literal['textDocument/inlineCompletion'] - params: 'InlineCompletionParams' +class MonikerRequest(TypedDict): + method: Literal['textDocument/moniker'] + params: 'MonikerParams' -class TextDocumentContentRequest(TypedDict): - method: Literal['workspace/textDocumentContent'] - params: 'TextDocumentContentParams' +class PrepareRenameRequest(TypedDict): + method: Literal['textDocument/prepareRename'] + params: 'PrepareRenameParams' -class TextDocumentContentRefreshRequest(TypedDict): - method: Literal['workspace/textDocumentContent/refresh'] - params: 'TextDocumentContentRefreshParams' +class ReferencesRequest(TypedDict): + method: Literal['textDocument/references'] + params: 'ReferenceParams' class RegistrationRequest(TypedDict): @@ -202,44 +222,49 @@ class RegistrationRequest(TypedDict): params: 'RegistrationParams' -class UnregistrationRequest(TypedDict): - method: Literal['client/unregisterCapability'] - params: 'UnregistrationParams' +class RenameRequest(TypedDict): + method: Literal['textDocument/rename'] + params: 'RenameParams' -class InitializeRequest(TypedDict): - method: Literal['initialize'] - params: 'InitializeParams' +class SelectionRangeRequest(TypedDict): + method: Literal['textDocument/selectionRange'] + params: 'SelectionRangeParams' -class ShutdownRequest(TypedDict): - method: Literal['shutdown'] - params: None +class SemanticTokensDeltaRequest(TypedDict): + method: Literal['textDocument/semanticTokens/full/delta'] + params: 'SemanticTokensDeltaParams' -class ShowMessageRequest(TypedDict): - method: Literal['window/showMessageRequest'] - params: 'ShowMessageRequestParams' +class SemanticTokensRangeRequest(TypedDict): + method: Literal['textDocument/semanticTokens/range'] + params: 'SemanticTokensRangeParams' -class WillSaveTextDocumentWaitUntilRequest(TypedDict): - method: Literal['textDocument/willSaveWaitUntil'] - params: 'WillSaveTextDocumentParams' +class SemanticTokensRefreshRequest(TypedDict): + method: Literal['workspace/semanticTokens/refresh'] + params: None -class CompletionRequest(TypedDict): - method: Literal['textDocument/completion'] - params: 'CompletionParams' +class SemanticTokensRequest(TypedDict): + method: Literal['textDocument/semanticTokens/full'] + params: 'SemanticTokensParams' -class CompletionResolveRequest(TypedDict): - method: Literal['completionItem/resolve'] - params: 'CompletionItem' +class ShowDocumentRequest(TypedDict): + method: Literal['window/showDocument'] + params: 'ShowDocumentParams' -class HoverRequest(TypedDict): - method: Literal['textDocument/hover'] - params: 'HoverParams' +class ShowMessageRequest(TypedDict): + method: Literal['window/showMessageRequest'] + params: 'ShowMessageRequestParams' + + +class ShutdownRequest(TypedDict): + method: Literal['shutdown'] + params: None class SignatureHelpRequest(TypedDict): @@ -247,211 +272,206 @@ class SignatureHelpRequest(TypedDict): params: 'SignatureHelpParams' -class DefinitionRequest(TypedDict): - method: Literal['textDocument/definition'] - params: 'DefinitionParams' - - -class ReferencesRequest(TypedDict): - method: Literal['textDocument/references'] - params: 'ReferenceParams' - - -class DocumentHighlightRequest(TypedDict): - method: Literal['textDocument/documentHighlight'] - params: 'DocumentHighlightParams' - - -class DocumentSymbolRequest(TypedDict): - method: Literal['textDocument/documentSymbol'] - params: 'DocumentSymbolParams' - - -class CodeActionRequest(TypedDict): - method: Literal['textDocument/codeAction'] - params: 'CodeActionParams' - - -class CodeActionResolveRequest(TypedDict): - method: Literal['codeAction/resolve'] - params: 'CodeAction' +class TextDocumentContentRefreshRequest(TypedDict): + method: Literal['workspace/textDocumentContent/refresh'] + params: 'TextDocumentContentRefreshParams' -class WorkspaceSymbolRequest(TypedDict): - method: Literal['workspace/symbol'] - params: 'WorkspaceSymbolParams' +class TextDocumentContentRequest(TypedDict): + method: Literal['workspace/textDocumentContent'] + params: 'TextDocumentContentParams' -class WorkspaceSymbolResolveRequest(TypedDict): - method: Literal['workspaceSymbol/resolve'] - params: 'WorkspaceSymbol' +class TypeDefinitionRequest(TypedDict): + method: Literal['textDocument/typeDefinition'] + params: 'TypeDefinitionParams' -class CodeLensRequest(TypedDict): - method: Literal['textDocument/codeLens'] - params: 'CodeLensParams' +class TypeHierarchyPrepareRequest(TypedDict): + method: Literal['textDocument/prepareTypeHierarchy'] + params: 'TypeHierarchyPrepareParams' -class CodeLensResolveRequest(TypedDict): - method: Literal['codeLens/resolve'] - params: 'CodeLens' +class TypeHierarchySubtypesRequest(TypedDict): + method: Literal['typeHierarchy/subtypes'] + params: 'TypeHierarchySubtypesParams' -class CodeLensRefreshRequest(TypedDict): - method: Literal['workspace/codeLens/refresh'] - params: None +class TypeHierarchySupertypesRequest(TypedDict): + method: Literal['typeHierarchy/supertypes'] + params: 'TypeHierarchySupertypesParams' -class DocumentLinkRequest(TypedDict): - method: Literal['textDocument/documentLink'] - params: 'DocumentLinkParams' +class UnregistrationRequest(TypedDict): + method: Literal['client/unregisterCapability'] + params: 'UnregistrationParams' -class DocumentLinkResolveRequest(TypedDict): - method: Literal['documentLink/resolve'] - params: 'DocumentLink' +class WillCreateFilesRequest(TypedDict): + method: Literal['workspace/willCreateFiles'] + params: 'CreateFilesParams' -class DocumentFormattingRequest(TypedDict): - method: Literal['textDocument/formatting'] - params: 'DocumentFormattingParams' +class WillDeleteFilesRequest(TypedDict): + method: Literal['workspace/willDeleteFiles'] + params: 'DeleteFilesParams' -class DocumentRangeFormattingRequest(TypedDict): - method: Literal['textDocument/rangeFormatting'] - params: 'DocumentRangeFormattingParams' +class WillRenameFilesRequest(TypedDict): + method: Literal['workspace/willRenameFiles'] + params: 'RenameFilesParams' -class DocumentRangesFormattingRequest(TypedDict): - method: Literal['textDocument/rangesFormatting'] - params: 'DocumentRangesFormattingParams' +class WillSaveTextDocumentWaitUntilRequest(TypedDict): + method: Literal['textDocument/willSaveWaitUntil'] + params: 'WillSaveTextDocumentParams' -class DocumentOnTypeFormattingRequest(TypedDict): - method: Literal['textDocument/onTypeFormatting'] - params: 'DocumentOnTypeFormattingParams' +class WorkDoneProgressCreateRequest(TypedDict): + method: Literal['window/workDoneProgress/create'] + params: 'WorkDoneProgressCreateParams' -class RenameRequest(TypedDict): - method: Literal['textDocument/rename'] - params: 'RenameParams' +class WorkspaceDiagnosticRequest(TypedDict): + method: Literal['workspace/diagnostic'] + params: 'WorkspaceDiagnosticParams' -class PrepareRenameRequest(TypedDict): - method: Literal['textDocument/prepareRename'] - params: 'PrepareRenameParams' +class WorkspaceFoldersRequest(TypedDict): + method: Literal['workspace/workspaceFolders'] + params: None -class ExecuteCommandRequest(TypedDict): - method: Literal['workspace/executeCommand'] - params: 'ExecuteCommandParams' +class WorkspaceSymbolRequest(TypedDict): + method: Literal['workspace/symbol'] + params: 'WorkspaceSymbolParams' -class ApplyWorkspaceEditRequest(TypedDict): - method: Literal['workspace/applyEdit'] - params: 'ApplyWorkspaceEditParams' +class WorkspaceSymbolResolveRequest(TypedDict): + method: Literal['workspaceSymbol/resolve'] + params: 'WorkspaceSymbol' ClientRequest: TypeAlias = Union[ - ImplementationRequest, - TypeDefinitionRequest, - DocumentColorRequest, - ColorPresentationRequest, - FoldingRangeRequest, - DeclarationRequest, - SelectionRangeRequest, - CallHierarchyPrepareRequest, CallHierarchyIncomingCallsRequest, CallHierarchyOutgoingCallsRequest, - SemanticTokensRequest, - SemanticTokensDeltaRequest, - SemanticTokensRangeRequest, - LinkedEditingRangeRequest, - WillCreateFilesRequest, - WillRenameFilesRequest, - WillDeleteFilesRequest, - MonikerRequest, - TypeHierarchyPrepareRequest, - TypeHierarchySupertypesRequest, - TypeHierarchySubtypesRequest, - InlineValueRequest, - InlayHintRequest, - InlayHintResolveRequest, - DocumentDiagnosticRequest, - WorkspaceDiagnosticRequest, - InlineCompletionRequest, - TextDocumentContentRequest, - InitializeRequest, - ShutdownRequest, - WillSaveTextDocumentWaitUntilRequest, - CompletionRequest, - CompletionResolveRequest, - HoverRequest, - SignatureHelpRequest, - DefinitionRequest, - ReferencesRequest, - DocumentHighlightRequest, - DocumentSymbolRequest, + CallHierarchyPrepareRequest, CodeActionRequest, CodeActionResolveRequest, - WorkspaceSymbolRequest, - WorkspaceSymbolResolveRequest, CodeLensRequest, CodeLensResolveRequest, + ColorPresentationRequest, + CompletionRequest, + CompletionResolveRequest, + DeclarationRequest, + DefinitionRequest, + DocumentColorRequest, + DocumentDiagnosticRequest, + DocumentFormattingRequest, + DocumentHighlightRequest, DocumentLinkRequest, DocumentLinkResolveRequest, - DocumentFormattingRequest, + DocumentOnTypeFormattingRequest, DocumentRangeFormattingRequest, DocumentRangesFormattingRequest, - DocumentOnTypeFormattingRequest, - RenameRequest, - PrepareRenameRequest, + DocumentSymbolRequest, ExecuteCommandRequest, + FoldingRangeRequest, + HoverRequest, + ImplementationRequest, + InitializeRequest, + InlayHintRequest, + InlayHintResolveRequest, + InlineCompletionRequest, + InlineValueRequest, + LinkedEditingRangeRequest, + MonikerRequest, + PrepareRenameRequest, + ReferencesRequest, + RenameRequest, + SelectionRangeRequest, + SemanticTokensDeltaRequest, + SemanticTokensRangeRequest, + SemanticTokensRequest, + ShutdownRequest, + SignatureHelpRequest, + TextDocumentContentRequest, + TypeDefinitionRequest, + TypeHierarchyPrepareRequest, + TypeHierarchySubtypesRequest, + TypeHierarchySupertypesRequest, + WillCreateFilesRequest, + WillDeleteFilesRequest, + WillRenameFilesRequest, + WillSaveTextDocumentWaitUntilRequest, + WorkspaceDiagnosticRequest, + WorkspaceSymbolRequest, + WorkspaceSymbolResolveRequest, ] ServerRequest: TypeAlias = Union[ - WorkspaceFoldersRequest, + ApplyWorkspaceEditRequest, + CodeLensRefreshRequest, ConfigurationRequest, + DiagnosticRefreshRequest, FoldingRangeRefreshRequest, - WorkDoneProgressCreateRequest, + InlayHintRefreshRequest, + InlineValueRefreshRequest, + RegistrationRequest, SemanticTokensRefreshRequest, ShowDocumentRequest, - InlineValueRefreshRequest, - InlayHintRefreshRequest, - DiagnosticRefreshRequest, + ShowMessageRequest, TextDocumentContentRefreshRequest, - RegistrationRequest, UnregistrationRequest, - ShowMessageRequest, - CodeLensRefreshRequest, - ApplyWorkspaceEditRequest, + WorkDoneProgressCreateRequest, + WorkspaceFoldersRequest, ] -class ImplementationResponse(TypedDict): - method: Literal['textDocument/implementation'] - result: 'Definition' | list['DefinitionLink'] | None +class ApplyWorkspaceEditResponse(TypedDict): + method: Literal['workspace/applyEdit'] + result: 'ApplyWorkspaceEditResult' -class TypeDefinitionResponse(TypedDict): - method: Literal['textDocument/typeDefinition'] - result: 'Definition' | list['DefinitionLink'] | None +class CallHierarchyIncomingCallsResponse(TypedDict): + method: Literal['callHierarchy/incomingCalls'] + result: list['CallHierarchyIncomingCall'] | None -class WorkspaceFoldersResponse(TypedDict): - method: Literal['workspace/workspaceFolders'] - result: list['WorkspaceFolder'] | None +class CallHierarchyOutgoingCallsResponse(TypedDict): + method: Literal['callHierarchy/outgoingCalls'] + result: list['CallHierarchyOutgoingCall'] | None -class ConfigurationResponse(TypedDict): - method: Literal['workspace/configuration'] - result: list['LSPAny'] +class CallHierarchyPrepareResponse(TypedDict): + method: Literal['textDocument/prepareCallHierarchy'] + result: list['CallHierarchyItem'] | None -class DocumentColorResponse(TypedDict): - method: Literal['textDocument/documentColor'] - result: list['ColorInformation'] +class CodeActionResponse(TypedDict): + method: Literal['textDocument/codeAction'] + result: list['Command' | 'CodeAction'] | None + + +class CodeActionResolveResponse(TypedDict): + method: Literal['codeAction/resolve'] + result: 'CodeAction' + + +class CodeLensRefreshResponse(TypedDict): + method: Literal['workspace/codeLens/refresh'] + result: None + + +class CodeLensResponse(TypedDict): + method: Literal['textDocument/codeLens'] + result: list['CodeLens'] | None + + +class CodeLensResolveResponse(TypedDict): + method: Literal['codeLens/resolve'] + result: 'CodeLens' class ColorPresentationResponse(TypedDict): @@ -459,14 +479,19 @@ class ColorPresentationResponse(TypedDict): result: list['ColorPresentation'] -class FoldingRangeResponse(TypedDict): - method: Literal['textDocument/foldingRange'] - result: list['FoldingRange'] | None +class CompletionResponse(TypedDict): + method: Literal['textDocument/completion'] + result: list['CompletionItem'] | 'CompletionList' | None -class FoldingRangeRefreshResponse(TypedDict): - method: Literal['workspace/foldingRange/refresh'] - result: None +class CompletionResolveResponse(TypedDict): + method: Literal['completionItem/resolve'] + result: 'CompletionItem' + + +class ConfigurationResponse(TypedDict): + method: Literal['workspace/configuration'] + result: list['LSPAny'] class DeclarationResponse(TypedDict): @@ -474,103 +499,98 @@ class DeclarationResponse(TypedDict): result: 'Declaration' | list['DeclarationLink'] | None -class SelectionRangeResponse(TypedDict): - method: Literal['textDocument/selectionRange'] - result: list['SelectionRange'] | None +class DefinitionResponse(TypedDict): + method: Literal['textDocument/definition'] + result: 'Definition' | list['DefinitionLink'] | None -class WorkDoneProgressCreateResponse(TypedDict): - method: Literal['window/workDoneProgress/create'] +class DiagnosticRefreshResponse(TypedDict): + method: Literal['workspace/diagnostic/refresh'] result: None -class CallHierarchyPrepareResponse(TypedDict): - method: Literal['textDocument/prepareCallHierarchy'] - result: list['CallHierarchyItem'] | None - - -class CallHierarchyIncomingCallsResponse(TypedDict): - method: Literal['callHierarchy/incomingCalls'] - result: list['CallHierarchyIncomingCall'] | None +class DocumentColorResponse(TypedDict): + method: Literal['textDocument/documentColor'] + result: list['ColorInformation'] -class CallHierarchyOutgoingCallsResponse(TypedDict): - method: Literal['callHierarchy/outgoingCalls'] - result: list['CallHierarchyOutgoingCall'] | None +class DocumentDiagnosticResponse(TypedDict): + method: Literal['textDocument/diagnostic'] + result: 'DocumentDiagnosticReport' -class SemanticTokensResponse(TypedDict): - method: Literal['textDocument/semanticTokens/full'] - result: 'SemanticTokens' | None +class DocumentFormattingResponse(TypedDict): + method: Literal['textDocument/formatting'] + result: list['TextEdit'] | None -class SemanticTokensDeltaResponse(TypedDict): - method: Literal['textDocument/semanticTokens/full/delta'] - result: 'SemanticTokens' | 'SemanticTokensDelta' | None +class DocumentHighlightResponse(TypedDict): + method: Literal['textDocument/documentHighlight'] + result: list['DocumentHighlight'] | None -class SemanticTokensRangeResponse(TypedDict): - method: Literal['textDocument/semanticTokens/range'] - result: 'SemanticTokens' | None +class DocumentLinkResponse(TypedDict): + method: Literal['textDocument/documentLink'] + result: list['DocumentLink'] | None -class SemanticTokensRefreshResponse(TypedDict): - method: Literal['workspace/semanticTokens/refresh'] - result: None +class DocumentLinkResolveResponse(TypedDict): + method: Literal['documentLink/resolve'] + result: 'DocumentLink' -class ShowDocumentResponse(TypedDict): - method: Literal['window/showDocument'] - result: 'ShowDocumentResult' +class DocumentOnTypeFormattingResponse(TypedDict): + method: Literal['textDocument/onTypeFormatting'] + result: list['TextEdit'] | None -class LinkedEditingRangeResponse(TypedDict): - method: Literal['textDocument/linkedEditingRange'] - result: 'LinkedEditingRanges' | None +class DocumentRangeFormattingResponse(TypedDict): + method: Literal['textDocument/rangeFormatting'] + result: list['TextEdit'] | None -class WillCreateFilesResponse(TypedDict): - method: Literal['workspace/willCreateFiles'] - result: 'WorkspaceEdit' | None +class DocumentRangesFormattingResponse(TypedDict): + method: Literal['textDocument/rangesFormatting'] + result: list['TextEdit'] | None -class WillRenameFilesResponse(TypedDict): - method: Literal['workspace/willRenameFiles'] - result: 'WorkspaceEdit' | None +class DocumentSymbolResponse(TypedDict): + method: Literal['textDocument/documentSymbol'] + result: list['SymbolInformation'] | list['DocumentSymbol'] | None -class WillDeleteFilesResponse(TypedDict): - method: Literal['workspace/willDeleteFiles'] - result: 'WorkspaceEdit' | None +class ExecuteCommandResponse(TypedDict): + method: Literal['workspace/executeCommand'] + result: 'LSPAny' | None -class MonikerResponse(TypedDict): - method: Literal['textDocument/moniker'] - result: list['Moniker'] | None +class FoldingRangeRefreshResponse(TypedDict): + method: Literal['workspace/foldingRange/refresh'] + result: None -class TypeHierarchyPrepareResponse(TypedDict): - method: Literal['textDocument/prepareTypeHierarchy'] - result: list['TypeHierarchyItem'] | None +class FoldingRangeResponse(TypedDict): + method: Literal['textDocument/foldingRange'] + result: list['FoldingRange'] | None -class TypeHierarchySupertypesResponse(TypedDict): - method: Literal['typeHierarchy/supertypes'] - result: list['TypeHierarchyItem'] | None +class HoverResponse(TypedDict): + method: Literal['textDocument/hover'] + result: 'Hover' | None -class TypeHierarchySubtypesResponse(TypedDict): - method: Literal['typeHierarchy/subtypes'] - result: list['TypeHierarchyItem'] | None +class ImplementationResponse(TypedDict): + method: Literal['textDocument/implementation'] + result: 'Definition' | list['DefinitionLink'] | None -class InlineValueResponse(TypedDict): - method: Literal['textDocument/inlineValue'] - result: list['InlineValue'] | None +class InitializeResponse(TypedDict): + method: Literal['initialize'] + result: 'InitializeResult' -class InlineValueRefreshResponse(TypedDict): - method: Literal['workspace/inlineValue/refresh'] +class InlayHintRefreshResponse(TypedDict): + method: Literal['workspace/inlayHint/refresh'] result: None @@ -584,39 +604,39 @@ class InlayHintResolveResponse(TypedDict): result: 'InlayHint' -class InlayHintRefreshResponse(TypedDict): - method: Literal['workspace/inlayHint/refresh'] - result: None +class InlineCompletionResponse(TypedDict): + method: Literal['textDocument/inlineCompletion'] + result: 'InlineCompletionList' | list['InlineCompletionItem'] | None -class DocumentDiagnosticResponse(TypedDict): - method: Literal['textDocument/diagnostic'] - result: 'DocumentDiagnosticReport' +class InlineValueRefreshResponse(TypedDict): + method: Literal['workspace/inlineValue/refresh'] + result: None -class WorkspaceDiagnosticResponse(TypedDict): - method: Literal['workspace/diagnostic'] - result: 'WorkspaceDiagnosticReport' +class InlineValueResponse(TypedDict): + method: Literal['textDocument/inlineValue'] + result: list['InlineValue'] | None -class DiagnosticRefreshResponse(TypedDict): - method: Literal['workspace/diagnostic/refresh'] - result: None +class LinkedEditingRangeResponse(TypedDict): + method: Literal['textDocument/linkedEditingRange'] + result: 'LinkedEditingRanges' | None -class InlineCompletionResponse(TypedDict): - method: Literal['textDocument/inlineCompletion'] - result: 'InlineCompletionList' | list['InlineCompletionItem'] | None +class MonikerResponse(TypedDict): + method: Literal['textDocument/moniker'] + result: list['Moniker'] | None -class TextDocumentContentResponse(TypedDict): - method: Literal['workspace/textDocumentContent'] - result: 'TextDocumentContentResult' +class PrepareRenameResponse(TypedDict): + method: Literal['textDocument/prepareRename'] + result: 'PrepareRenameResult' | None -class TextDocumentContentRefreshResponse(TypedDict): - method: Literal['workspace/textDocumentContent/refresh'] - result: None +class ReferencesResponse(TypedDict): + method: Literal['textDocument/references'] + result: list['Location'] | None class RegistrationResponse(TypedDict): @@ -624,44 +644,49 @@ class RegistrationResponse(TypedDict): result: None -class UnregistrationResponse(TypedDict): - method: Literal['client/unregisterCapability'] - result: None +class RenameResponse(TypedDict): + method: Literal['textDocument/rename'] + result: 'WorkspaceEdit' | None -class InitializeResponse(TypedDict): - method: Literal['initialize'] - result: 'InitializeResult' +class SelectionRangeResponse(TypedDict): + method: Literal['textDocument/selectionRange'] + result: list['SelectionRange'] | None -class ShutdownResponse(TypedDict): - method: Literal['shutdown'] - result: None +class SemanticTokensDeltaResponse(TypedDict): + method: Literal['textDocument/semanticTokens/full/delta'] + result: 'SemanticTokens' | 'SemanticTokensDelta' | None -class ShowMessageResponse(TypedDict): - method: Literal['window/showMessageRequest'] - result: 'MessageActionItem' | None +class SemanticTokensRangeResponse(TypedDict): + method: Literal['textDocument/semanticTokens/range'] + result: 'SemanticTokens' | None -class WillSaveTextDocumentWaitUntilResponse(TypedDict): - method: Literal['textDocument/willSaveWaitUntil'] - result: list['TextEdit'] | None +class SemanticTokensRefreshResponse(TypedDict): + method: Literal['workspace/semanticTokens/refresh'] + result: None -class CompletionResponse(TypedDict): - method: Literal['textDocument/completion'] - result: list['CompletionItem'] | 'CompletionList' | None +class SemanticTokensResponse(TypedDict): + method: Literal['textDocument/semanticTokens/full'] + result: 'SemanticTokens' | None -class CompletionResolveResponse(TypedDict): - method: Literal['completionItem/resolve'] - result: 'CompletionItem' +class ShowDocumentResponse(TypedDict): + method: Literal['window/showDocument'] + result: 'ShowDocumentResult' -class HoverResponse(TypedDict): - method: Literal['textDocument/hover'] - result: 'Hover' | None +class ShowMessageResponse(TypedDict): + method: Literal['window/showMessageRequest'] + result: 'MessageActionItem' | None + + +class ShutdownResponse(TypedDict): + method: Literal['shutdown'] + result: None class SignatureHelpResponse(TypedDict): @@ -669,196 +694,201 @@ class SignatureHelpResponse(TypedDict): result: 'SignatureHelp' | None -class DefinitionResponse(TypedDict): - method: Literal['textDocument/definition'] - result: 'Definition' | list['DefinitionLink'] | None - - -class ReferencesResponse(TypedDict): - method: Literal['textDocument/references'] - result: list['Location'] | None - - -class DocumentHighlightResponse(TypedDict): - method: Literal['textDocument/documentHighlight'] - result: list['DocumentHighlight'] | None - - -class DocumentSymbolResponse(TypedDict): - method: Literal['textDocument/documentSymbol'] - result: list['SymbolInformation'] | list['DocumentSymbol'] | None - - -class CodeActionResponse(TypedDict): - method: Literal['textDocument/codeAction'] - result: list['Command' | 'CodeAction'] | None +class TextDocumentContentRefreshResponse(TypedDict): + method: Literal['workspace/textDocumentContent/refresh'] + result: None -class CodeActionResolveResponse(TypedDict): - method: Literal['codeAction/resolve'] - result: 'CodeAction' +class TextDocumentContentResponse(TypedDict): + method: Literal['workspace/textDocumentContent'] + result: 'TextDocumentContentResult' -class WorkspaceSymbolResponse(TypedDict): - method: Literal['workspace/symbol'] - result: list['SymbolInformation'] | list['WorkspaceSymbol'] | None +class TypeDefinitionResponse(TypedDict): + method: Literal['textDocument/typeDefinition'] + result: 'Definition' | list['DefinitionLink'] | None -class WorkspaceSymbolResolveResponse(TypedDict): - method: Literal['workspaceSymbol/resolve'] - result: 'WorkspaceSymbol' +class TypeHierarchyPrepareResponse(TypedDict): + method: Literal['textDocument/prepareTypeHierarchy'] + result: list['TypeHierarchyItem'] | None -class CodeLensResponse(TypedDict): - method: Literal['textDocument/codeLens'] - result: list['CodeLens'] | None +class TypeHierarchySubtypesResponse(TypedDict): + method: Literal['typeHierarchy/subtypes'] + result: list['TypeHierarchyItem'] | None -class CodeLensResolveResponse(TypedDict): - method: Literal['codeLens/resolve'] - result: 'CodeLens' +class TypeHierarchySupertypesResponse(TypedDict): + method: Literal['typeHierarchy/supertypes'] + result: list['TypeHierarchyItem'] | None -class CodeLensRefreshResponse(TypedDict): - method: Literal['workspace/codeLens/refresh'] +class UnregistrationResponse(TypedDict): + method: Literal['client/unregisterCapability'] result: None -class DocumentLinkResponse(TypedDict): - method: Literal['textDocument/documentLink'] - result: list['DocumentLink'] | None - - -class DocumentLinkResolveResponse(TypedDict): - method: Literal['documentLink/resolve'] - result: 'DocumentLink' - - -class DocumentFormattingResponse(TypedDict): - method: Literal['textDocument/formatting'] - result: list['TextEdit'] | None - - -class DocumentRangeFormattingResponse(TypedDict): - method: Literal['textDocument/rangeFormatting'] - result: list['TextEdit'] | None - - -class DocumentRangesFormattingResponse(TypedDict): - method: Literal['textDocument/rangesFormatting'] - result: list['TextEdit'] | None +class WillCreateFilesResponse(TypedDict): + method: Literal['workspace/willCreateFiles'] + result: 'WorkspaceEdit' | None -class DocumentOnTypeFormattingResponse(TypedDict): - method: Literal['textDocument/onTypeFormatting'] - result: list['TextEdit'] | None +class WillDeleteFilesResponse(TypedDict): + method: Literal['workspace/willDeleteFiles'] + result: 'WorkspaceEdit' | None -class RenameResponse(TypedDict): - method: Literal['textDocument/rename'] +class WillRenameFilesResponse(TypedDict): + method: Literal['workspace/willRenameFiles'] result: 'WorkspaceEdit' | None -class PrepareRenameResponse(TypedDict): - method: Literal['textDocument/prepareRename'] - result: 'PrepareRenameResult' | None - +class WillSaveTextDocumentWaitUntilResponse(TypedDict): + method: Literal['textDocument/willSaveWaitUntil'] + result: list['TextEdit'] | None -class ExecuteCommandResponse(TypedDict): - method: Literal['workspace/executeCommand'] - result: 'LSPAny' | None +class WorkDoneProgressCreateResponse(TypedDict): + method: Literal['window/workDoneProgress/create'] + result: None -class ApplyWorkspaceEditResponse(TypedDict): - method: Literal['workspace/applyEdit'] - result: 'ApplyWorkspaceEditResult' +class WorkspaceDiagnosticResponse(TypedDict): + method: Literal['workspace/diagnostic'] + result: 'WorkspaceDiagnosticReport' -ServerResponse: TypeAlias = Union[ - ImplementationResponse, - TypeDefinitionResponse, - DocumentColorResponse, - ColorPresentationResponse, - FoldingRangeResponse, - DeclarationResponse, - SelectionRangeResponse, - CallHierarchyPrepareResponse, - CallHierarchyIncomingCallsResponse, - CallHierarchyOutgoingCallsResponse, - SemanticTokensResponse, - SemanticTokensDeltaResponse, - SemanticTokensRangeResponse, - LinkedEditingRangeResponse, - WillCreateFilesResponse, - WillRenameFilesResponse, - WillDeleteFilesResponse, - MonikerResponse, - TypeHierarchyPrepareResponse, - TypeHierarchySupertypesResponse, - TypeHierarchySubtypesResponse, - InlineValueResponse, - InlayHintResponse, - InlayHintResolveResponse, - DocumentDiagnosticResponse, - WorkspaceDiagnosticResponse, - InlineCompletionResponse, - TextDocumentContentResponse, - InitializeResponse, - ShutdownResponse, - WillSaveTextDocumentWaitUntilResponse, - CompletionResponse, - CompletionResolveResponse, - HoverResponse, - SignatureHelpResponse, - DefinitionResponse, - ReferencesResponse, - DocumentHighlightResponse, - DocumentSymbolResponse, + +class WorkspaceFoldersResponse(TypedDict): + method: Literal['workspace/workspaceFolders'] + result: list['WorkspaceFolder'] | None + + +class WorkspaceSymbolResponse(TypedDict): + method: Literal['workspace/symbol'] + result: list['SymbolInformation'] | list['WorkspaceSymbol'] | None + + +class WorkspaceSymbolResolveResponse(TypedDict): + method: Literal['workspaceSymbol/resolve'] + result: 'WorkspaceSymbol' + + +ServerResponse: TypeAlias = Union[ + CallHierarchyIncomingCallsResponse, + CallHierarchyOutgoingCallsResponse, + CallHierarchyPrepareResponse, CodeActionResponse, CodeActionResolveResponse, - WorkspaceSymbolResponse, - WorkspaceSymbolResolveResponse, CodeLensResponse, CodeLensResolveResponse, + ColorPresentationResponse, + CompletionResponse, + CompletionResolveResponse, + DeclarationResponse, + DefinitionResponse, + DocumentColorResponse, + DocumentDiagnosticResponse, + DocumentFormattingResponse, + DocumentHighlightResponse, DocumentLinkResponse, DocumentLinkResolveResponse, - DocumentFormattingResponse, + DocumentOnTypeFormattingResponse, DocumentRangeFormattingResponse, DocumentRangesFormattingResponse, - DocumentOnTypeFormattingResponse, - RenameResponse, - PrepareRenameResponse, + DocumentSymbolResponse, ExecuteCommandResponse, + FoldingRangeResponse, + HoverResponse, + ImplementationResponse, + InitializeResponse, + InlayHintResponse, + InlayHintResolveResponse, + InlineCompletionResponse, + InlineValueResponse, + LinkedEditingRangeResponse, + MonikerResponse, + PrepareRenameResponse, + ReferencesResponse, + RenameResponse, + SelectionRangeResponse, + SemanticTokensDeltaResponse, + SemanticTokensRangeResponse, + SemanticTokensResponse, + ShutdownResponse, + SignatureHelpResponse, + TextDocumentContentResponse, + TypeDefinitionResponse, + TypeHierarchyPrepareResponse, + TypeHierarchySubtypesResponse, + TypeHierarchySupertypesResponse, + WillCreateFilesResponse, + WillDeleteFilesResponse, + WillRenameFilesResponse, + WillSaveTextDocumentWaitUntilResponse, + WorkspaceDiagnosticResponse, + WorkspaceSymbolResponse, + WorkspaceSymbolResolveResponse, ] ClientResponse: TypeAlias = Union[ - WorkspaceFoldersResponse, + ApplyWorkspaceEditResponse, + CodeLensRefreshResponse, ConfigurationResponse, + DiagnosticRefreshResponse, FoldingRangeRefreshResponse, - WorkDoneProgressCreateResponse, + InlayHintRefreshResponse, + InlineValueRefreshResponse, + RegistrationResponse, SemanticTokensRefreshResponse, ShowDocumentResponse, - InlineValueRefreshResponse, - InlayHintRefreshResponse, - DiagnosticRefreshResponse, + ShowMessageResponse, TextDocumentContentRefreshResponse, - RegistrationResponse, UnregistrationResponse, - ShowMessageResponse, - CodeLensRefreshResponse, - ApplyWorkspaceEditResponse, + WorkDoneProgressCreateResponse, + WorkspaceFoldersResponse, ] +class CancelNotification(TypedDict): + method: Literal['$/cancelRequest'] + params: 'CancelParams' + + +class DidChangeConfigurationNotification(TypedDict): + method: Literal['workspace/didChangeConfiguration'] + params: 'DidChangeConfigurationParams' + + +class DidChangeNotebookDocumentNotification(TypedDict): + method: Literal['notebookDocument/didChange'] + params: 'DidChangeNotebookDocumentParams' + + +class DidChangeTextDocumentNotification(TypedDict): + method: Literal['textDocument/didChange'] + params: 'DidChangeTextDocumentParams' + + +class DidChangeWatchedFilesNotification(TypedDict): + method: Literal['workspace/didChangeWatchedFiles'] + params: 'DidChangeWatchedFilesParams' + + class DidChangeWorkspaceFoldersNotification(TypedDict): method: Literal['workspace/didChangeWorkspaceFolders'] params: 'DidChangeWorkspaceFoldersParams' -class WorkDoneProgressCancelNotification(TypedDict): - method: Literal['window/workDoneProgress/cancel'] - params: 'WorkDoneProgressCancelParams' +class DidCloseNotebookDocumentNotification(TypedDict): + method: Literal['notebookDocument/didClose'] + params: 'DidCloseNotebookDocumentParams' + + +class DidCloseTextDocumentNotification(TypedDict): + method: Literal['textDocument/didClose'] + params: 'DidCloseTextDocumentParams' class DidCreateFilesNotification(TypedDict): @@ -866,11 +896,6 @@ class DidCreateFilesNotification(TypedDict): params: 'CreateFilesParams' -class DidRenameFilesNotification(TypedDict): - method: Literal['workspace/didRenameFiles'] - params: 'RenameFilesParams' - - class DidDeleteFilesNotification(TypedDict): method: Literal['workspace/didDeleteFiles'] params: 'DeleteFilesParams' @@ -881,9 +906,14 @@ class DidOpenNotebookDocumentNotification(TypedDict): params: 'DidOpenNotebookDocumentParams' -class DidChangeNotebookDocumentNotification(TypedDict): - method: Literal['notebookDocument/didChange'] - params: 'DidChangeNotebookDocumentParams' +class DidOpenTextDocumentNotification(TypedDict): + method: Literal['textDocument/didOpen'] + params: 'DidOpenTextDocumentParams' + + +class DidRenameFilesNotification(TypedDict): + method: Literal['workspace/didRenameFiles'] + params: 'RenameFilesParams' class DidSaveNotebookDocumentNotification(TypedDict): @@ -891,14 +921,9 @@ class DidSaveNotebookDocumentNotification(TypedDict): params: 'DidSaveNotebookDocumentParams' -class DidCloseNotebookDocumentNotification(TypedDict): - method: Literal['notebookDocument/didClose'] - params: 'DidCloseNotebookDocumentParams' - - -class InitializedNotification(TypedDict): - method: Literal['initialized'] - params: 'InitializedParams' +class DidSaveTextDocumentNotification(TypedDict): + method: Literal['textDocument/didSave'] + params: 'DidSaveTextDocumentParams' class ExitNotification(TypedDict): @@ -906,14 +931,9 @@ class ExitNotification(TypedDict): params: None -class DidChangeConfigurationNotification(TypedDict): - method: Literal['workspace/didChangeConfiguration'] - params: 'DidChangeConfigurationParams' - - -class ShowMessageNotification(TypedDict): - method: Literal['window/showMessage'] - params: 'ShowMessageParams' +class InitializedNotification(TypedDict): + method: Literal['initialized'] + params: 'InitializedParams' class LogMessageNotification(TypedDict): @@ -921,39 +941,14 @@ class LogMessageNotification(TypedDict): params: 'LogMessageParams' -class TelemetryEventNotification(TypedDict): - method: Literal['telemetry/event'] - params: 'LSPAny' - - -class DidOpenTextDocumentNotification(TypedDict): - method: Literal['textDocument/didOpen'] - params: 'DidOpenTextDocumentParams' - - -class DidChangeTextDocumentNotification(TypedDict): - method: Literal['textDocument/didChange'] - params: 'DidChangeTextDocumentParams' - - -class DidCloseTextDocumentNotification(TypedDict): - method: Literal['textDocument/didClose'] - params: 'DidCloseTextDocumentParams' - - -class DidSaveTextDocumentNotification(TypedDict): - method: Literal['textDocument/didSave'] - params: 'DidSaveTextDocumentParams' - - -class WillSaveTextDocumentNotification(TypedDict): - method: Literal['textDocument/willSave'] - params: 'WillSaveTextDocumentParams' +class LogTraceNotification(TypedDict): + method: Literal['$/logTrace'] + params: 'LogTraceParams' -class DidChangeWatchedFilesNotification(TypedDict): - method: Literal['workspace/didChangeWatchedFiles'] - params: 'DidChangeWatchedFilesParams' +class ProgressNotification(TypedDict): + method: Literal['$/progress'] + params: 'ProgressParams' class PublishDiagnosticsNotification(TypedDict): @@ -966,52 +961,57 @@ class SetTraceNotification(TypedDict): params: 'SetTraceParams' -class LogTraceNotification(TypedDict): - method: Literal['$/logTrace'] - params: 'LogTraceParams' +class ShowMessageNotification(TypedDict): + method: Literal['window/showMessage'] + params: 'ShowMessageParams' -class CancelNotification(TypedDict): - method: Literal['$/cancelRequest'] - params: 'CancelParams' +class TelemetryEventNotification(TypedDict): + method: Literal['telemetry/event'] + params: 'LSPAny' -class ProgressNotification(TypedDict): - method: Literal['$/progress'] - params: 'ProgressParams' +class WillSaveTextDocumentNotification(TypedDict): + method: Literal['textDocument/willSave'] + params: 'WillSaveTextDocumentParams' + + +class WorkDoneProgressCancelNotification(TypedDict): + method: Literal['window/workDoneProgress/cancel'] + params: 'WorkDoneProgressCancelParams' ClientNotification: TypeAlias = Union[ + CancelNotification, + DidChangeConfigurationNotification, + DidChangeNotebookDocumentNotification, + DidChangeTextDocumentNotification, + DidChangeWatchedFilesNotification, DidChangeWorkspaceFoldersNotification, - WorkDoneProgressCancelNotification, + DidCloseNotebookDocumentNotification, + DidCloseTextDocumentNotification, DidCreateFilesNotification, - DidRenameFilesNotification, DidDeleteFilesNotification, DidOpenNotebookDocumentNotification, - DidChangeNotebookDocumentNotification, - DidSaveNotebookDocumentNotification, - DidCloseNotebookDocumentNotification, - InitializedNotification, - ExitNotification, - DidChangeConfigurationNotification, DidOpenTextDocumentNotification, - DidChangeTextDocumentNotification, - DidCloseTextDocumentNotification, + DidRenameFilesNotification, + DidSaveNotebookDocumentNotification, DidSaveTextDocumentNotification, - WillSaveTextDocumentNotification, - DidChangeWatchedFilesNotification, - SetTraceNotification, - CancelNotification, + ExitNotification, + InitializedNotification, ProgressNotification, + SetTraceNotification, + WillSaveTextDocumentNotification, + WorkDoneProgressCancelNotification, ] ServerNotification: TypeAlias = Union[ - ShowMessageNotification, + CancelNotification, LogMessageNotification, - TelemetryEventNotification, - PublishDiagnosticsNotification, LogTraceNotification, - CancelNotification, ProgressNotification, + PublishDiagnosticsNotification, + ShowMessageNotification, + TelemetryEventNotification, ] From 28d3d8d5cf6d12870cef2603fb3c9659140cce42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Ch=C5=82odnicki?= Date: Sat, 28 Feb 2026 22:00:03 +0100 Subject: [PATCH 3/6] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Предраг Николић --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e9f9f65..883a854 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ uv venv Download the latest json schema: ```sh -uv run download-schemas.py +uv run download_schemas.py ``` Generate the types: From 9b5a4fdeb7ee56b7d8a91c6ee897bea0618a0056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Ch=C5=82odnicki?= Date: Sat, 28 Feb 2026 22:00:23 +0100 Subject: [PATCH 4/6] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Предраг Николић --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 883a854..3e9e44a 100644 --- a/README.md +++ b/README.md @@ -25,8 +25,8 @@ uv run generate.py And finally fix linting and formatting issues: ```sh -uv ruff check --fix --unsafe-fixes -uv ruff format +uv run ruff check --fix --unsafe-fixes +uv run ruff format ``` Copy the `lsp_types.py` file to your project. From 07ee7dd79b8185d9bc3f395c61d2bfc8ab248603 Mon Sep 17 00:00:00 2001 From: Rafal Chlodnicki Date: Sat, 28 Feb 2026 22:06:09 +0100 Subject: [PATCH 5/6] only format --- README.md | 8 +--- generated/custom.py | 93 +++++++++++++++++++++++---------------------- 2 files changed, 49 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index 3e9e44a..a14840a 100644 --- a/README.md +++ b/README.md @@ -18,16 +18,12 @@ Download the latest json schema: uv run download_schemas.py ``` -Generate the types: +Generate the types and fix some issues by triggering formatting: ```sh uv run generate.py -``` - -And finally fix linting and formatting issues: -```sh -uv run ruff check --fix --unsafe-fixes uv run ruff format ``` + Copy the `lsp_types.py` file to your project. NOTE: Do not import types that begin with `__`. These types are internal types and are not meant to be used. diff --git a/generated/custom.py b/generated/custom.py index 7abaaab..d2e5ffc 100644 --- a/generated/custom.py +++ b/generated/custom.py @@ -1,6 +1,7 @@ from __future__ import annotations from .lsp_types import * +from typing import List from typing import Literal from typing import TypedDict from typing import Union @@ -436,22 +437,22 @@ class ApplyWorkspaceEditResponse(TypedDict): class CallHierarchyIncomingCallsResponse(TypedDict): method: Literal['callHierarchy/incomingCalls'] - result: list['CallHierarchyIncomingCall'] | None + result: Union[List['CallHierarchyIncomingCall'], None] class CallHierarchyOutgoingCallsResponse(TypedDict): method: Literal['callHierarchy/outgoingCalls'] - result: list['CallHierarchyOutgoingCall'] | None + result: Union[List['CallHierarchyOutgoingCall'], None] class CallHierarchyPrepareResponse(TypedDict): method: Literal['textDocument/prepareCallHierarchy'] - result: list['CallHierarchyItem'] | None + result: Union[List['CallHierarchyItem'], None] class CodeActionResponse(TypedDict): method: Literal['textDocument/codeAction'] - result: list['Command' | 'CodeAction'] | None + result: Union[List[Union['Command', 'CodeAction']], None] class CodeActionResolveResponse(TypedDict): @@ -466,7 +467,7 @@ class CodeLensRefreshResponse(TypedDict): class CodeLensResponse(TypedDict): method: Literal['textDocument/codeLens'] - result: list['CodeLens'] | None + result: Union[List['CodeLens'], None] class CodeLensResolveResponse(TypedDict): @@ -476,12 +477,12 @@ class CodeLensResolveResponse(TypedDict): class ColorPresentationResponse(TypedDict): method: Literal['textDocument/colorPresentation'] - result: list['ColorPresentation'] + result: List['ColorPresentation'] class CompletionResponse(TypedDict): method: Literal['textDocument/completion'] - result: list['CompletionItem'] | 'CompletionList' | None + result: Union[List['CompletionItem'], 'CompletionList', None] class CompletionResolveResponse(TypedDict): @@ -491,17 +492,17 @@ class CompletionResolveResponse(TypedDict): class ConfigurationResponse(TypedDict): method: Literal['workspace/configuration'] - result: list['LSPAny'] + result: List['LSPAny'] class DeclarationResponse(TypedDict): method: Literal['textDocument/declaration'] - result: 'Declaration' | list['DeclarationLink'] | None + result: Union['Declaration', List['DeclarationLink'], None] class DefinitionResponse(TypedDict): method: Literal['textDocument/definition'] - result: 'Definition' | list['DefinitionLink'] | None + result: Union['Definition', List['DefinitionLink'], None] class DiagnosticRefreshResponse(TypedDict): @@ -511,7 +512,7 @@ class DiagnosticRefreshResponse(TypedDict): class DocumentColorResponse(TypedDict): method: Literal['textDocument/documentColor'] - result: list['ColorInformation'] + result: List['ColorInformation'] class DocumentDiagnosticResponse(TypedDict): @@ -521,17 +522,17 @@ class DocumentDiagnosticResponse(TypedDict): class DocumentFormattingResponse(TypedDict): method: Literal['textDocument/formatting'] - result: list['TextEdit'] | None + result: Union[List['TextEdit'], None] class DocumentHighlightResponse(TypedDict): method: Literal['textDocument/documentHighlight'] - result: list['DocumentHighlight'] | None + result: Union[List['DocumentHighlight'], None] class DocumentLinkResponse(TypedDict): method: Literal['textDocument/documentLink'] - result: list['DocumentLink'] | None + result: Union[List['DocumentLink'], None] class DocumentLinkResolveResponse(TypedDict): @@ -541,27 +542,27 @@ class DocumentLinkResolveResponse(TypedDict): class DocumentOnTypeFormattingResponse(TypedDict): method: Literal['textDocument/onTypeFormatting'] - result: list['TextEdit'] | None + result: Union[List['TextEdit'], None] class DocumentRangeFormattingResponse(TypedDict): method: Literal['textDocument/rangeFormatting'] - result: list['TextEdit'] | None + result: Union[List['TextEdit'], None] class DocumentRangesFormattingResponse(TypedDict): method: Literal['textDocument/rangesFormatting'] - result: list['TextEdit'] | None + result: Union[List['TextEdit'], None] class DocumentSymbolResponse(TypedDict): method: Literal['textDocument/documentSymbol'] - result: list['SymbolInformation'] | list['DocumentSymbol'] | None + result: Union[List['SymbolInformation'], List['DocumentSymbol'], None] class ExecuteCommandResponse(TypedDict): method: Literal['workspace/executeCommand'] - result: 'LSPAny' | None + result: Union['LSPAny', None] class FoldingRangeRefreshResponse(TypedDict): @@ -571,17 +572,17 @@ class FoldingRangeRefreshResponse(TypedDict): class FoldingRangeResponse(TypedDict): method: Literal['textDocument/foldingRange'] - result: list['FoldingRange'] | None + result: Union[List['FoldingRange'], None] class HoverResponse(TypedDict): method: Literal['textDocument/hover'] - result: 'Hover' | None + result: Union['Hover', None] class ImplementationResponse(TypedDict): method: Literal['textDocument/implementation'] - result: 'Definition' | list['DefinitionLink'] | None + result: Union['Definition', List['DefinitionLink'], None] class InitializeResponse(TypedDict): @@ -596,7 +597,7 @@ class InlayHintRefreshResponse(TypedDict): class InlayHintResponse(TypedDict): method: Literal['textDocument/inlayHint'] - result: list['InlayHint'] | None + result: Union[List['InlayHint'], None] class InlayHintResolveResponse(TypedDict): @@ -606,7 +607,7 @@ class InlayHintResolveResponse(TypedDict): class InlineCompletionResponse(TypedDict): method: Literal['textDocument/inlineCompletion'] - result: 'InlineCompletionList' | list['InlineCompletionItem'] | None + result: Union['InlineCompletionList', List['InlineCompletionItem'], None] class InlineValueRefreshResponse(TypedDict): @@ -616,27 +617,27 @@ class InlineValueRefreshResponse(TypedDict): class InlineValueResponse(TypedDict): method: Literal['textDocument/inlineValue'] - result: list['InlineValue'] | None + result: Union[List['InlineValue'], None] class LinkedEditingRangeResponse(TypedDict): method: Literal['textDocument/linkedEditingRange'] - result: 'LinkedEditingRanges' | None + result: Union['LinkedEditingRanges', None] class MonikerResponse(TypedDict): method: Literal['textDocument/moniker'] - result: list['Moniker'] | None + result: Union[List['Moniker'], None] class PrepareRenameResponse(TypedDict): method: Literal['textDocument/prepareRename'] - result: 'PrepareRenameResult' | None + result: Union['PrepareRenameResult', None] class ReferencesResponse(TypedDict): method: Literal['textDocument/references'] - result: list['Location'] | None + result: Union[List['Location'], None] class RegistrationResponse(TypedDict): @@ -646,22 +647,22 @@ class RegistrationResponse(TypedDict): class RenameResponse(TypedDict): method: Literal['textDocument/rename'] - result: 'WorkspaceEdit' | None + result: Union['WorkspaceEdit', None] class SelectionRangeResponse(TypedDict): method: Literal['textDocument/selectionRange'] - result: list['SelectionRange'] | None + result: Union[List['SelectionRange'], None] class SemanticTokensDeltaResponse(TypedDict): method: Literal['textDocument/semanticTokens/full/delta'] - result: 'SemanticTokens' | 'SemanticTokensDelta' | None + result: Union['SemanticTokens', 'SemanticTokensDelta', None] class SemanticTokensRangeResponse(TypedDict): method: Literal['textDocument/semanticTokens/range'] - result: 'SemanticTokens' | None + result: Union['SemanticTokens', None] class SemanticTokensRefreshResponse(TypedDict): @@ -671,7 +672,7 @@ class SemanticTokensRefreshResponse(TypedDict): class SemanticTokensResponse(TypedDict): method: Literal['textDocument/semanticTokens/full'] - result: 'SemanticTokens' | None + result: Union['SemanticTokens', None] class ShowDocumentResponse(TypedDict): @@ -681,7 +682,7 @@ class ShowDocumentResponse(TypedDict): class ShowMessageResponse(TypedDict): method: Literal['window/showMessageRequest'] - result: 'MessageActionItem' | None + result: Union['MessageActionItem', None] class ShutdownResponse(TypedDict): @@ -691,7 +692,7 @@ class ShutdownResponse(TypedDict): class SignatureHelpResponse(TypedDict): method: Literal['textDocument/signatureHelp'] - result: 'SignatureHelp' | None + result: Union['SignatureHelp', None] class TextDocumentContentRefreshResponse(TypedDict): @@ -706,22 +707,22 @@ class TextDocumentContentResponse(TypedDict): class TypeDefinitionResponse(TypedDict): method: Literal['textDocument/typeDefinition'] - result: 'Definition' | list['DefinitionLink'] | None + result: Union['Definition', List['DefinitionLink'], None] class TypeHierarchyPrepareResponse(TypedDict): method: Literal['textDocument/prepareTypeHierarchy'] - result: list['TypeHierarchyItem'] | None + result: Union[List['TypeHierarchyItem'], None] class TypeHierarchySubtypesResponse(TypedDict): method: Literal['typeHierarchy/subtypes'] - result: list['TypeHierarchyItem'] | None + result: Union[List['TypeHierarchyItem'], None] class TypeHierarchySupertypesResponse(TypedDict): method: Literal['typeHierarchy/supertypes'] - result: list['TypeHierarchyItem'] | None + result: Union[List['TypeHierarchyItem'], None] class UnregistrationResponse(TypedDict): @@ -731,22 +732,22 @@ class UnregistrationResponse(TypedDict): class WillCreateFilesResponse(TypedDict): method: Literal['workspace/willCreateFiles'] - result: 'WorkspaceEdit' | None + result: Union['WorkspaceEdit', None] class WillDeleteFilesResponse(TypedDict): method: Literal['workspace/willDeleteFiles'] - result: 'WorkspaceEdit' | None + result: Union['WorkspaceEdit', None] class WillRenameFilesResponse(TypedDict): method: Literal['workspace/willRenameFiles'] - result: 'WorkspaceEdit' | None + result: Union['WorkspaceEdit', None] class WillSaveTextDocumentWaitUntilResponse(TypedDict): method: Literal['textDocument/willSaveWaitUntil'] - result: list['TextEdit'] | None + result: Union[List['TextEdit'], None] class WorkDoneProgressCreateResponse(TypedDict): @@ -761,12 +762,12 @@ class WorkspaceDiagnosticResponse(TypedDict): class WorkspaceFoldersResponse(TypedDict): method: Literal['workspace/workspaceFolders'] - result: list['WorkspaceFolder'] | None + result: Union[List['WorkspaceFolder'], None] class WorkspaceSymbolResponse(TypedDict): method: Literal['workspace/symbol'] - result: list['SymbolInformation'] | list['WorkspaceSymbol'] | None + result: Union[List['SymbolInformation'], List['WorkspaceSymbol'], None] class WorkspaceSymbolResolveResponse(TypedDict): From 68e8329bccf76dce7ef2883d51ec59a193747496 Mon Sep 17 00:00:00 2001 From: Rafal Chlodnicki Date: Sat, 28 Feb 2026 22:09:22 +0100 Subject: [PATCH 6/6] add ignores --- generate.py | 1 + generated/custom.py | 1 + 2 files changed, 2 insertions(+) diff --git a/generate.py b/generate.py index f86bedb..f22d125 100755 --- a/generate.py +++ b/generate.py @@ -101,6 +101,7 @@ def generate_custom(output: str) -> None: content = '\n'.join( # noqa: FLY002 [ + '# ruff: noqa: UP006, UP007', 'from __future__ import annotations\n', 'from .lsp_types import *', 'from typing import List', diff --git a/generated/custom.py b/generated/custom.py index d2e5ffc..fb80b78 100644 --- a/generated/custom.py +++ b/generated/custom.py @@ -1,3 +1,4 @@ +# ruff: noqa: UP006, UP007 from __future__ import annotations from .lsp_types import *