Updated Readmes; renamed servers to reference servers

This commit is contained in:
2025-11-27 15:01:13 -06:00
parent 4e2f1b9e93
commit 87cc1efdce
31 changed files with 22 additions and 69 deletions

View File

@@ -1,7 +1,13 @@
# Newton LSP Server Bridge
## Credit
https://github.com/mkslanc/websockets-ls
https://github.com/lspcontainers/dockerfiles/servers
## Overview
This script provides a WebSocket bridge to interface with multiple Language Servers through clients via a single WebSocket connection.
This repo provides a primary Dockerfile (with additional example standalone LSP Dockler files from `lspcontainers`) that packages a number of LSPs and tools into a container along with the src/ folder code.
The code under src/ comes from `websockets-ls` and has been cleaned up and formatted to my style/asthetics as well as modified server list.
The code creates a WebSocket bridge to interface with multiple Language Servers through clients via a single WebSocket connection.
It supports various language servers concurrently and handles language-specific file extensions and initialization parameters.
## Features
@@ -14,6 +20,7 @@ It supports various language servers concurrently and handles language-specific
- Temporary file creation for `textDocument/didOpen` events.
## Usage
##### Setup 1:
1. Install Node.js.
2. Run 'npm install'.
@@ -22,6 +29,17 @@ It supports various language servers concurrently and handles language-specific
5. Connect to the WebSocket server on `ws://localhost:9999/<language_endpoint>`.
6. Transmit LSP messages via the WebSocket connection.
##### Setup 2:
1. Install Podman.
2. Create `opt/` folder in `Docker/` and add any additional programs there.
3. Configure the desired language servers in `src/defaultServers.js`.
3. Configure the start script at `Docker/scripts/start.sh` with abny additional env args or mount points.
4. Run from `Newton-LSP/` `Docker/build.sh` .
5. Run `Docker/scripts/start.sh`
6. Connect to the WebSocket server on `ws://localhost:9999/<language_endpoint>`.
7. Transmit LSP messages via the WebSocket connection.
## Configuration
Add or modify language server configurations in `languageServers.js`: