zsh-quickstart-kit
zsh-quickstart-kit copied to clipboard
Add a way to display changes to the kit
Feature Request
Based on discussion in https://github.com/unixorn/zsh-quickstart-kit/issues/205, we need a way to display changes to the kit like updates to the plugin list.
Describe the solution you'd like
Need to determine a way to display changelog increments to users without being spammy.
It should:
- Allow users to disable and enable change notifications with a
zqs
command. Maybezqs change-notifications yes|no
- Only display a given change notice once, the first time the user logs in after the kit is updated.
The idea of displaying a list of changes is good, but what should it show? The simplest option is to display a list of commits. Is it informative enough? For example, I'd be interested to see a list of new/removed plugins additionally, if it's possible.
The idea of enabling with zqs change-notifications yes|no
is great!
I'm trying to think of a generic way for me to be able to notify on anything.
I want to be able to say "swapped from using foo-plugin in the standard list to bar-plugin" or "security fix xyz"
I also don't want to add a lot of overhead, or have it spew an error message if someone is disconnected from internet.
I was thinking about adding a notifications directory to the repo, and track what they've seen with a cookie file, but then the kit has to know where it's checkout is, in a cross-platform way.
And I also want it to not add noticeably to startup time, so it's a trickier problem than I thought.
Shouldn't we rely on git's capabilities? We need to make some format for naming commits or PRs and show the difference in a friendly way. e.g https://github.com/conventional-changelog/commitlint
Part of the complication is that I want to only display the changes once per machine, and when someone does a brand new install, I don't want to show them changes from before they started using the kit.
I was doing something at work the other day that made me think of a new approach that should work, going to write it this weekend.