scalameta / coc-metals

Deprecated in favor of scalameta/nvim-metals
http://scalameta.org/metals/
Apache License 2.0
167 stars 24 forks source link

Deprecating coc-metals #460

Open ckipp01 opened 2 years ago

ckipp01 commented 2 years ago

I started coc-metals in November of 2019. As I was started to get more involved in Metals I wanted a more automated way to get set up using Vim and Metals. That's basically why coc-metals was created, with the goal of making getting started with Scala and Vim easier. It also served as an incredible way for me to get familiar with Metals. This was my daily driver for a long time and allowed me to be productive writing Scala in Vim.

I say Vim, but I was already a big fan of Neovim and was watching with interest the early days of the built in LSP Neovim would eventually ship with. This is what eventually lead to me creating nvim-metals which quickly became my daily driver. I enjoyed the flexibility it brought, the lightness, and no longer needing the Node dependency. I'm fully convinced that nvim-metals is better in almost every way.

With that in mind, I find myself at a cross-roads with coc-metals. The current snapshots of Metals don't work with coc-metals and the next stable release won't as well until https://github.com/scalameta/coc-metals/issues/416 is taken care of. There are also a fair amount of new features in Metals that are not part of coc-metals. For a while now the only maintenance that coc-metals has received has been bumping the default version of Metals and doing a release. Furthermore, much of the documentation on the Metals website is in reference to coc-metals, not nvim-metals. This will soon become problematic.

This sort of leaves a few options:

  1. Someone else that is still using coc-metals puts in some work and takes care of #416 and maybe tackles some of the new features
  2. We sunset coc-metals and update all the docs to only reference nvim-metals. The problem here is that we are sort of forcing users to use Neovim then, or another LSP plugin that does work with Vim, but won't have any of the LSP extensions of Metals or the automated installation.

I'd appreciate any input people have on this, especially if you're still actively using coc-metals.

Cheers

ekrich commented 2 years ago

Maybe this could be linked from the Metals docs with the info and pointers to nvim-metals and in the end if it does not gain traction then it could be removed. Sort of an official deprecation if no one takes over.

gvolpe commented 2 years ago

Foremost, thanks for all the effort you put into this!

I am still using coc-metals but I plan to migrate to nvim-metals at some point. I would vote for the Metals documentation to be centered around nvim-metals, and add coc.nvim to the "Using an alternative LSP Client" section.

In the end, it's mainly you putting all the work, which benefits hundreds of NeoVim users like me, so we can only say thanks and help you out in making nvim-metals the new standard.

I think users will follow the official docs, and any few users still interested in coc-metals are welcome to become maintainers of the project to keep it up to date.

jsatk commented 2 years ago

Foremost, thanks for all the effort you put into this!

I am still using coc-metals but I plan to migrate to nvim-metals at some point. I would vote for the Metals documentation to be centered around nvim-metals, and add coc.nvim to the "Using an alternative LSP Client" section.

In the end, it's mainly you putting all the work, which benefits hundreds of NeoVim users like me, so we can only say thanks and help you out in making nvim-metals the new standard.

I think users will follow the official docs, and any few users still interested in coc-metals are welcome to become maintainers of the project to keep it up to date.

I came in here to give my thoughts but this basically sums up exactly what I wanted to say. You do so much Chris, and I think it's fair to say "hey this is sunset/no-longer-supported but open for pick up by folks if someone wants to own it!"

agboom commented 2 years ago

Thanks for creating and maintaining coc-metals @ckipp01! It has been my daily driver for Scala development for over a year now and I can say that it has raised the bar significantly for IDE-like development using Vim. I was not aware of this alternative until recently, but looking through the feature list of nvim-metals it seems like a very impressive alternative. I'm going to install it as soon as I have the time!

jsatk commented 2 years ago

Thanks for creating and maintaining coc-metals @ckipp01! It has been my daily driver for Scala development for over a year now and I can say that it has raised the bar significantly for IDE-like development using Vim. I was not aware of this alternative until recently, but looking through the feature list of nvim-metals it seems like a very impressive alternative. I'm going to install it as soon as I have the time!

Hey @agboom! Thanks for the kind words. And just wanted to say that Scalameta has a Discord (the crew that makes and maintains Metals) and on that Discord we have a nvim-metals channel. Folks are really kind and willing to help out. So if you wanna switch and if you need any help getting set up, please don’t hesitate to holler. https://discord.gg/V3V68K39

ckipp01 commented 2 years ago

Thanks a lot for the feedback everyone. I'm going ahead with the plan of officially deprecating coc-metals and the documentation on the website will reflect this right after the next release. Of course, if anyone feels passionate about the project and wants to pick it up, I'm always happy to give some guidance and insight.

For anyone needing help migrating to nvim-metals, don't hesitate to create an issue over there or jump into the #vim-users chat on Discord or on Matrix.