Sua solicitação de recurso está relacionada a um problema?
Eu tenho usado alex
e proselint
para verificar minha escrita por um tempo, mas sempre fico desencorajado a fazer isso porque tenho que sair do vim e executar o executável no arquivo por si só, que é realmente ineficiente ao escrever um texto longo. Eu pensei sobre ALE ou sintaxe que o README para alex
e proselint
diz que pode ser usado para usá-los dentro do vim, mas não quero instalar outro plugin de linting apenas para texto, pois adoro coc mais para outras coisas.
Descreva a solução que você gostaria
Eu acho que seria bom se alguém pudesse descobrir uma configuração de servidor de idioma coc-settings.json para o executável alex
ou proselint
. Melhor ainda, uma extensão para linting de texto como coc-clangd
usa clangd
.
Descreva as alternativas que você considerou
Como eu disse, pensei em ALE e sintática que o README para alex
e proselint
disse ter suporte. Mas não consegui encontrar nenhuma documentação relevante no github para fazer isso e, novamente, não quero outro programa de linting apenas para textos que tornam meu vim lento.
Contexto adicional
Além de alex
e proselint
, também existem coisas como GNU style
e diction
que funcionariam bem, mas eu pessoalmente acho que alex
e proselint
is (Editar: são ... veja é por isso que preciso de linting de texto) mais preciso e detalhado.
Talvez https://www.npmjs.com/package/coc-diagnostic possa ajudar.
Obrigado @chemzqm por esse link.
Consegui fazer proselint
funcionar usando coc-diagnostic
com esta configuração:
"diagnostic-languageserver.filetypes": {
"text": ["proselint"]
},
"diagnostic-languageserver.linters": {
"proselint": {
"command": "proselint",
"isStdout": true,
"isStderr": false,
"debounce": 100,
"args": ["-"],
"offsetLine": 0,
"offsetColumn": 0,
"sourceName": "proselint",
"formatLines": 1,
"formatPattern": [
"^[^:]+:(\\d+):(\\d+):(\\s)(.*)$",
{
"line": 1,
"column": 2,
"security": 3,
"message": 4
}
],
"securities": {
" ": "info"
}
}
}
Ainda estou trabalhando no GNU diction
, style
e alex
. Vou postar as soluções aqui quando terminar.
Fiz esta configuração para alex
. Você pode ter que alterar o comando dependendo de como você o instalou.
"alex": {
"command": "alexjs",
"debounce": 200,
"isStderr": true,
"args": ["--stdin"],
"offsetLine": 0,
"offsetColumn": 0,
"sourceName": "alex.js",
"formatLines": 1,
"formatPattern": [
"^\\s*(\\d+):(\\d+)-(\\d+):(\\d+)\\s{2}([a-z]+)\\s{2}(.*?)\\s{2,}([a-z-]+)\\s{2,}([a-z-]+)$",
{
"line": 1,
"column": 2,
"endLine": 3,
"endColumn": 4,
"security" : 5,
"message": 6
}
],
"securities" : {
"warning": "warning",
"error": "error"
}
}
Você pode adicionar isso ao seu diagnostic-languageserver.linters
para usá-lo com coc-diagnostic
.
Espero que ajude!
Comentários muito úteis
Fiz esta configuração para
alex
. Você pode ter que alterar o comando dependendo de como você o instalou.Você pode adicionar isso ao seu
diagnostic-languageserver.linters
para usá-lo comcoc-diagnostic
.Espero que ajude!