Pular para o conteúdo
Nesta página

Ferramentas

Zolo vem com um conjunto abrangente de ferramentas de desenvolvimento.

CLI (zolo)

O comando zolo é a interface principal para trabalhar com código Zolo.

Executando Código

zolo run hello.zolo       # compilar e executar
zolo hello.zolo           # atalho para 'run'

Compilando

zolo compile hello.zolo   # exibir o código Lua gerado

Isso é útil para depuração — você pode ver exatamente qual código Lua o seu programa Zolo produz.

Verificação de Tipos

zolo check hello.zolo     # analisar e verificar tipos sem executar

Testes

zolo test tests.zolo                 # executar todas as funções @test
zolo test tests.zolo --filter fib    # apenas testes correspondendo a "fib"
zolo test tests.zolo --list          # listar nomes dos testes

A saída dos testes mostra aprovado/reprovado para cada função de teste:

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

Formatação

zolo fmt hello.zolo          # formatar arquivo no local
zolo fmt --check hello.zolo  # verificar formatação sem modificar

REPL

zolo repl     # iniciar sessão interativa

Versão e Ajuda

zolo version   # ou zolo -v
zolo help      # ou zolo -h

Language Server Protocol (LSP)

O servidor LSP do Zolo (zolo-lsp) fornece recursos de IDE. Ele é implementado em Rust usando tower-lsp e se comunica via stdin/stdout.

Funcionalidades Suportadas

Funcionalidade Descrição
Diagnósticos Erros de análise com localizações no código-fonte
Hover Assinaturas de funções, informações de struct/enum/trait
Autocompletar Palavras-chave, tipos, símbolos do documento, snippets
Ir para Definição Funções, structs, enums, traits, variáveis
Símbolos do Documento Esboço hierárquico do arquivo
Tokens Semânticos Realce de sintaxe rico (funções, métodos, tipos, parâmetros, campos, decoradores)
Ajuda de Assinatura Informações de parâmetro ao digitar chamadas de função
Dicas Inline Nomes de parâmetros em chamadas, tipos inferidos para vinculações let

Tipos de Token Semântico

O LSP fornece tokens semânticos para:

  • function — nomes de funções (com modificador declaration)
  • method — nomes de métodos
  • parameter — parâmetros de função
  • variable — variáveis locais
  • property — campos de struct
  • type — nomes de tipos (structs, enums)
  • interface — nomes de traits
  • enumMember — variantes de enum
  • decorator — anotações @
  • keyword — palavras-chave da linguagem
  • string — literais de string
  • number — literais numéricos
  • comment — comentários

Dicas Inline

Dois tipos de dicas inline:

  1. Dicas de nome de parâmetro — exibidas antes dos argumentos em chamadas de função:

    add(/*a:*/ 1, /*b:*/ 2)
  2. Dicas de tipo — exibidas após vinculações let com tipos inferidos:

    let x /*: int*/ = 42

Debug Adapter Protocol (DAP)

O crate zolo-dap implementa o Debug Adapter Protocol para depurar programas Zolo no VS Code.

Funcionalidades Suportadas

Funcionalidade Descrição
Lançamento Iniciar a depuração de um arquivo .zolo
Pontos de Parada Definir pontos de parada por linha
Passar Por Cima Executar a próxima linha
Entrar em Entrar em chamadas de função
Sair de Sair da função atual
Continuar Executar até o próximo ponto de parada
Rastreamento de Pilha Visualizar pilha de chamadas com localizações no código-fonte
Mapas de Fonte Mapeia linhas de saída Lua de volta para o código-fonte Zolo

Como Funciona

  1. O DAP compila Zolo para Lua usando compile_to_lua_with_source_map()
  2. As entradas do mapa de fonte rastreiam pares (lua_line, zolo_line)
  3. Os pontos de parada são traduzidos de linhas Zolo para linhas Lua
  4. A sessão de depuração gerencia stepping, frames de pilha e escopos de variáveis

Configuração de Lançamento do VS Code

Adicione ao .vscode/launch.json:

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

Formatador (zolo fmt)

O formatador Zolo é baseado em AST — analisa o código-fonte e então o reimprime com estilo consistente.

Funcionalidades

  • Indentação de 2 espaços
  • Posicionamento consistente de chaves
  • Preservação de comentários
  • Formatação de expressões
  • Alinhamento de declarações

Uso

zolo fmt myfile.zolo         # formatar no local
zolo fmt --check myfile.zolo # verificar sem modificar (código de saída 1 se alterações necessárias)

Extensão VS Code

A extensão Zolo para VS Code fornece um ambiente de desenvolvimento completo.

Funcionalidades

Categoria Funcionalidades
Sintaxe Gramática TextMate para realce completo de sintaxe
Configuração de Linguagem Comentários, colchetes, indentação, dobramento
Snippets Mais de 28 snippets para construções comuns
LSP Cliente LSP completo com auto-descoberta do binário zolo-lsp
Realce Semântico Coloração rica de tokens via tokens semânticos LSP
Ajuda de Assinatura Informações de parâmetro em chamadas de função
Dicas Inline Dicas de tipo e nome de parâmetro
Explorer Visualização em árvore na barra lateral mostrando símbolos do documento
Visualizador de AST Painel webview mostrando a AST
Depurador Integração DAP para depuração
Comandos Executar, reiniciar LSP, mostrar AST, mostrar saída
Executar Executar arquivo atual com Ctrl+Shift+R

Comandos

Comando Atalho Descrição
Zolo: Run Current File Ctrl+Shift+R Compilar e executar o arquivo ativo
Zolo: Restart Language Server Reiniciar o servidor LSP
Zolo: Show AST Abrir painel do visualizador de AST
Zolo: Show Output Channel Mostrar logs de saída do LSP

Configuração

Configuração Padrão Descrição
zolo.lsp.enabled true Habilitar/desabilitar o cliente LSP
zolo.lsp.serverPath automático Caminho para o binário zolo-lsp
zolo.trace.server off Nível de rastreamento LSP (off, messages, verbose)

Barra de Status

Mostra o status da conexão LSP:

  • Conectado / Desconectado / Erro
  • Clique para abrir o canal de saída com logs LSP

Zolo Explorer

Um painel na barra lateral (barra de atividade) mostrando o esboço do documento:

  • Funções, structs, enums, traits, variáveis
  • Clique em qualquer símbolo para navegar até sua localização
  • Atualiza automaticamente nas mudanças de arquivo

Visualizador de AST

Um painel webview mostrando a AST analisada como uma árvore interativa:

  • Atualiza ao vivo enquanto você edita
  • Mostra todos os nós da AST com seus tipos e spans

Depuração

Pressione F5 para iniciar a depuração com o adaptador de depuração Zolo:

  • Defina pontos de parada clicando na margem
  • Avance pelo código linha por linha
  • Visualize a pilha de chamadas
  • Continue/pause a execução

Clique com o botão direito em um arquivo .zolo no explorer → "Run with Zolo"

Buscar no Zolo

9 resultados

enespt-br