larperCord Me pague um café no ko-fi.com English

Erros no código

Enquanto você digita um bloco de código na caixa de texto, o larperCord pode mostrar os erros que um servidor de linguagem encontra nele. Nada vem embutido no app e nada é baixado: o servidor é um programa seu, e só roda para uma linguagem que você ligou. Com tudo desligado (o padrão), não há thread, processo filho nem memória a mais em uso.

Como ligar

Configurações → Erros no código. Cada linguagem tem um comando e um interruptor:

Etiqueta do blocoLinha
zigZig
python, py, py3Python
rust, rsRust
c, h, cpp, c++, cc, cxx, hppC / C++
go, golangGo
typescript, ts, tsx, javascript, js, jsxTypeScript / JavaScript
luaLua

O servidor precisa falar LSP por stdin e stdout, então o comando costuma ser algo como zls, ruff server, pyright-langserver --stdio, rust-analyzer, clangd, gopls, typescript-language-server --stdio ou lua-language-server.

A página também procura esses nomes conhecidos no seu PATH e oferece o que achar. Ela só confere se o arquivo existe e é executável; não o executa. Clicar em Usar … e ligar guarda o caminho inteiro como comando, e é com isso que você está concordando.

Enquanto digita

Ponha o cursor dentro de um bloco:

`

const a: u32 = "texto";

Uns 300 ms depois que você para de digitar, o bloco vai para o servidor. Até três problemas aparecem acima da caixa de texto (linha, gravidade, mensagem) e ficam sublinhados no texto. Se o texto cresceu a ponto de rolar dentro da caixa, só a lista aparece. Os números de linha contam do começo da mensagem, não do começo do bloco.

O que o servidor recebe

O app guarda o seu token do Discord, então o servidor roda com o mínimo possível:

Isso não é uma jaula. Um servidor de linguagem é um programa comum que roda como você, e poderia ler seus arquivos, inclusive onde o app guarda o token. Só ligue servidores em que você confia.

Por um plugin

Um plugin Lua pode propor um servidor, por exemplo para uma linguagem que o app não lista:

lua
larper.lsp("haskell", {"haskell-language-server-wrapper", "--lsp"})

A proposta aparece na mesma página das Configurações, com o comando inteiro, desligada. Ela só roda depois que você liga, e a decisão vale para aquele plugin, linguagem e comando exatos: se o plugin mudar o comando, ela volta a ficar desligada. Veja plugins.pt-BR.md.

Se a linguagem tem os dois, o seu comando vale.

Limites que vale conhecer

Fonte desta página no GitHub