nvim-neorocks / nvim-best-practices

Collection of DOs and DON'Ts for modern Neovim Lua plugin development
Creative Commons Zero v1.0 Universal
237 stars 3 forks source link

Consider adding recommendations for "plugin integrations" #6

Closed ColinKennedy closed 1 month ago

ColinKennedy commented 1 month ago

It's no secret that quality-of-life plugins greatly enhance a user's experience in Neovim. We could encourage plugin authors to think about how to integrate their work with others.

An example of what I mean could be something like ...

If your plugin can display as status text, consider creating a custom [lualine](https://github.com/nvim-lualine/lualine.nvim) component.

If your plugin is interactive with lists text and that need previews / selection, consider adding [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) extension.

If your plugin involves typing, consider adding a [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) completion source.

A reminder to plugin authors that they should consider how their plugins mesh with the Neovim plugin ecosystem would be a good best practice IMO. What do you think?

mrcjkb commented 1 month ago

Hey 👋

Thanks for the suggestion. I kind of have mixed feelings about this. Integrating with other plugins is definitely not a bad thing. But I don't think it's a bad thing to choose not to either, because it can increase the maintenance burden. Another option is to provide an API that other plugins can use to create third party integrations.

I think it's definitely a good idea to add a section on this though.

mrcjkb commented 1 month ago

https://github.com/nvim-neorocks/nvim-best-practices/commit/3388e1d6c99054cecfcd1dc9162858f2a8e5e330