language server protocol
Find a file
2025-08-04 17:25:35 +01:00
data [fix] working editor 2025-07-23 23:10:31 +01:00
grammar [mod] additions 2025-07-31 15:02:27 +01:00
sample.msg [mod] local bootstrap 2025-08-04 12:34:23 +01:00
src [mod] style 2025-08-02 15:06:08 +01:00
webapp [mod] static folders 2025-08-04 17:25:35 +01:00
websockets-lsp [mod] merge lsp-web-poc 2025-07-11 15:16:28 +01:00
.dockerignore [mod] merge lsp-web-poc 2025-07-11 15:16:28 +01:00
.gitignore [mod] additions 2025-07-31 15:02:27 +01:00
compose.yaml [mod] static folders 2025-08-04 17:25:35 +01:00
LICENSE [mod] samples 2025-08-01 23:14:52 +01:00
package-lock.json [mod] style 2025-08-02 15:06:08 +01:00
package.json [mod] style 2025-08-02 15:06:08 +01:00
protocol.md [mod] merge lsp-web-poc 2025-07-11 15:16:28 +01:00
README.md [mod] local bootstrap 2025-08-04 12:34:23 +01:00
rollup.config.js [mod] additions 2025-07-31 15:02:27 +01:00

Work in progress.

An attempt to write a Language Server Protocol server using XQuery 4.0 and the BaseX websocket feature.

Server

  • webapp/lsp The LSP implementation in XQuery using WebSockets for transport and the JSON-RPC 2.0 API for format.

Sample clients

  • webapp/static/codemirror A test html page using the CodeMirror6 editor that connects to the BaseX LSP instance
  • webapp/static/ace A test html page using the Ace editor that connects to the BaseX LSP instance

Uses

notes

java -cp org.eclipse.lemminx-uber.jar org.eclipse.lemminx.XMLServerSocketLauncher` Using https://github.com/mkslanc/ace-linters https://mkslanc.github.io/ace-linters/

Make a websocket server for lsp on port 3000 https://mkslanc.github.io/ace-linters/websocket.html

http://localhost:3000/exampleServer

c1b317e012/packages/demo/websockets-lsp/server/server.ts

https://www.jsonrpc.org/specification