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
```Python
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 or view it on GitHub:
https://github.com/geany/geany-plugins/pull/1331#issuecomment-2371768339
You are receiving this because you are subscribed to this thread.

Message ID: <geany/geany-plugins/pull/1331/c2371768...@github.com>

Reply via email to