Saltar al contenido
En esta página

Herramientas

Zolo viene con un conjunto completo de herramientas de desarrollo.

CLI (zolo)

El comando zolo es la interfaz principal para trabajar con código Zolo.

Ejecutando Código

zolo run hello.zolo       # compilar y ejecutar
zolo hello.zolo           # atajo para 'run'

Compilando

zolo compile hello.zolo   # mostrar el código Lua generado

Esto es útil para depuración — puedes ver exactamente qué código Lua produce tu programa Zolo.

Verificación de Tipos

zolo check hello.zolo     # analizar y verificar tipos sin ejecutar

Pruebas

zolo test tests.zolo                 # ejecutar todas las funciones @test
zolo test tests.zolo --filter fib    # solo pruebas que coincidan con "fib"
zolo test tests.zolo --list          # listar nombres de pruebas

La salida de las pruebas muestra aprobado/reprobado para cada función de prueba:

[PASS] test_addition
[PASS] test_fibonacci
[FAIL] test_broken - assertion failed: expected 5, got 4
Results: 2 passed, 1 failed, 3 total

Formateo

zolo fmt hello.zolo          # formatear archivo en su lugar
zolo fmt --check hello.zolo  # verificar formateo sin modificar

REPL

zolo repl     # iniciar sesión interactiva

Versión y Ayuda

zolo version   # o zolo -v
zolo help      # o zolo -h

Language Server Protocol (LSP)

El servidor LSP de Zolo (zolo-lsp) proporciona funciones de IDE. Está implementado en Rust usando tower-lsp y se comunica a través de stdin/stdout.

Funcionalidades Soportadas

Funcionalidad Descripción
Diagnósticos Errores de análisis con ubicaciones en el código fuente
Hover Firmas de funciones, información de struct/enum/trait
Autocompletar Palabras clave, tipos, símbolos del documento, snippets
Ir a Definición Funciones, structs, enums, traits, variables
Símbolos del Documento Esquema jerárquico del archivo
Tokens Semánticos Resaltado de sintaxis enriquecido (funciones, métodos, tipos, parámetros, campos, decoradores)
Ayuda de Firma Información de parámetros al escribir llamadas a funciones
Sugerencias Inline Nombres de parámetros en llamadas, tipos inferidos para vinculaciones let

Tipos de Token Semántico

El LSP proporciona tokens semánticos para:

  • function — nombres de funciones (con modificador declaration)
  • method — nombres de métodos
  • parameter — parámetros de función
  • variable — variables locales
  • property — campos de struct
  • type — nombres de tipos (structs, enums)
  • interface — nombres de traits
  • enumMember — variantes de enum
  • decorator — anotaciones @
  • keyword — palabras clave del lenguaje
  • string — literales de cadena
  • number — literales numéricos
  • comment — comentarios

Sugerencias Inline

Dos tipos de sugerencias inline:

  1. Sugerencias de nombre de parámetro — mostradas antes de los argumentos en llamadas a funciones:

    add(/*a:*/ 1, /*b:*/ 2)
  2. Sugerencias de tipo — mostradas después de vinculaciones let con tipos inferidos:

    let x /*: int*/ = 42

Debug Adapter Protocol (DAP)

El crate zolo-dap implementa el Debug Adapter Protocol para depurar programas Zolo en VS Code.

Funcionalidades Soportadas

Funcionalidad Descripción
Lanzamiento Iniciar la depuración de un archivo .zolo
Puntos de Interrupción Establecer puntos de interrupción por línea
Paso a Paso Ejecutar la siguiente línea
Entrar en Entrar en llamadas a funciones
Salir de Salir de la función actual
Continuar Ejecutar hasta el siguiente punto de interrupción
Rastreo de Pila Ver pila de llamadas con ubicaciones en el código fuente
Mapas de Fuente Mapea líneas de salida Lua de vuelta al código fuente Zolo

Cómo Funciona

  1. El DAP compila Zolo a Lua usando compile_to_lua_with_source_map()
  2. Las entradas del mapa de fuente rastrean pares (lua_line, zolo_line)
  3. Los puntos de interrupción se traducen de líneas Zolo a líneas Lua
  4. La sesión de depuración gestiona el stepping, los frames de pila y los ámbitos de variables

Configuración de Lanzamiento en VS Code

Añadir a .vscode/launch.json:

{
    "type": "zolo",
    "request": "launch",
    "name": "Debug Zolo",
    "program": "${file}"
}

Formateador (zolo fmt)

El formateador de Zolo está basado en AST — analiza el código fuente y luego lo reimprime con un estilo consistente.

Funcionalidades

  • Indentación de 2 espacios
  • Posicionamiento consistente de llaves
  • Preservación de comentarios
  • Formateo de expresiones
  • Alineación de declaraciones

Uso

zolo fmt myfile.zolo         # formatear en su lugar
zolo fmt --check myfile.zolo # verificar sin modificar (código de salida 1 si se necesitan cambios)

Extensión VS Code

La extensión Zolo para VS Code proporciona un entorno de desarrollo completo.

Funcionalidades

Categoría Funcionalidades
Sintaxis Gramática TextMate para resaltado completo de sintaxis
Configuración de Lenguaje Comentarios, corchetes, indentación, plegado
Snippets Más de 28 snippets para construcciones comunes
LSP Cliente LSP completo con auto-descubrimiento del binario zolo-lsp
Resaltado Semántico Coloración rica de tokens vía tokens semánticos LSP
Ayuda de Firma Información de parámetros en llamadas a funciones
Sugerencias Inline Sugerencias de tipo y nombre de parámetro
Explorer Vista de árbol en la barra lateral mostrando símbolos del documento
Visor de AST Panel webview mostrando el AST
Depurador Integración DAP para depuración
Comandos Ejecutar, reiniciar LSP, mostrar AST, mostrar salida
Ejecutar Ejecutar archivo actual con Ctrl+Shift+R

Comandos

Comando Atajo Descripción
Zolo: Run Current File Ctrl+Shift+R Compilar y ejecutar el archivo activo
Zolo: Restart Language Server Reiniciar el servidor LSP
Zolo: Show AST Abrir panel del visor de AST
Zolo: Show Output Channel Mostrar logs de salida del LSP

Configuración

Ajuste Predeterminado Descripción
zolo.lsp.enabled true Habilitar/deshabilitar el cliente LSP
zolo.lsp.serverPath automático Ruta al binario zolo-lsp
zolo.trace.server off Nivel de rastreo LSP (off, messages, verbose)

Barra de Estado

Muestra el estado de la conexión LSP:

  • Conectado / Desconectado / Error
  • Haz clic para abrir el canal de salida con los logs LSP

Zolo Explorer

Un panel en la barra lateral (barra de actividad) que muestra el esquema del documento:

  • Funciones, structs, enums, traits, variables
  • Haz clic en cualquier símbolo para navegar a su ubicación
  • Se actualiza automáticamente al cambiar el archivo

Visor de AST

Un panel webview que muestra el AST analizado como un árbol interactivo:

  • Se actualiza en tiempo real mientras editas
  • Muestra todos los nodos del AST con sus tipos y spans

Depuración

Pulsa F5 para iniciar la depuración con el adaptador de depuración Zolo:

  • Establece puntos de interrupción haciendo clic en el margen
  • Avanza por el código línea a línea
  • Visualiza la pila de llamadas
  • Continúa/pausa la ejecución

Menús Contextuales

Haz clic derecho en un archivo .zolo en el explorer → "Run with Zolo"

Buscar en Zolo

9 resultados

enespt-br