Skip to main content

LSP e Autocomplete

Autocomplete e LSP no Editor

Para melhorar a experiência de desenvolvimento dos scripts Lua, você pode configurar o Language Server Protocol (LSP) no seu editor. Isso permite funcionalidades como autocomplete, verificação de tipos e documentação inline.

Pré-requisito: Instalar o Lua Language Server

Instale o Lua Language Server no seu editor:

Como Usar no Seu Script

Copie o arquivo definitions.lua do repositório oficial para o seu projeto. Este arquivo contém definições de tipos para as APIs disponíveis.

No início do seu script, adicione:

if false then
require("definitions")
end

Por que if false? Esta condição garante que o código nunca será executado no dispositivo, mas o LSP do seu editor ainda consegue ler e processar as definições de tipo. Dessa forma, você obtém autocomplete sem carregar arquivos desnecessários no dispositivo.

Benefícios

  • Autocomplete inteligente - Sugestões de métodos e propriedades enquanto você digita
  • Verificação de tipos - Alertas sobre uso incorreto de funções
  • Documentação inline - Descrições dos parâmetros ao passar o mouse
  • Detecção de erros - Avisos sobre variáveis não declaradas
  • Navegação - Ir para definição de funções

Exemplo de Uso

-- Ativa o LSP (não é executado no dispositivo)
if false then
require("definitions")
end

-- Agora você tem autocomplete completo!
EventBus.subscribeScalar(0, function(event)
local flowSensor = Sensor.get(0)

if flowSensor == nil then
Log.error("Sensor não encontrado")
return
end

-- Autocomplete mostra todos os métodos disponíveis
if event.value == 1 then
flowSensor:resume() -- ✓ Sugestão automática
flowSensor:resetTimer() -- ✓ Verificação de tipo
else
flowSensor:pause()
end
end)