Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add language server package #3655

Draft
wants to merge 33 commits into
base: development
Choose a base branch
from
Draft

Conversation

d-torrance
Copy link
Member

This is a (very very very) early draft of a LanguageServer package that implements Microsoft's Language Server Protocol (LSP), which is used by multiple editors (Emacs, VSCode, etc.)

Keep it as a standalone thing, separate from LSP.
Drop extra parameters and assuming missing parameters are null
now a shell script that runs M2 so we can have options
@mahrud
Copy link
Member

mahrud commented Feb 15, 2025

Is there a TODO list for this? Is the idea that LSP should fully replace the M2-mode on Emacs and extensions on Vim and VSCode? If so it would be good to have a list of M2-mode features that need to be reimplemented.

@d-torrance
Copy link
Member Author

d-torrance commented Feb 15, 2025

A TODO list would be good. For the time being, I was just focusing on getting the basic lifecycle messages working and hadn't put much thought into what actual features to implement. So current TODO list:

  • Get life cycle messages working
  • Write a TODO list :)

I don't think LSP would replace M2-mode in Emacs, just supplement it. That seems to be the case for the other major modes for languages that already have LSP support, like python-mode.

I'm also thinking of breaking the JSON-RPC stuff, which is essentially fully functional, into its own package (or maybe just add to the existing JSON package). It's not unique to LSP, and potentially might be useful for some other stuff. It's apparently widely used in cryptocurrency applications, for example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants