Skip to content

Conversation

@KonerDev
Copy link
Member

@KonerDev KonerDev commented Nov 8, 2025

Feature

This PR adds an Emmet language server to Xed-Editor. Emmet offers abbreviations for HTML and CSS, such as the well-known exclamation mark, to create the basic HTML structure.

Screenshots

00
Screen_Recording_20251108_150541_Xed-Debug.mp4

Current issues

At the moment, this is an additional language server in the settings, but in the future, I would like to combine it into one HTML option. However, Xed-Editor does not currently support multiple language servers for the same file. This functionality has to be added in the future.

It could also be that the option for multiple language servers first needs to be added to the sora-editor.


Until that is implemented, there is no need to merge this PR; it will remain a draft for now.

@dingyi222666
Copy link
Contributor

Adding multi-language server support to the LSP module is challenging, as it requires targeted refactoring of the editor-lsp module. I will complete this once I have the time.

Current remaining work for the editor-lsp module:

  • Add highlighting markdown code support for hover and signatureHelp
  • documentHighlight
  • documentSemanticToken

The latter two works will likely require modifications to the editor renderer. This will take some time!

@dingyi222666
Copy link
Contributor

If you can, you could also make improvements to the editor-lsp (module). Thank you for your help!

@RohitKushvaha01
Copy link
Member

RohitKushvaha01 commented Nov 9, 2025

@KonerDev, an LSP proxy can be used to allow connecting to multiple LSP servers on a client that only supports one server. But, I was only able to find two examples/libs, both of which are no longer maintained.

https://github.com/techee/lsp-proxy
https://github.com/messense/multi-lsp-proxy

@dingyi222666
Copy link
Contributor

dingyi222666 commented Nov 9, 2025

I believe this really needs to be implemented natively under editor-lsp in sora-editor.

When I have time, I will come back and implement this (support for multi-language servers for a single file extension, as the current editor-lsp architecture does not properly support multi-language servers).

I am currently still working on rainbow brackets support for sora-editor...

@dingyi222666
Copy link
Contributor

Waiting for more testing feedback on Rosemoe/sora-editor#763..

@KonerDev KonerDev closed this Dec 6, 2025
KonerDev added a commit that referenced this pull request Dec 17, 2025
This PR adds the Emmet language server from PR #948 and adds support for
using multiple language servers simultaneously.

## Features
- Emmet language server
- Support for multiple language servers per file (also builtin and
external combined)

## Enhancements
- Tiny theme improvements

## Refactor
- Refactored code into smaller methods
- Remove boilerplate code
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.

3 participants