First of all, thanks for wanting to contribute to Feline and help make the plugin better!
The following is a set of guidelines for any of those who wish to contribute to Feline. Remember that these are not strict rules that must be followed, but rather guidelines that are meant to give you a good idea of what to do and how to get started. Sometimes the guidelines may not cover a certain scenario, in which case you should use your own judgement to make decisions.
This file is far from perfect, so feel free to make a Pull Request if you want to propose changes to it or make an Issue if you want to ask for further clarification on it.
There are a few ways to contribute to Feline, and every contribution is equally welcome. So don't hesitate or think that your contribution is too small, every contribution counts! Here are some of the following ways you can contribute to Feline:
Facing an annoying bug that you want fixed? Open a Bug Report.
When you open a bug report, please make sure to provide all the information that the Issue template asks for since lack of information can make it hard for us to fix the problems that you're facing. Describe your problems clearly and concisely. Avoid putting unnecessary or irrelevant information and also avoid omitting necessary or relevant information. Also make sure that the issue you're reporting hasn't already been reported before.
Want to request a new feature that you think is necessary? Open a Feature Request.
Please avoid asking for features that aren't necessary or features that go against Feline's design goals of minimalism and leaving most things to the user. Also clarify why exactly you want that feature and how it can be useful, and why you think it needs to be implemented by Feline. Also make sure that the feature you're requesting for hasn't already been requested before.
Noticed a typo or grammatical error in the documentation? Find some of the documentation too vague and want further clarification? Ask for a Documentation Improvement.
If you wish to directly contribute to Feline, making a Pull Request is definitely the best way to do so. Note that the Pull Request doesn't necessarily have to be about fixing bugs in the code or adding new features. You can make a Pull Request for even minor things like fixing typos, correcting grammatical mistakes, improving existing documentation or adding new documentation.
Before you make a Pull Request, always make sure to:
- Properly test your changes.
- Avoid "breaking changes" (changes that break backwards compatibility) without a good reason.
- Add relevant details in the description of your Pull Request, such as what issues it's linked to, what problems it fixes and how it fixes the problems, what features it adds, etc.
- Use semantic commit messages for your commits.
Feline uses StyLua to format the code. For commits, always use semantic commit messages.