Compare commits

..

2 Commits

Author SHA1 Message Date
066033bd50 docs(neovim): fix broken rpc.connect example, document stdio-bridge fix
All checks were successful
Build and Deploy iLSP / test (push) Successful in 22s
Build and Deploy iLSP / build-and-deploy (push) Successful in 1m30s
2026-08-14 17:05:03 +02:00
71738d856e Fix: include azure_roles.json in wheel package data
The pyproject.toml packaging config only included .py files, so
azure_roles.json (682 Azure role names) never made it into the built
wheel/Docker image. This silently broke the 'roles: [...]' array
completion feature in production even though the code and local dev
worked fine (repo files were always on disk locally).

Root-caused via a raw WebSocket JSON-RPC test against production that
returned 0 completion items for a roles array, despite the same logic
returning 682 items when exercised directly against the local module
in this repo.
2026-08-14 17:04:41 +02:00
2 changed files with 15 additions and 3 deletions

View File

@@ -75,13 +75,20 @@ tail -f /tmp/lsp_bridge_debug.log
## Neovim setup
> **Important**: `vim.lsp.rpc.connect(url)` does **not** speak WebSocket — it's a raw
> TCP/pipe connector and will fail with `ENOENT` on a `wss://` URL (verified). Use
> `cmd = { ".../scripts/lsp_bridge_debug.sh", "wss://..." }` instead (stdio ↔
> WebSocket bridge, same one IntelliJ/LSP4IJ uses). Confirmed working end-to-end
> (32 module completions returned) with the config below.
```lua
-- In your LSP config (e.g. ~/.config/nvim/lua/lsp.lua)
local BRIDGE = "/Users/lrihni/Projects/iLSP/scripts/lsp_bridge_debug.sh"
-- Bicep
vim.lsp.start({
name = "ilsp-bicep",
cmd = vim.lsp.rpc.connect("wss://ilsp.i80.dk/bicep"),
cmd = { BRIDGE, "wss://ilsp.i80.dk/bicep" },
root_dir = vim.fs.dirname(vim.fs.find({ "bicepconfig.json", ".git" }, { upward = true })[1]),
filetypes = { "bicep" },
})
@@ -89,7 +96,7 @@ vim.lsp.start({
-- YAML (pipeline files)
vim.lsp.start({
name = "ilsp-yaml",
cmd = vim.lsp.rpc.connect("wss://ilsp.i80.dk/yaml"),
cmd = { BRIDGE, "wss://ilsp.i80.dk/yaml" },
root_dir = vim.fs.dirname(vim.fs.find({ ".git" }, { upward = true })[1]),
filetypes = { "yaml" },
})
@@ -97,7 +104,7 @@ vim.lsp.start({
-- Python
vim.lsp.start({
name = "ilsp-python",
cmd = vim.lsp.rpc.connect("wss://ilsp.i80.dk/python"),
cmd = { BRIDGE, "wss://ilsp.i80.dk/python" },
root_dir = vim.fs.dirname(vim.fs.find({ "pyproject.toml", ".git" }, { upward = true })[1]),
filetypes = { "python" },
})

View File

@@ -24,6 +24,11 @@ ilsp = "ilsp.server:main"
where = ["."]
include = ["ilsp*"]
[tool.setuptools.package-data]
"ilsp.bicep_lsp" = ["*.json"]
"ilsp.yaml_lsp" = ["*.json"]
"ilsp.python_lsp" = ["*.json"]
[project.optional-dependencies]
dev = [
"pytest>=8.0",