Skip to content

Commit a1a72ad

Browse files
committed
language_server: add context management, and don't terminate process on m_exit()
1 parent 3862ebf commit a1a72ad

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

snooty/language_server.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -300,9 +300,15 @@ def m_shutdown(self, **_kwargs: object) -> None:
300300

301301
def m_exit(self, **_kwargs: object) -> None:
302302
self._endpoint.shutdown()
303-
self._jsonrpc_stream_reader.close()
304-
self._jsonrpc_stream_writer.close()
305-
sys.exit(0)
303+
if self.project:
304+
self.project.stop_monitoring()
305+
306+
def __enter__(self) -> "LanguageServer":
307+
return self
308+
309+
def __exit__(self, *args: object) -> None:
310+
self.m_shutdown()
311+
self.m_exit()
306312

307313

308314
def start() -> None:

0 commit comments

Comments
 (0)