Closed silvanshade closed 2 years ago
Hello again, @silvanshade! It's great to hear from you again. Thanks so much for maintaining lspower
in my absence and submitting excellent improvements to the codebase all the while.
Sure, I would be happy to merge in those two changes into tower-lsp
and resume the project in a more full capacity, if you're okay with that! Although small note: the twoway
crate is technically considered deprecated today and advises users to go for memchr
instead. This should still be fewer dependencies than relying on nom
, though, either way. I'd also be happy to grant you some rights to the repository, if you're interested, considering your excellent contributions so far.
I'm looking forward to rolling out the custom client-to-server request approach described in https://github.com/ebkalderon/tower-lsp/issues/256#issuecomment-860024369, as well as addressing #284 long-term (I think I may have a vague idea of how to proceed and will update the issue shortly), and in light of this, I think it would be wonderful if the two codebases were consolidated together.
Feel free to get started on those PRs and we can review them together! And please freely ping me if you have further questions or suggestions as well. :heart:
Just merged in the changes, @silvanshade! What would you say to receiving collaborator access to this repo, adding you as an author to the Cargo.toml
, and possibly adopting the lspower
name unilaterally to try to unify the user bases of both crates?
@ebkalderon thanks for the follow up! That all sounds good to me. I'm not entirely sure if it would be better to use lspower
or just keep the name tower-lsp
. I don't really have a strong opinion about it either way so I guess it's up to you but it's fine with me if you think that would be best.
So one minor point in favor of keeping the tower-lsp
name is that I already created a cancellation token API for lspower
but it's not as nice as the one you described recently. So moving to that would be a breaking change I guess. I kind of doubt anyone is actually using it but still.
That's certainly a fair point. I wouldn't want to cause confusion for existing lspower
and tower-lsp
users. I guess we could shift focus towards #207 and choose a new name instead, once the API is finally stabilized.
Now that version 0.16.0 is up on crates.io, this task is effectively complete. :tada: I've personally added you, @silvanshade, as a co-author of the tower-lsp
crate in the Cargo.toml
. If you would like collaborator access to the repository going forward, please feel free to reach out to me personally. Thanks again for your great co-maintainership and contributions so far!
Hi @ebkalderon, I wanted to start a discussion about merging some of the changes I made when
lspower
was forked and then deprecating that project so we can maintain a single code base. (I think you pinged me about this but I don't see where now so I'll just create this new issue).I think the only significant changes since you've been updating
tower-lsp
again are:httparse
andtwoway
instead ofnom
. This is more efficient and reduces the number of dependencies.A lot of the rest of the changes are either bug fixes or updates you've already made or stylistic changes which aren't important.
I could work on PRs for the above two and, deprecate
lspower
, and then help to maintaintower-lsp
going forward if that is something that interests you.