RGBDS Game Boy assembly language server — go-to-definition, find references, completion, hover, diagnostics, rename, document outline
Language server for RGBDS Game Boy assembly (.asm, .inc files). Works with VS Code, Neovim, Helix, and any LSP-compatible editor.
Navigation — go to definition, find references, clickable INCLUDE/INCBIN paths, document and workspace symbol search.
Intelligence — context-aware completion for instructions, directives, symbols, and file paths. Hover shows symbol info, numeric values in all bases, and SM83 instruction details (bytes, cycles, flags). Signature help shows macro parameter positions as you type arguments.
Analysis — diagnostics for undefined symbols and cross-file duplicates. Inlay hints resolve constant values inline (e.g. = $FF40 after a constant reference).
Editing — cross-file rename, convert between hex/decimal/binary/octal literals, semantic highlighting, folding for blocks and comment regions.
Assembled bytes (experimental, opt-in) — hex byte decorations next to source lines, computed via static analysis of instructions, data directives, and macro expansion.
Install rgbds-lsp from the VS Code Marketplace, or build from source:
npm install && npm run build
cd src/vscode && npx @vscode/vsce package -o rgbds-lsp.vsix --no-dependencies
code --install-extension src/vscode/rgbds-lsp.vsix
claude plugin marketplace add retro-dev-tools/rgbds-lsp
claude plugin install rgbds-lsp
Requires Node.js 18+.
npm install -g @retro-dev/rgbds-language-server
Neovim — add to your LSP config:
vim.lsp.start({
name = 'rgbds',
cmd = { 'rgbds-language-server', '--stdio' },
filetypes = { 'rgbds', 'asm' },
root_dir = vim.fs.dirname(vim.fs.find({ 'Makefile', '.git' }, { upward = true })[1]),
})
Helix — add to languages.toml:
[language-server.rgbds-lsp]
command = "rgbds-language-server"
args = ["--stdio"]
[[language]]
name = "asm"
language-servers = ["rgbds-lsp"]
file-types = ["asm", "inc"]
Other editors — run rgbds-language-server --stdio and configure for *.asm/*.inc files. The server needs a workspace folder for cross-file features.
| Package | Description | npm |
|---|---|---|
| tree-sitter-rgbds | Tree-sitter grammar | @retro-dev/tree-sitter-rgbds |
| server | Language server | @retro-dev/rgbds-language-server |
| vscode | VS Code extension | — |
Requires Node.js 18+ and a C compiler (node-gyp builds the tree-sitter native addon).
git clone https://github.com/retro-dev-tools/rgbds-lsp.git && cd rgbds-lsp
npm install && npm run build
cd src/server && npm test # unit + integration (vitest)
cd src/tree-sitter-rgbds && npx tree-sitter test # grammar corpus
cd src/vscode && code --extensionDevelopmentPath="$(pwd)" # launch dev extension host
MIT
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub retro-dev-tools/rgbds-lsp --plugin rgbds-lspGleam language server
AI-powered hardware development platform — design, verify, synthesize, and deploy working RTL with natural language. 18 agents, 25 skills, 8 IP blocks.
Interactive decompilation teacher — learn how decompilers work by exploring tiny-dec's 19-stage RV32I pipeline with guided lessons, quizzes, and hands-on exercises.
Rust language server
Validation and quality enforcement for Tailwind CSS projects with comprehensive utility-first CSS patterns and best practices.
YAML language server