lush.nvim icon indicating copy to clipboard operation
lush.nvim copied to clipboard

External plugin templates

Open rktjmp opened this issue 4 years ago • 7 comments

https://gist.github.com/kunzaatko/65c2317018afdbfc69abac9c7737722b

rktjmp avatar Mar 07 '21 05:03 rktjmp

I do not think these files belong in the core lush project because:

  1. They'll actually end up pretty hidden away for people who want to find them ("just cp .local/nvim/site/packer/compiled/lush.nvim/... ..." bleh)

  2. They might end up with frequent changes or "upstream plugin changed" patches which will clutter lush's mainline git log.

I think they either go into:

  • https://github.com/rktjmp/lush-template (I think I would prefer to keep this as blank/light/unintimidating as possible)
  • an as yet non-existent https://github.com/rktjmp/lush-template-...plugin-starters? or something
  • a kunzaatko/lush-plugin-starters repo.

I don't think I mind hosting a starter/helper repo, probably mostly just a matter of deciding on a format and writing a readme on what they are and how to use them.

@kunzaatko

rktjmp avatar Mar 07 '21 05:03 rktjmp

Maybe they could be added as a submodule to the https://github.com/rktjmp/lush-template.

kunzaatko avatar Mar 07 '21 09:03 kunzaatko

Isn't that just including them directly but with extra steps?

At any rate. I think they should by default be:

  • one rule per line
  • commented out

So someone can grab the file and just update whatever parts they need without clearing any existing highlight links setup by the plugins.

How/where are you generating these from?

rktjmp avatar Mar 07 '21 15:03 rktjmp

Isn't that just including them directly but with extra steps?

I think that i order to download the submodules, you have to have write git submodule update to fetch them. That makes it opt-in rather then opt-out...

  • one rule per line
  • commented out

Sure, that is sensible.

How/where are you generating these from?

I just grabbed some big colourschemes, concatenated them, sorted them, filtered them and then edited the result with some vim macros. This inherently means, that the list of groups is not necessarily exhaustive...

I will make a private repo and invite you. Then, when it gets stable and we figure out the specific layout, we can make it public and figure out where to put it (or if I should transfer ownership to you or something)...

kunzaatko avatar Mar 08 '21 11:03 kunzaatko

You can look at the new repo I created. It should work with the new extends/with API hopefully. @rktjmp

kunzaatko avatar Mar 08 '21 22:03 kunzaatko

Just thinking out loud,

the starter template could actually have multiple branches by default

  • main/master/slim/default -> whats there now
  • light_dark -> light dark variant template
  • plugins -> has the plugins

You could probably start main then just merge in what you want git merge light_dark git merge plugins.

What I want to avoid is someone cloning down that repo, seeing 1000 files and thinking Lush is really heavy and complex when it really isn't.

rktjmp avatar Mar 09 '21 02:03 rktjmp

That seems reasonable. I think that it should also be emphasized in the README that the plugins are really templates and there is no need to implement a lot of them... So the template should then be in one repo not two as we agreed upon before...

kunzaatko avatar Mar 09 '21 07:03 kunzaatko