# Editor configs for ilsp.i80.dk ## Available endpoints | Endpoint | Language | Port (internal) | |----------|----------|-----------------| | `wss://ilsp.i80.dk/python` | Python | 2087 | | `wss://ilsp.i80.dk/bicep` | Bicep + LRU modules | 2088 | | `wss://ilsp.i80.dk/yaml` | YAML (pipelines, Actions) | 2090 | ## VS Code (`.vscode/settings.json` — recommended) Install the **vscode-lsp-client** or use the built-in `yaml` extension for YAML: ```json { "yaml.schemas": { "https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json": [ "azure-pipelines.yml", "azure-pipelines*.yml" ], "https://json.schemastore.org/github-workflow.json": [ ".github/workflows/*.yml", ".gitea/workflows/*.yml" ] }, "yaml.customTags": [], "yaml.validate": true, "[yaml]": { "editor.defaultFormatter": "redhat.vscode-yaml" } } ``` > For Python and Bicep in VS Code, the built-in extensions (Pylance, Bicep) are preferred. > Use ilsp endpoints if you want i80-specific completions (pypi packages, LRU modules). ## Helix (`~/.config/helix/languages.toml`) ```toml [language-server.ilsp-python] command = "websocat" args = ["wss://ilsp.i80.dk/python"] [language-server.ilsp-bicep] command = "websocat" args = ["wss://ilsp.i80.dk/bicep"] [language-server.ilsp-yaml] command = "websocat" args = ["wss://ilsp.i80.dk/yaml"] [[language]] name = "python" language-servers = ["ilsp-python"] [[language]] name = "bicep" file-types = ["bicep", "bicepparam"] language-servers = ["ilsp-bicep"] [[language]] name = "yaml" file-types = ["yaml", "yml"] language-servers = ["ilsp-yaml"] ``` ## Neovim (`~/.config/nvim/lua/lsp.lua`) ```lua -- Python: i80 pypi completions vim.lsp.start({ name = "ilsp-python", cmd = { "websocat", "wss://ilsp.i80.dk/python" }, filetypes = { "python" }, }) -- Bicep: LRU module completions vim.lsp.start({ name = "ilsp-bicep", cmd = { "websocat", "wss://ilsp.i80.dk/bicep" }, filetypes = { "bicep" }, }) -- YAML: Azure Pipelines + Gitea Actions schema vim.lsp.start({ name = "ilsp-yaml", cmd = { "websocat", "wss://ilsp.i80.dk/yaml" }, filetypes = { "yaml" }, settings = { yaml = { schemas = { ["https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json"] = { "azure-pipelines.yml", "azure-pipelines*.yml" }, ["https://json.schemastore.org/github-workflow.json"] = { ".github/workflows/*.yml", ".gitea/workflows/*.yml" }, }, }, }, }) ``` ## PyCharm / IntelliJ IDEA Ultimate (LSP4IJ plugin) 1. Install **LSP4IJ** from JetBrains Marketplace 2. Settings → Languages & Frameworks → Language Servers → **+** | Field | Python | Bicep | YAML | |----------------|-------------------------------------|--------------------------------|-------------------------------------| | Name | `ilsp-python` | `ilsp-bicep` | `ilsp-yaml` | | Server type | External process | External process | External process | | Command | `websocat wss://ilsp.i80.dk/python` | `websocat wss://ilsp.i80.dk/bicep` | `websocat wss://ilsp.i80.dk/yaml` | | File patterns | `*.py` | `*.bicep, *.bicepparam` | `*.yml, *.yaml` | > PyCharm's built-in Python intelligence runs **alongside** ilsp-python — additive, not replacing.