LSP mínimo y sin dependencias para Godot/GDScript, enfocado en trabajar con escenas, nodos y recursos sin abrir Godot.
initialize/ stdio JSON-RPC- sync de documentos abiertos
- autocompletado de escenas
.tscndel proyecto - autocompletado de rutas de nodos parseadas desde escenas:
Player/Sprite,UI/Menu/Button, etc. - autocompletado de recursos
res://...: scripts, escenas, texturas, audio y cualquier archivo del proyecto - completions: todas las clases documentadas en Godot
latest, keywords, callbacks, símbolos del proyecto - document symbols:
class_name,func,var,const,signal - definition/references por símbolo en
.gd - hover básico
- diagnostics simples: paréntesis desbalanceados y
preload/load("res://...")faltantes
La idea central: que el editor pueda sugerir escenas, nodos, tipos Godot y recursos mientras escribes .gd o .tscn, evitando abrir Godot solo para buscar paths.
chmod +x godot_lsp.py
./godot_lsp.py --stdiomake install
# instala ~/.local/bin/godot-scene-lspvim.lsp.start({
name = 'godot-scene-lsp',
cmd = { 'godot-scene-lsp', '--stdio' },
root_dir = vim.fs.root(0, { 'project.godot', '.git' }),
})El archivo godot_api.json se generó desde:
https://docs.godotengine.org/en/latest/classes/
Actualizarlo:
make update-apiNota: latest puede incluir cosas aún no disponibles en la versión estable instalada.
make export
# genera dist/godot-scene-lsp-0.1.0.tar.gzmake check
make smokeSkipped: semántica completa de GDScript; añadir cuando el soporte de escenas/nodos/recursos ya esté conectado al editor.