diff --git a/lib/main.js b/lib/main.js index 301798c1..7a17012f 100644 --- a/lib/main.js +++ b/lib/main.js @@ -74,6 +74,22 @@ class PythonLanguageClient extends AutoLanguageClient { if (!PYTHON_REGEX.test(request.prefix)) return null; return super.getSuggestions(request); } + + deactivate() { + return Promise.race([super.deactivate(), this.createTimeoutPromise(2000)]); + } + + createTimeoutPromise(milliseconds) { + return new Promise((resolve, reject) => { + let timeout = setTimeout(() => { + clearTimeout(timeout); + this.logger.error( + `Server failed to shutdown in ${milliseconds}ms, forcing termination` + ); + resolve(); + }, milliseconds); + }); + } } module.exports = new PythonLanguageClient();