How To Customise Error Reporting

The default LanguageServer will send a window/showMessage notification to the client to display any uncaught exceptions in the server. To override this behaviour define your own report_server_error() method like so:

from pygls.exceptions import PyglsError, JsonRpcException
from pygls.lsp.server import LanguageServer

class CustomLanguageServer(LanguageServer):
    def report_server_error(self, error: Exception, source: PyglsError | JsonRpcException):
        pass