11from __future__ import annotations
22from ..protocol import CodeAction
33from ..protocol import CodeActionKind
4+ from ..protocol import CodeActionParams
45from ..protocol import Command
56from ..protocol import Diagnostic
67from .core .promise import Promise
@@ -82,7 +83,7 @@ def request_for_region_async(
8283 self .refactor_actions_cache .clear ()
8384 self .source_actions_cache .clear ()
8485
85- def request_factory (sb : SessionBufferProtocol ) -> Request | None :
86+ def request_factory (sb : SessionBufferProtocol ) -> Request [ CodeActionParams , list [ CodeActionOrCommand ] | None ] :
8687 diagnostics : list [Diagnostic ] = []
8788 for diag_sb , diags in session_buffer_diagnostics :
8889 if diag_sb == sb :
@@ -125,15 +126,15 @@ def response_filter(sb: SessionBufferProtocol, actions: list[CodeActionOrCommand
125126 def _collect_code_actions_async (
126127 self ,
127128 listener : AbstractViewListener ,
128- request_factory : Callable [[SessionBufferProtocol ], Request | None ],
129+ request_factory : Callable [[SessionBufferProtocol ], Request [ CodeActionParams , list [ CodeActionOrCommand ] | None ] | None ], # noqa: E501
129130 response_filter : Callable [[SessionBufferProtocol , list [CodeActionOrCommand ]], list [CodeActionOrCommand ]],
130131 ) -> Promise [list [CodeActionsByConfigName ]]:
131132
132133 def on_response (
133134 sb : SessionBufferProtocol , response : Error | list [CodeActionOrCommand ] | None
134135 ) -> CodeActionsByConfigName :
135136 actions = []
136- if response and not isinstance (response , Error ) and response_filter :
137+ if response and not isinstance (response , Error ):
137138 actions = response_filter (sb , response )
138139 return (sb .session .config .name , actions )
139140
@@ -145,7 +146,7 @@ def on_response(
145146 listener .purge_changes_async ()
146147 sb .do_document_diagnostic_async (listener .view , listener .view .change_count ())
147148 response_handler = partial (on_response , sb )
148- task : Promise [ list [ CodeActionOrCommand ] | None | Error ] = session .send_request_task (request )
149+ task = session .send_request_task (request )
149150 tasks .append (task .then (response_handler ))
150151 # Return only results for non-empty lists.
151152 return Promise .all (tasks ) \
@@ -259,7 +260,7 @@ def _handle_response_async(
259260 if self ._cancelled :
260261 return
261262 view = self ._task_runner .view
262- tasks : list [Promise ] = []
263+ tasks : list [Promise [ None ] ] = []
263264 config_name , code_actions = response
264265 session = self ._task_runner .session_by_name (config_name , 'codeActionProvider' )
265266 if session and code_actions :
0 commit comments