// Documentación de Singularity
Servidores de lenguaje (LSP)
Un servidor de lenguaje da al editor una comprensión de tu código: analiza los archivos del proyecto y responde a las peticiones de completado, diagnóstico o navegación de Singularity.
Para qué sirve un servidor de lenguaje
El protocolo LSP separa el editor de la herramienta que entiende un lenguaje. Singularity abre tu archivo en CodeMirror y el servidor correspondiente analiza el texto y el proyecto. No tienes que configurar el protocolo: basta con activar el servidor del lenguaje que usas.
Un servidor no ejecuta tu programa y no sustituye ni al compilador ni a las pruebas. Sus respuestas son ayudas a la edición; valida siempre el resultado con las herramientas del proyecto.
Lenguajes compatibles
El panel LSP de Singularity 2.0.0 ofrece exactamente 31 servidores:
- TypeScript y JavaScript; JSON; HTML; CSS, SCSS y Less
- Rust; Go; Python (Pyright); Python (Ruff); C y C++; Java
- Lua; TOML; YAML; Bash; Elixir; Ansible; Dart; Dockerfile
- GraphQL; Haskell; PHP; Kotlin; Markdown; C#; PowerShell
- Ruby; Swift; Svelte; Terraform; Vue; Zig
TypeScript/JavaScript, JSON, HTML y CSS están activados por defecto. Los demás servidores están desactivados al principio. Python y YAML tienen cada uno dos servidores posibles; el orden de registro determina cuál se encarga de un archivo cuando las extensiones se solapan.
Instalar un servidor
- Abre Settings y elige LSP.
- Comprueba que la integración LSP general está activa.
- Activa el interruptor del lenguaje deseado y abre un archivo correspondiente.
La línea del servidor indica su modo de arranque. Para una entrada npx, npm descarga si es necesario la versión por defecto fijada en su caché gestionada por npm. Para una entrada marcada on PATH, Singularity no descarga ningún binario: instala el servidor con la herramienta recomendada por su ecosistema y haz que su comando esté accesible en el PATH de la aplicación.

Actualizar
El panel comprueba las versiones al abrirse. Cuando todo está al día, Check for updates fuerza una nueva comprobación. Si hay varias versiones disponibles, despliega Details para revisarlas o elige Update all para instalarlas una tras otra.
Una versión fijada es la versión de referencia declarada por Singularity: el recurso a npx la usa en lugar de obtener a ciegas latest. Aun así, la comprobación puede proponer una versión más reciente. La actualización de los servidores npx realiza una instalación global de npm; los servidores proporcionados por el PATH deben actualizarse con su gestor habitual.
Qué aporta al editor
Las funciones realmente conectadas son el completado durante la escritura o con Ctrl+Space, la información al pasar el ratón, la ayuda de firma, los diagnósticos, las acciones rápidas, las sugerencias en línea y el esquema de símbolos del documento.
El menú contextual permite ir a la definición, a la definición de tipo o a la implementación, buscar las referencias, renombrar y formatear. La búsqueda de símbolos del proyecto está disponible con Cmd+T en macOS o Ctrl+T en los demás sistemas. Las importaciones automáticas, el formateo de una selección, los tokens semánticos y la vista previa integrada de una definición no están disponibles actualmente.
Diagnosticar un servidor que no arranca
Abre Help → Open Logs Folder o Help → Show Log File y busca las entradas con el ámbito lsp. Indican, entre otras cosas, un fallo de arranque, un error de ejecución o la salida de error del servidor.
- Servidor
on PATH: el comando no está instalado o elPATHvisible para Singularity no lo contiene. - Servidor
npx: falta Node.js, npm o el acceso al registro de npm. - El servidor está desactivado, la integración LSP general está desactivada o la extensión del archivo no coincide.
- Dos servidores reclaman la misma extensión, sobre todo en Python o YAML.
- El proyecto no contiene la configuración o el SDK que espera el servidor.
Tras corregirlo, cierra el archivo y vuelve a abrirlo. Para problemas más generales de arranque, registros o entorno, consulta Solución de problemas.