Alright, I got some more experience with python language servers while developing

https://github.com/techee/lsp-proxy

  1. I don't like pylsp much - seems slow and kind of buggy
  2. pyright-langserver seems to be very good but requires type annotations, otherwise it tends to report false positive errors - but I'm sure this is possible to configure by a config file where it should be possible to specify a less strict behavior.
  3. jedi-language-server also seems to be good - it doesn't do such an advanced type analysis as pyright but on the other hand it doesn't suffer from false positives because of this
  4. ruff is super fast, usable just for linting and can be a good supplemental language server to one of the three servers above - using multiple servers can be achieved by the lsp-proxy project above

The difference between 2 and 3 can be seen in code like

foo = ""
bar = foo + 1

where pyright reports an error about adding a string and a number while jedi-language-server doesn't report anything.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany-plugins/pull/1331/c2371768339@github.com>