dstein64 / nvim-scrollview

A Neovim plugin that displays interactive vertical scrollbars and signs.
MIT License
517 stars 9 forks source link

FR: Add gitsigns as built-in sign group #87

Closed chrisgrieser closed 1 year ago

chrisgrieser commented 1 year ago

gitsigns should be so useful, that it could make sense to have this as a builtin sign group

dstein64 commented 1 year ago

The plugin was written so that it would be possible to extend the functionality in a Neovim configuration file or with a plugin.

For example, the following code could be a starting point for a separate plugin with gitsigns functionality. https://gist.github.com/dstein64/b5d9431ebeacae1fb963efc3f2c94cf4

I plan to include a link in the documentation to repositories tagged with scrollview-signs as a GitHub topic.

chrisgrieser commented 1 year ago

While I love the idea of making this extensible, I think that gitsigns are such a central use case, that they should be built-in. Right now, it's the only feature which keeps me from switching to this plugin over from nvim-satellite, which otherwise has fewer features and stability than this plugin's implementation

dstein64 commented 1 year ago

I've added a contrib directory to nvim-scrollview.

Within the contrib directory is a Lua module that adds gitsigns support to the plugin.

The functionality is not added as a built-in, so it's not documented in the plugin help file and can't be enabled by modifying scrollview_signs_on_startup. Rather, it has to be enabled with a Lua function call.

require('scrollview.contrib.gitsigns').setup()

The documentation in gitsigns.lua describes the configuration options.

This seems like a good way to have more of a batteries included approach, without having to increase the maintenance burden of the core project. Code in contrib may receive less maintenance and have less stability than non-contrib functionality. Use at your own risk.

chrisgrieser commented 1 year ago

thanks you!