VS Code extension that talks LSP directly to a running MUME testmud over an HTTP/SSE JSON-RPC endpoint exposed by the mud server.
There is no separate language server process: src/lspTransport.ts
implements MessageReader/MessageWriter directly against the mud's
/lsp endpoint (GET opens an SSE stream for push notifications like
textDocument/publishDiagnostics; POST ?sessionId=N sends client
requests, with responses routed back over the same SSE stream), and
src/extension.ts wires that into vscode-languageclient.
-
Build the package:
npm install npx vsce package --allow-missing-repositoryThis produces
vscode-mudlle-0.1.0.vsix. -
Install it into VS Code: Extensions view (
Ctrl+Shift+X) →...menu → "Install from VSIX..." → select the.vsixfile. Or from a terminal:code --install-extension vscode-mudlle-0.1.0.vsix -
Set
mumeLsp.serverUrlandmumeLsp.usernamein Settings (Ctrl+,, search "mume") or directly insettings.json:{ "mumeLsp.serverUrl": "http://mume.lan:8080/lsp", "mumeLsp.username": "<character name>" }The password is not stored in settings (plaintext, gets synced, easy to accidentally commit). Run the command "MUME LSP: Set Password" (
Ctrl+Shift+P) instead — it's stored via VS Code'sSecretStorageAPI, which is backed by the OS keychain (Keychain on macOS, Credential Manager on Windows, libsecret/gnome-keyring on Linux). -
Open a
.mudfile to activate the extension (hover, go-to-definition, completion, document/workspace symbols, and on-save diagnostics). You need to be actively logged in as that character in-game.
If hover/definition don't respond, check the "MUME Mudlle Language Server"
output channel (Output panel dropdown) for connection errors — most likely
cause is serverUrl host/port being wrong or the character not being logged
in.
Press F5 in VS Code (with this folder open) to launch an Extension
Development Host for manual testing without packaging a .vsix each time.