-
Notifications
You must be signed in to change notification settings - Fork 267
Development Workflow
Theses details are for contributors not general VimDevIcon plugin users 😉
Table of Contents:
- Prerequisites
- Branch Conventions
- Versions
- Automated Testing
- Issues
- New Release Workflow
- New Release Vimscripts Upload
- Code Standards
- Git
- Python 2 and/or Python 3
-
Vim-tools (specifically
html2vimdoc
) - Follow install and setup instructions: https://github.com/xolox/vim-tools#dependencies
- Apply temporary fix: https://github.com/xolox/vim-tools/issues/10#issuecomment-262415272
- Vint
pip install vim-vint
Only time-critical bug fixes or possibly trivial doc changes go directly into the master
branch.
VimDevIcons uses, at least as well as it can, Semantic Versioning.
Each release will have a branch and corresponding tag:
- branch MAJOR.MINOR.PATCH, e.g.
0.5.3
- tag vMAJOR.MINOR.PATCH
v0.5.3
todo
Submitted issues should follow the Issue Template as close as possible
- pull latest
master
branch - create new versioned branch
- "MAJOR.MINOR.PATCH"
- e.g.
git checkout -b 0.5.3
- merge any PRs that go in the milestone into the newly versioned branch
- e.g.
git checkout -b THE_PR_BRANCH_NAME master git pull https://github.com/THE_PR_BRANCH_URI THE_PR_REMOTE_BRANCH_NAME git checkout THE_VERSIONED_BRANCH git merge --no-ff THE_PR_BRANCH_NAME
- commit any general issue fixes/updates that go in the milestone
- update the readme if applicable
- update the changelog
- create new list item for the release
- create new list items for each new merged PR, fix, update, etc
- for PRs make sure to add
@
for attribution to person who made the PR - prefix an appropriate verb in past tense for each (Updated, Added, Fixed, Improved, Changed)
- for PRs make sure to add
- update internal version references in all
.vim
files that have them - regenerate the vim doc automatically with
html2vimdoc
- e.g.
cd ~/vim-tools
html2vimdoc/bin/python ./html2vimdoc.py --file=devicons ~/projects/vim-devicons/readme.md > ~/projects/vim-devicons/doc/webdevicons.txt
cd ~/projects/vim-devicons/
# for now do some basic search and replace to prevent issues with special characters:
sed -i 's/✅//' doc/webdevicons.txt
- push the new branch
git push -u origin <semver_based_branch_name>
- merge to
master
- create tag
- "vMAJOR.MINOR.PATCH"
- i.e. same as branch name but with prefixed with a 'v'
- e.g.
git tag v0.5.3
- push latest
master
and taggit push origin master
git push --tags
- add new release on GitHub
- basically copy and paste the version changes from the
changelog.md
- basically copy and paste the version changes from the
- Finally download release zip and upload to VimScripts
-
Download latest release zip
-
Rename the zip file slightly:
-
Rename zip file from
vim-devicons-x.x.x.zip
tovim-devicons-vx.x.x.zip
-
Make some necessary tweaks to a few files in the zip:
-
Rename root folder
-
Rename from
vim-devicons-x.x.x
to justvim-devicons
-
Edit
readme.md
and add the follow mirror disclaimer to the very top followed by a new line:**NOTE: This is just a mirror, official repo is here: https://github.com/ryanoasis/vim-devicons**
-
Save all changes and close the zip
-
Re-open zip and verify changes saved
-
Upload latest release zip to VimScripts: http://www.vim.org/scripts/script.php?script_id=5114
-
For "script version" enter
vx.x.x
-
For "version comment" enter
https://github.com/ryanoasis/vim-devicons/releases/tag/vx.x.x
- Follow Vint
- Follow Google Vimscript Style Guide
This Wiki and the Readme contain a lot of information, please take your time to read the information.
If you run into any trouble, please start by looking in the FAQ.
There are very detailed Changelog and Release changes available.
Be sure to read the Contributing Guide before opening a pull request to Nerd Fonts.
-
Vote for VimDevIcons on vim.org