astral-sh / ruff

An extremely fast Python linter and code formatter, written in Rust.
https://docs.astral.sh/ruff
MIT License
32k stars 1.07k forks source link

`ruff server` update `lsp-types` to 0.96.0 #11595

Open ismail opened 4 months ago

ismail commented 4 months ago

Looks like https://github.com/gluon-lang/lsp-types has released version 0.96.0 with notebook support, would it be possible to use it instead of using a custom fork?

dhruvmanila commented 4 months ago

Yeah, that should be possible although @snowsignal might know more if there's any other difference apart from the Notebook support but she's on PTO for the week. Feel free to open a PR if you're interested :)

MichaReiser commented 4 months ago

Yeah, I think that should be possible. All we needed was that the notebook PR gets merged and released and that's now the case.

T-256 commented 4 months ago

Also, we should consider https://github.com/gluon-lang/lsp-types/issues/284

MichaReiser commented 4 months ago

Hmm, that sounds painful. I don't think we're in a rush updating. Let's see what they decide on.

T-256 commented 4 months ago

cc @karthiknadig who announced lsprotocol crate at here and was looking for feedback. I recommend you try ruff_server migrated to lsprotocol. I tried but there were few blockers that stopped me on continue it. you can catch these blockers as feedback to improve lsprotocol crate.

snowsignal commented 4 months ago

The issue blocking an upgrade to 0.96.0, as @T-256 pointed out, is https://github.com/gluon-lang/lsp-types/issues/284. We use the old Url type frequently in the codebase and the new Uri type lacks several key functions that we need, especially related to file path conversion.

I would be interested in exploring a move to lsprotocol, though as @T-256 said there could be blockers there too.

dhruvmanila commented 4 months ago

I tried but there were few blockers that stopped me on continue it.

Can you enumerate the blockers here? We'd appreciate that. It could also be useful to provide the diff here and anyone from the team can enumerate the said blockers.