Skip to content

Conversation

thecoolwinter
Copy link
Collaborator

@thecoolwinter thecoolwinter commented Aug 19, 2025

Description

Adjusts how LSP content objects are created and updated. CESE works best when coordinators and highlighters are static for the lifetime of the editor. This adjusts both the content coordinator and semantic highlighter objects to have optional document URIs and server references. That makes it so these objects will be passed into the editor immediately, and will just ignore requests or notifications until the language server tells the object about itself.

The change fixes a bug where an editor opened that triggers a language server startup would not have a working semantic highlighter or update its contents with the server when the document was updated. This fixes that race condition.

This also makes a small change to language server initialization, this creates the log container before the server and injects it into the data channel so if the channel terminates the log container can receive a message.

Related Issues

  • N/A

Checklist

  • I read and understood the contributing guide as well as the code of conduct
  • The issues this PR addresses are related to each other
  • My changes generate no new warnings
  • My code builds and runs on my machine
  • My changes are all related to the related issue above
  • I documented my code

Screenshots

N/A

@thecoolwinter thecoolwinter added the bug Something isn't working label Aug 19, 2025
@thecoolwinter thecoolwinter added the language server Issues or Pull Requests related to language servers. label Aug 19, 2025
@thecoolwinter thecoolwinter merged commit 064854f into CodeEditApp:main Aug 21, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working language server Issues or Pull Requests related to language servers.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant