Skip to content

Latest commit

 

History

History
61 lines (43 loc) · 2.07 KB

CONTRIBUTING.md

File metadata and controls

61 lines (43 loc) · 2.07 KB

Contributing to Neovim

Thank you

Thanks for considering contributing to neovim. To make the process as smooth as possible we would ask you to follow the guidelines below.

Help with contributing

See Communicating. Raise documentation issues.

Guidelines

Finding something to do

Neovim uses waffle.io, so check there first.

You can also ask for an issues to be assigned to you. Ideally wait until we assign it to you to minimize work duplication.

Reporting an issue

  • Search existing issues before raising a new one.
  • Include as much detail as possible. In particular, we need to know which OS you're using.

Pull requests

  • Make it clear in the issue tracker what you are working on, so that someone else doesn't duplicate the work.
  • Use a feature branch, not master.
  • Rebase your feature branch onto origin/master before raising the PR.
  • Keep up to date with changes in master so your PR is easy to merge.
  • Be descriptive in your PR message: what is it for, why is it needed, etc.
  • Make sure the tests pass (TODO: we need to make this easier with travis etc.)
  • Squash related commits as much as possible.

Coding style

All code changes should follow the Google C++ style guide with the following exceptions:

  • Function names should be lower_case separated by underscores.
  • Struct and enum names that are not typedef-ed are struct lower_case and enum lower_case.
  • The opening brace for function declarations should appear on the next line.
  • All control structures must always use braces.

Please run clint.py to detect style errors. clint.py is Google's cpplint.py script modified with the above style guidelines. It is not perfect and may have false positives and negatives, but is still a valuable tool. To have clint.py ignore certain special cases, put // NOLINT at the end of the line.

Commit messages

TODO