Files
godotdev.nvim/README.md
2025-08-20 18:07:10 +02:00

73 lines
2.1 KiB
Markdown

# godotdev.nvim
A Neovim plugin for connecting to the Godot editor LSP server to provide code navigation, diagnostics, and LSP features for GDScript projects. Supports Windows, macOS, and Linux.
## Features
- Connect to a running Godot editor's TCP LSP server.
- LSP-based code navigation for GDScript (`gd`/`gdscript`).
- Diagnostics, hover documentation, workspace symbols, and more.
- Healthcheck to validate editor LSP and required tools.
- OS-aware handling for TCP connection (`ncat` required on Windows).
## Requirements
- Neovim 0.11+
- Godot editor with TCP LSP server enabled (Editor Settings → Network → Enable TCP LSP server).
- **Windows:** `ncat` must be installed (via Scoop or Chocolatey).
- **macOS/Linux:** optional `nc` for port check; otherwise assumed reachable.
## Installation
Using [Lazy.nvim](https://github.com/folke/lazy.nvim):
```lua
`return {
'Mathijs-Bakker/godotdev.nvim',
lazy = false,
config = function()
require("godotdev").setup {
editor_port = 6005, -- optional, default is 6005
editor_host = "127.0.0.1" -- optional, default is localhost
}
end
}
```
Quickstart
1. Open your Godot project and ensure the TCP LSP server is enabled.
1. Open Neovim and edit a `.gd` or `.gdscript` file.
1. The plugin automatically attaches the LSP client.
1. Run healthcheck if needed:
```
`:checkhealth godotdev`
```
1. Use LSP keymaps:
- `gd` → Go to definition
- `gD` → Go to declaration
- `gy` → Type definition
- `gi` → Go to implementation
- `gr` → List references
- `K` → Hover documentation
- `<leader>rn` → Rename symbol
- `<leader>f` → Format buffer
- `gl` → Show diagnostics
- `[d` / `]d` → Navigate diagnostics
## Configuration Options
```lua
`require("godotdev").setup {
editor_host = "127.0.0.1", -- default
editor_port = 6005, -- default
}`
```
## Notes
- The plugin does **not** start a Godot instance automatically; the Godot editor must be running with TCP LSP enabled.
- On Windows, `ncat` is required for the TCP LSP connection. On macOS/Linux, the plugin assumes the port is reachable.
## License
MIT License