emacs-lsp / emacs

Mirror of GNU Emacs
http://www.gnu.org/software/emacs/
GNU General Public License v3.0
71 stars 8 forks source link

Emacs for lsp-mode(POC)

A Emacs fork implementing non-blocking and async JSONRPC support

Motivation

The fork aims to fix the strugle of lsp-mode with sync Emacs core and json handling

How it works?

The fork uses separate emacs threads to run the processing and then runs release_global_lock() from the C code when the processing does not involve lisp objects. There are a lot of benefits from this approach:

Current state

The code runs fine with most of the servers I have tested with. Only Linux/Unix is supported for now.

How to use?

Compile emacs just like normal emacs and then use the latest version of lsp-mode.

Acknowledgments

Thanks to 606u for helping me out with low level process communication code