aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
Commit message (Collapse)AuthorAge
* build: remove PVSdundargoc2023-11-12
| | | | | | | We already have an extensive suite of static analysis tools we use, which causes a fair bit of redundancy as we get duplicate warnings. PVS is also prone to give false warnings which creates a lot of work to identify and disable.
* docs: update contributingdundargoc2023-11-10
|
* build: enable ASAN for MSVCdundargoc2023-11-05
| | | | | | | | | | | | | | | | | It is enabled with ENABLE_ASAN_UBSAN like other compilers. Technically it only enables ASAN as UBSAN is not available, meaning to make the variable names fully correct we'd need to separate it into two checks: ENABLE_ASAN and ENABLE_UBSAN, but the convenience of combining them into the same flag outweighs the theoretical correctness. Also note in CONTRIBUTING.md that debug builds in ASAN is not supported. Technically it is the debug runtime that is not supported, which cmake automatically enables when using the debug build type. However, neovim can't be built with debug builds without linking to the debug runtime since the third party libraries has likely been linked to the debug runtime if it was built with debug build type. This technicality is likely uninteresting to the potential developer and it's easier to just say to use a release build type.
* docs: Lua docstrings guidance #25345dundargoc2023-09-27
| | | | | | Recommend adding a space after i.e. `--- @see`. The "space" variant is common for the vast majority of docstring formats such as doxygen, javadoc and typescript.
* docs: misc #24561Justin M. Keyes2023-09-20
| | | | fix #24699 fix #25253
* build: fix "make iwyu" not working (#24873)zeertzjq2023-08-26
|
* docs(generators): bake into cmakeLewis Russell2023-08-23
|
* feat: add .luarc.json (#24592)Lewis Russell2023-08-07
|
* docs: remove "#" comment char in @returnJustin M. Keyes2023-08-03
| | | | | | | Everything after a "#" char is a "description" comment, i.e. luals won't treat it as a type, name, etc. But "#" should not be present in the generated docs (such as :help docs). https://github.com/LuaLS/lua-language-server/wiki/Annotations#return
* docs: miscJustin M. Keyes2023-08-03
| | | | Co-authored-by: Kevin Pham <keevan.pham@gmail.com>
* docs: CONTRIBUTING.md updates (#24280)Lewis Russell2023-07-07
|
* docs #22363Justin M. Keyes2023-06-19
| | | | | | | | | Co-authored by: zeertzjq <zeertzjq@outlook.com> Co-authored by: Steven Todd McIntyre II <114119064+stmii@users.noreply.github.com> Co-authored by: nobe4 <nobe4@users.noreply.github.com> - docs: mention --luadev-mod to run with lua runtime files When changing a lua file in the ./runtime folder, a new contributor might expect changes to be applied to the built Neovim binary.
* build: add ubsan default optionsii142023-05-15
| | | | Use print_stacktrace=1 for UBSAN by default.
* build: add "ci" configure preset to reduce verbositydundargoc2023-04-23
| | | | | | | | | | `cmake --preset ci` is equivalent to `cmake -B build -G Ninja -D CI_BUILD=ON` Also remove build presets as they're not very useful without workflow presets, which are only available in schema versions 6 and above.
* build!: rename sanitizer options from CLANG_* to ENABLE_*ii142023-03-17
|
* revert: "build: enable cmake workflow presets (#21860)"dundargoc2023-03-11
| | | | | | | | This reverts commit 00a976129b603b60f1e309ee7484cb0f4b5a9792. Visual Studio fails the build if the CMakePresets.json version is too high and the CMakePresets.json integration is enabled. Closes https://github.com/neovim/neovim/issues/22608.
* ci: split ci.yml into a test workflow and a build test workflow (#22302)dundargoc2023-02-18
| | | | | Having a workflow that only builds neovim without running all of the tests is a cheap way to test the build still works without burning too much CI time.
* build(ci): let ASAN print tracebacks for more errors (SIGABORT, SIGILL)bfredl2023-02-10
|
* ci: simplify lintcommit output (#22204)dundargoc2023-02-10
| | | | | | - Suggest reading CONTRIBUTING.md once, not for each commit failure - Suggest using "fix" type if none of the provided types are appropriate - Remove "dist" type. It's rarely used and can be replaced by using the "build" type
* build: enable ccache by default if available (#22020)dundargoc2023-01-28
| | | | | | | | Initial benchmarks show that this gives a nice 50% compile time reduction for neovim. This shouldn't affect users or CI, but it's a nice speedup for local development. The C_COMPILER_LAUNCHER target property is only supported by Makefiles and Ninja generators only, so this won't give a speedup when using the Xcode and Visual Studio generators even if ccache is available.
* build: enable cmake workflow presets (#21860)dundargoc2023-01-19
| | | | | | | | | | | | | Workflow presets allows combining configure, build, test and packaging steps and makes it possible to run everything in a single command. So cmake --preset iwyu cmake --build --preset iwyu instead becomes cmake --workflow --preset iwyu Workflow presets requires at least cmake version 3.25 to use.
* feat(lua)!: execute Lua with "nvim -l"Justin M. Keyes2023-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Nvim has Lua but the "nvim" CLI can't easily be used to execute Lua scripts, especially scripts that take arguments or produce output. Solution: - support "nvim -l [args...]" for running scripts. closes #15749 - exit without +q - remove lua2dox_filter - remove Doxyfile. This wasn't used anyway, because the doxygen config is inlined in gen_vimdoc.py (`Doxyfile` variable). - use "nvim -l" in docs-gen CI job Examples: $ nvim -l scripts/lua2dox.lua --help Lua2DoX (0.2 20130128) ... $ echo "print(vim.inspect(_G.arg))" | nvim -l - --arg1 --arg2 $ echo 'print(vim.inspect(vim.api.nvim_buf_get_text(1,0,0,-1,-1,{})))' | nvim +"put ='text'" -l - TODO? -e executes Lua code -l loads a module -i enters REPL _after running the other arguments_.
* build: allow IWYU to fix includes for all .c filesdundargoc2022-11-15
| | | | | | | | | | Allow Include What You Use to remove unnecessary includes and only include what is necessary. This helps with reducing compilation times and makes it easier to visualise which dependencies are actually required. Work on https://github.com/neovim/neovim/issues/549, but doesn't close it since this only works fully for .c files and not headers.
* feat(docs): update parser, HTML gen #20720Justin M. Keyes2022-10-18
| | | | | | | | | | Note: although the tolerance in help_spec.lua increased, the actual error count with the new parser decreased by about 20%. The difference is that the old ignore_parse_error() ignored many more errors with the old parser. fix https://github.com/neovim/tree-sitter-vimdoc/issues/37 fix https://github.com/neovim/tree-sitter-vimdoc/issues/44 fix https://github.com/neovim/tree-sitter-vimdoc/issues/47
* docs: fix/remove invalid URLs #20647Justin M. Keyes2022-10-14
|
* docs: various #12823Justin M. Keyes2022-10-09
| | | | | | | | | | | | - increase python line-length limit from 88 => 100. - gen_help_html: fix bug in "tag" case (tbl_count => tbl_contains) ref #15632 fix #18215 fix #18479 fix #20527 fix #20532 Co-authored-by: Ben Weedon <ben@weedon.email>
* ci: move BSD jobs from sourcehut to Cirrus CI #19616dundargoc2022-09-08
| | | | | | | | | | | | | | | | | | | dispatch.sr.ht is being deprecated, meaning that using sourcehut CI won't be possible (see https://github.com/neovim/neovim/issues/19609). Since Github Actions doesn't provide any BSD runners an external service is required and Cirrus CI seems like a good replacement for sourcehut. Initially experimented with using FreeBSD and OpenBSD virtual machines in GitHub Actions, but Cirrus has been a much better fit with better performance, logs and overall experience. Failing tests are automatically skipped on FreeBSD regardless if it's on CI or not. Ideally these tests should only be skipped in CI with the help of `isCI` helper function. Unfortunately, the tests don't recognize the environment variable CIRRUS_CI even if it's set manually. This workaround is good enough for the time being, but we might want to only skip tests when using the CI (or even better, fix the failing tests). Closes: https://github.com/neovim/neovim/issues/19609
* docs(contributing): fix broken link (#20044)UnkwUsr2022-09-05
|
* docs(contributing): add documenting guidelines from wiki (#19924)Christian Clason2022-08-25
| | | Co-authored-by: Thomas Vigouroux <thomas.vigouroux@protonmail.com>
* doc(CONTRIBUTING): update #19891Lewis Russell2022-08-23
| | | | | | - add section for managing includes via IWYU - recommend clangd over ctags - tidy up links - remove ./scripts/check-includes.py
* build: add formatting targets for c and lua files (#19488)dundargoc2022-08-02
| | | | | | | | | | | | The targets will only format files that have been changed in current branch compared to the master branch. This includes unstaged, staged and committed files. Add following make and cmake targets: formatc - format changed c files formatlua - format changed lua files format - run formatc and formatlua Remove scripts/uncrustify.sh as this deprecates it.
* feat(lintcommit): remove "chore", add "dist" #18594dundargoc2022-05-17
| | | "chore" is never necessary, choose "fix" or "feat" if nothing else applies.
* docs: typo fixes (#17859)dundargoc2022-04-15
| | | | | | | | | | Co-authored-by: Elias Alves Moura <eliamoura.alves@gmail.com> Co-authored-by: venkatesh <shariharanvenkatesh@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Vikas Raj <24727447+numToStr@users.noreply.github.com> Co-authored-by: Steve Vermeulen <sfvermeulen@gmail.com> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: rwxd <rwxd@pm.me> Co-authored-by: casswedson <58050969+casswedson@users.noreply.github.com>
* docs: deprioritize vim-patch as a good beginner taskDundar Göc2022-01-16
| | | | Also add a disclaimer where familiarity with vim is strongly suggested.
* docs: stop suggestion "good first issue" as a good first issueDundar Göc2021-12-19
| | | | | They're simply too difficult and too niche for an actual newcomer to solve them. Instead, use the "complexity:low" as a substitute.
* docs(CONTRIBUTING.md): use gh instead of hub; correct uncrustify linkzeertzjq2021-12-02
|
* chore: add default luarc.json for Lua development (#16487)Gregory Anders2021-12-01
| | | | | | | | | | The Sumneko Lua language server has matured quite a bit and many Neovim developers use it while working on Neovim. Having a default configuration for Neovim development is a nice convenience (and dovetails well with the auto-generated compile_command.json for C development). The file is shipped under `contrib` and users can make use of it by symlinking to `.luarc.json` in the project root.
* docs(contrib): recommend `nvim --clean` #15917Christian Clason2021-10-05
|
* fix(docs): uncrustify.cfg location #15817kylo2522021-10-02
|
* docs: update preferred commit message style for the static analyzer PRsDundar Göc2021-10-01
|
* docs(CONTRIBUTING.md): how to use uncrustify #15780Dundar Göc2021-09-25
| | | | close #15780
* docs: naming conventionsJustin M. Keyes2021-09-09
|
* docs: .git-blame-ignore-revs #15510Justin M. Keyes2021-08-28
|
* docs #15447Justin M. Keyes2021-08-21
| | | | | - update ":help 'hidden'" #15410 - update ":help K" #15398 - try to capture some of the debug steps from #12036 (bpftrace, USDT probes)
* docs: update pull request workflow #15243dundargoc2021-08-17
| | | | The WIP, RFC and RDY stage workflow is outdated and unnecessary. The new workflow utilize the draft pull request on GitHub.
* docs: elaborate on commitlint rules (#15322)dundargoc2021-08-09
| | | linter requires lowercase at start and no period at end of description
* docs: fixed link to label "good-first-issue" (#15239)dundargoc2021-08-02
|
* docs: add description of each typeDundar Göc2021-08-01
|
* chore: use codespell to spell check #15016dundargoc2021-07-07
|
* Update CONTRIBUTING.md: mention ASAN/UBSAN for runtime errorsBjörn Linse2021-06-30
|