Skip to content

Commit 9ae747d

Browse files
committed
some smaller corrections
1 parent b82d8f3 commit 9ae747d

File tree

6 files changed

+26
-13
lines changed

6 files changed

+26
-13
lines changed

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -508,8 +508,7 @@
508508
"devDependencies": {
509509
"@types/glob": "^7.1.4",
510510
"@types/mocha": "^8.2.3",
511-
"@types/node": "^16.0.0",
512-
"@types/open": "^6.2.1",
511+
"@types/node": "^16.0.0",
513512
"@types/vscode": "^1.57.1",
514513
"@typescript-eslint/eslint-plugin": "^4.28.2",
515514
"@typescript-eslint/parser": "^4.28.2",

robotcode/jsonrpc2/protocol.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,11 @@ async def cancel_received_request(self, id: Union[int, str, None]) -> None:
689689
if future is not None and not future.cancelled():
690690
future.cancel()
691691

692+
async def cancel_all_received_request(self) -> None:
693+
for future in self._received_request.values():
694+
if future is not None and not future.cancelled():
695+
future.cancel()
696+
692697
async def handle_notification(self, message: JsonRPCNotification) -> None:
693698
e = self.registry.get_entry(message.method)
694699

robotcode/jsonrpc2/server.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def __init__(
6363
self._run_func: Optional[Callable[[], None]] = None
6464
self._server: Optional[asyncio.AbstractServer] = None
6565

66-
self._stop_event: Optional[asyncio.Event] = None
66+
self._stdio_stop_event: Optional[asyncio.Event] = None
6767

6868
self.loop = asyncio.get_event_loop()
6969

@@ -81,8 +81,8 @@ def start(self) -> None:
8181

8282
@_logger.call
8383
def close(self) -> None:
84-
if self._stop_event is not None:
85-
self._stop_event.set()
84+
if self._stdio_stop_event is not None:
85+
self._stdio_stop_event.set()
8686

8787
if self._server and self._server.is_serving:
8888
self._server.close()
@@ -104,9 +104,9 @@ def __exit__(
104104
def create_protocol(self) -> TProtocol:
105105
...
106106

107-
def close_protocol(self, protocol: TProtocol) -> None:
108-
if self.mode == JsonRpcServerMode.STDIO and self._stop_event is not None:
109-
self._stop_event.set()
107+
def shutdown_protocol(self, protocol: TProtocol) -> None:
108+
if self.mode == JsonRpcServerMode.STDIO and self._stdio_stop_event is not None:
109+
self._stdio_stop_event.set()
110110

111111
@_logger.call
112112
def start_stdio(self) -> None:
@@ -119,10 +119,10 @@ def start_stdio(self) -> None:
119119
protocol.connection_made(transport)
120120

121121
def run_io_nonblocking() -> None:
122-
self._stop_event = asyncio.Event()
122+
self._stdio_stop_event = asyncio.Event()
123123

124124
async def aio_readline(rfile: BinaryIO, protocol: asyncio.Protocol) -> None:
125-
while self._stop_event is not None and not self._stop_event.is_set() and not rfile.closed:
125+
while self._stdio_stop_event is not None and not self._stdio_stop_event.is_set() and not rfile.closed:
126126
data = await self.loop.run_in_executor(None, cast(io.BufferedReader, rfile).read1, 1000)
127127
protocol.data_received(data)
128128

robotcode/language_server/common/parts/workspace.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,12 +286,15 @@ async def get_configuration(
286286
) -> Union[_TConfig, Any]:
287287

288288
if isinstance(section, (ConfigBase, HasConfigSection)):
289-
return section.parse_obj(
289+
config = section.parse_obj(
290290
await self.get_configuration(
291291
section=cast(HasConfigSection, section).__config_section__, scope_uri=scope_uri
292292
)
293293
)
294+
if config is None:
295+
return None
294296

297+
return section.parse_obj(config)
295298
return (
296299
await self.parent.send_request(
297300
"workspace/configuration",

robotcode/language_server/common/protocol.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,15 @@ async def on_initialized(sender) -> None:
193193
@_logger.call
194194
async def shutdown(self) -> None:
195195
self.shutdown_received = True
196+
197+
try:
198+
await asyncio.wait_for(self.cancel_all_received_request(), 1)
199+
except BaseException:
200+
pass
201+
196202
await self.on_shutdown(self)
197203
if self.server is not None:
198-
self.server.close_protocol(self)
204+
self.server.shutdown_protocol(self)
199205

200206
@rpc_method(name="exit")
201207
@_logger.call

robotcode/language_server/robotframework/configuration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from ..common.parts.workspace import ConfigBase, config_section
44

55

6-
@config_section("robotcode.language-server")
6+
@config_section("robotcode.languageServer")
77
class LanguageServerConfig(ConfigBase):
88
mode: str
99
tcp_port: int

0 commit comments

Comments
 (0)