aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md21
1 files changed, 14 insertions, 7 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 03fe48fed7..ce0f2ace05 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -11,7 +11,10 @@ low-risk/isolated tasks:
- Fix bugs found by [Clang](#clang-scan-build), [PVS](#pvs-studio) or
[Coverity](#coverity).
- [Improve documentation](#documenting)
-- [Merge a Vim patch] (familiarity with Vim is *strongly* recommended)
+- [Merge a Vim patch] (requires strong familiarity with Vim)
+ - NOTE: read the above link before sending improvements to "runtime files" (anything in `runtime/`).
+ - Vimscript and documentation files are (mostly) maintained by [Vim](https://github.com/vim/vim), not Nvim.
+ - Lua files are maintained by Nvim.
Reporting problems
------------------
@@ -113,10 +116,7 @@ Each pull request must pass the automated builds on [Cirrus CI] and [GitHub Acti
- CI builds are compiled with [`-Werror`][gcc-warnings], so compiler warnings
will fail the build.
-- If any tests fail, the build will fail.
- See [test/README.md#running-tests][run-tests] to run tests locally.
- Passing locally doesn't guarantee passing the CI build, because of the
- different compilers and platforms tested against.
+- If any tests fail, the build will fail. See [test/README.md#running-tests][run-tests] to run tests locally.
- CI runs [ASan] and other analyzers.
- To run valgrind locally: `VALGRIND=1 make test`
- To run Clang ASan/UBSan locally: `CC=clang make CMAKE_FLAGS="-DCLANG_ASAN_UBSAN=ON"`
@@ -124,6 +124,8 @@ Each pull request must pass the automated builds on [Cirrus CI] and [GitHub Acti
neighbors_, to encourage incrementally updating the legacy style to meet our
[style](#style). (See [#3174][3174] for background.)
- CI for FreeBSD runs on [Cirrus CI].
+- To see CI results faster in your PR, you can temporarily set `TEST_FILE` in
+ [ci.yml](https://github.com/neovim/neovim/blob/e35b9020b16985eee26e942f9a3f6b045bc3809b/.github/workflows/ci.yml#L205).
### Clang scan-build
@@ -244,9 +246,14 @@ You can lint a single file (but this will _not_ exclude legacy errors):
For managing includes in C files, use [include-what-you-use].
- [Install include-what-you-use][include-what-you-use-install]
-- Run with:
+- To see which includes needs fixing use the cmake preset `iwyu`:
```
- make CMAKE_EXTRA_FLAGS=-DCMAKE_C_INCLUDE_WHAT_YOU_USE=include-what-you-use | tee iwyu.txt
+ cmake --workflow --preset iwyu
+ ```
+- There's also a make target that automatically fixes the suggestions from
+ IWYU:
+ ```
+ make iwyu
```
See [#549][549] for more details.