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

Refactor the language server structure. #4721

Open
wants to merge 8 commits into
base: trunk
Choose a base branch
from

Conversation

jonmeow
Copy link
Contributor

@jonmeow jonmeow commented Dec 20, 2024

I'm trying to make the LSP look more like the rest of the toolchain. I'm trying to separate the handlers from the transport layer, and remove the multiple inheritance aspect. Also fixing some style issues, switching to Map, and removing an unnecessary copt.

I'm using Context for the central object for consistency with other portions of the toolchain. In order to get the handle_* files working, I'm using LLVM's registry class. It has a quirk that I can't register two registries in the same cpp file, so there are two one-line cpp files.

In order to help show the delta (or lack thereof) for actual implementation, I've copied server.cpp over handle_* and undone that in two commits. See the third and fourth commits on the PR history for that.

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

Successfully merging this pull request may close these issues.

1 participant