Minimal Python language server based on Jedi 🍝🐍
Go to file
2022-12-03 19:42:27 +01:00
italianswirls server: implement references 2022-12-03 19:42:27 +01:00
.gitignore init 2022-12-01 16:35:07 +01:00
README.md server: implement references 2022-12-03 19:42:27 +01:00
requirements-dev.txt init 2022-12-01 16:35:07 +01:00
requirements.txt requirements: pin pygls to latest 2022-12-03 18:05:50 +01:00

Italian Swirls 🍝

Minimal Python language server, based on Jedi and pygls.

WIP! ⚠ 👷🚧

Supported features:

LSP method Description
textDocument/completion Complete
textDocument/definition Go to definition
textDocument/typeDefinition Go to type definition
textDocument/hover Show documentation
textDocument/references Show references

Install

TODO

About

Why?

General-purpose servers (pyls, py-lsp) try to do too much and break stuff too often for me. Locking Neovim when I press tab, crashes of all kind, LspRestart failing. Also I like my linting and formatting done by dedicated tools such as nvim-lint and formatter.

Other Jedi-based servers seem to focus on coc-nvim and frequently fail on Neovim's native LSP client for me. I tried to fix jedi-language-server several times when it failed me but thought it could be fun to try pygls to redo it as small and simple as I can. And running a Node server to get Python completions? HA!

Why the name?

Take the string “Is this a Star Wars reference?” Language Server, compress it to ITASWRLS and expand it back to Italian Swirls. Italian dishes are made of few elements that work well together. Enough questions!

License

GPLv3.