"Fossies" - the Fresh Open Source Software Archive

Member "neovim-0.4.3/CONTRIBUTING.md" (6 Nov 2019, 9320 Bytes) of package /linux/misc/neovim-0.4.3.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format (assuming markdown format). Alternatively you can here view or download the uninterpreted source code file. A member file download can also be achieved by clicking within a package contents listing on the according byte size field. See also the last Fossies "Diffs" side-by-side code changes report for "CONTRIBUTING.md": 0.3.8_vs_0.4.2.

Contributing to Neovim

Getting started

If you want to help but don’t know where to start, here are some low-risk/isolated tasks:

Reporting problems

Developer guidelines

Pull requests (PRs)

Stages: WIP, RFC, RDY

Pull requests have three stages: [WIP] (Work In Progress), [RFC] (Request For Comment) and [RDY] (Ready).

Commit messages

Follow commit message hygiene to make reviews easier and to make the VCS/git logs more valuable.

Automated builds (CI)

Each pull request must pass the automated builds on Travis CI, QuickBuild and AppVeyor.

Clang scan-build

View the Clang report to see potential bugs found by the Clang scan-build analyzer.

PVS-Studio

View the PVS report to see potential bugs found by PVS Studio.

Coverity

Coverity runs against the master build. To view the defects, just request access; you will be approved.

Coding

Lint

You can run the linter locally by:

make lint

The lint step downloads the master error list and excludes them, so only lint errors related to the local changes are reported.

You can lint a single file (but this will not exclude legacy errors):

./src/clint.py src/nvim/ops.c

Style

The repo includes a .clang-format config file which (mostly) matches the style-guide. You can use clang-format to format code with the gq operator in Nvim:

if !empty(findfile('.clang-format', ';'))
  setlocal formatprg=clang-format\ -style=file
endif

Reviewing

To help review pull requests, start with this checklist.

Reviewing can be done on GitHub, but you may find it easier to do locally. Using hub, you can create a new branch with the contents of a pull request, e.g. #1820:

hub checkout https://github.com/neovim/neovim/pull/1820

Use git log -p master..FETCH_HEAD to list all commits in the feature branch which aren’t in the master branch; -p shows each commit’s diff. To show the whole surrounding function of a change as context, use the -W argument as well.