O pacote python-language-server
(suporte a Python LSP) é uma nova dependência opcional para o editor Kate no Arch Linux.
Aqui estão alguns antecedentes sobre por que isso pode ser interessante:
Por que LSP? O LSP cria a oportunidade de reduzir o problema de complexidade m-vezes-n de fornecer um alto nÃvel de suporte para qualquer linguagem de programação em qualquer editor, IDE ou endpoint do cliente para um problema m-mais-n mais simples.
Decidi que quero experimentar. Então verifiquei aqui para mais informações:
palantir/python-language-server: Uma implementação do Language Server Protocol para Python
Eu gostaria de usar YAPF , então anotei esta informação:
Provedores opcionais podem ser instalados usando a sintaxe extras. Para instalar a formatação YAPF, por exemplo:
pip install 'python-language-server[yapf]'
Eu quero instalá-lo usando os repositórios do Arch em vez de pip. Minha pergunta é: como eu conseguiria o mesmo resultado ao instalar o 'python-language-server' dos repositórios do Arch? Isso seria equivalente?
pacman -Syu python-language-server yapf
Plano de fundo opcional: por que eu quero usar o YAPF:
A maioria dos formatadores atuais para Python --- por exemplo, autopep8 e pep8ify --- são feitos para remover erros de lint do código. Isso tem algumas limitações óbvias. Por exemplo, o código que está em conformidade com as diretrizes PEP 8 não pode ser reformatado. Mas isso não significa que o código parece bom.
A YAPF adota uma abordagem diferente. É baseado no 'formato clang', desenvolvido por Daniel Jasper. Em essência, o algoritmo pega o código e o reformata para a melhor formatação que esteja de acordo com o guia de estilo, mesmo que o código original não tenha violado o guia de estilo. A ideia também é semelhante à ferramenta 'gofmt' para a linguagem de programação Go: acabar com todas as guerras santas sobre formatação - se toda a base de código de um projeto é simplesmente canalizada através do YAPF sempre que são feitas modificações, o estilo permanece consistente em todo o projeto e há não adianta discutir sobre estilo em cada revisão de código.
O objetivo final é que o código produzido pelo YAPF seja tão bom quanto o código que um programador escreveria se estivesse seguindo o guia de estilo. Isso elimina um pouco do trabalho penoso de manter seu código.
Sim
pacman -S python-language-server yapf
teria o mesmo resultado quepip install 'python-language-server[yapf]'
. Você pode até provar isso instalando com o pacman e, em seguida, tente opip
comando e ele lhe dirá Requisito já satisfeito.