zk-org / zk-nvim

Neovim extension for zk
https://github.com/zk-org/zk
GNU General Public License v3.0
503 stars 41 forks source link

Is this still a desired plugin? #3

Closed smithbm2316 closed 2 years ago

smithbm2316 commented 2 years ago

Hey @mickael-menu, first off: thanks for the great work on zk. I've started using it and it's been such a great experience. I've spent some time digging through the discussions on zk and megalithic's zk.nvim plugin, and noticed that there was some interest in extracting some of the features from zk.nvim and adding some configuration to a new plugin with some of the new zk LSP features, while leaving out some of the duplicates between the two. However, there hasn't been any traction on that here since that discussion a few months ago.

I at the moment am not really familiar with Go (I've done some very preliminary learning for it, but nothing particularly substantial yet), so contributing to zk directly may be a bit of a challenge for me at the moment. However, I've become reasonably comfortable writing Lua over the last year as I've spent more and more time learning about Neovim and constantly refining my own config.

If you still have an interest in scaffolding out a plugin here that helps to provide a better out-of-the-box experience for zk within Neovim, I would love to help migrate some of the features from zk.nvim and add some new features surrounding the additions to the zk LSP. I've found myself already writing some custom Telescope pickers and Lua function wrappers for zk to make my own zk experience in Neovim better, and would love to help provide some of those niceties to the rest of the community. I probably won't have the time to start doing that for about another week or two as I'm in the middle of a pretty busy period at work, but I wanted to reach out and see if there was interest in developing this still before I started submitting some PRs in a few weeks' time. Let me know what you think! Thanks again for the great work on zk 😄

mickael-menu commented 2 years ago

Thanks for the kind words @smithbm2316

I still think a Neovim plugin powered by zk's LSP server would be valuable. Unfortunately, I don't know Lua myself, so it could only be achieved with external contributions. Yours is most welcome!

Take a look at this comment from @mhanberg who shared his own config using fzf.nvim. It could be useful for the plugin as well: https://github.com/mickael-menu/zk/discussions/11#discussioncomment-1535746

As this repo is pretty empty at this point, let me know when you're ready and I'll just add you as a collaborator on the repo directly.

mhanberg commented 2 years ago

Yes, feel free to copy any of my config.

Also, just for posterity, I utilize fzf.vim.

This is because I've tried fzf-lua and found it really slow, and I don't use telescope.

smithbm2316 commented 2 years ago

Awesome! I'll ping you here when I'm ready to get started on that. I'm optimistic that I could get started in a little over a week. I was hoping to try and design some of the features/integrations in a way where we could expose an API that could then let anybody install this plugin and integrate it with their fuzzy finder or tools of choice, simply sending them the data that they need from zk to make the starting point easier. Then we could perhaps support a handful of the more popular fuzzy finders out of the box, such as fzf.vim and Telescope via the API as well for people who just want to install and map the keybindings and be good to go.

It sounds like it might be a perfect fit for us then if you're not too familiar with Lua, as I am not too familiar with Golang! I'm so glad to hear that this could be a valuable way for me to contribute to this project 😄. I'm no Lua wizard but I write a lot of it in my own config and have made contributions to a couple of different Lua-based Neovim plugins over the last year. Writing Lua with Neovim's APIs is probably the programming that I find the most fun at the moment.

mickael-menu commented 2 years ago

I was hoping to try and design some of the features/integrations in a way where we could expose an API that could then let anybody install this plugin and integrate it with their fuzzy finder or tools of choice, simply sending them the data that they need from zk to make the starting point easier. Then we could perhaps support a handful of the more popular fuzzy finders out of the box, such as fzf.vim and Telescope via the API as well for people who just want to install and map the keybindings and be good to go.

Sounds like the perfect approach. Looking forward to your contributions!

smithbm2316 commented 2 years ago

Hey @mickael-menu 👋! I'm planning on finally doing some work on the plugin this weekend! I've got two days off from work for Thanksgiving so I should have some time to start getting some of the groundwork going. I'm ready to be added as a collaborator whenever you have the chance 😁

mickael-menu commented 2 years ago

Thanks @smithbm2316! I invited you as a collaborator.