Parts of LSP client implementation is based on and are inspired by
Porcupine's LSP plugin https://github.com/Akuli/porcupine/
