aboutsummaryrefslogtreecommitdiff
path: root/contrib
Commit message (Collapse)AuthorAge
* build(contrib): add zsh completion (#32617)Matthieu Coudron2025-03-16
| | | | | | | | | | | | | | | | | * build(contrib): add zsh completion this is not part of the build system yet, so packager managers are supposed to install the file by themselves. bash doesn't seem to provide shell completion, zsh embeds its own completion that is bundled with vim's. Instead of copying zsh's completion, this generated one via https://github.com/RobSis/zsh-completion-generator --------- Co-authored-by: Eisuke Kawashima <e.kawaschima+github@gmail.com>
* build: fix RelWithDebInfo optimization flags #31802Daiki Noda2025-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: RelWithDebInfo generates redundant flags: Compilation: /usr/bin/cc -O2 -g -Og -g The `CMAKE_C_FLAGS_RELWITHDEBINFO` variable is being modified in a way that caused duplicate `-Og` and `-g` flags to be added. The resulting flags were `-O2 -g -Og -g`. - `-Og` (Optimize for debugging) and `-O2` (Optimize for performance) are different optimization levels. We can't use both at once. - The duplicate `-g` flag is redundant and no effect. multiple -O flags has no effect for code, just redundant. > If you use multiple -O options, with or without level numbers, the last such option is the one that is effective. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html Solution: Adjust the flags to use the more appropriate `-O2 -g`. Compilation: /usr/bin/cc -O2 -g BEFORE: ``` :verbose version NVIM v0.11.0-dev-1443+ge00cd1ab40 Build type: RelWithDebInfo LuaJIT 2.1.1734355927 Compilation: /usr/bin/cc -O2 -g -Og -g -flto -fno-fat-lto-ob jects -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict ... ``` AFTER: ``` :verbose version NVIM v0.11.0-dev-e00cd1ab4-dirty Build type: RelWithDebInfo LuaJIT 2.1.1734355927 Compilation: /usr/bin/cc -O2 -g -flto -fno-fat-lto-objects - Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-protot ... ```
* feat(jobs): jobstart(…,{term=true}), deprecate termopen() #31343Justin M. Keyes2024-12-19
| | | | | | | | | | | | Problem: `termopen` has long been a superficial wrapper around `jobstart`, and has no real purpose. Also, `vim.system` and `nvim_open_term` presumably will replace all features of `jobstart` and `termopen`, so centralizing the logic will help with that. Solution: - Introduce `eval/deprecated.c`, where all deprecated eval funcs will live. - Introduce "term" flag of `jobstart`. - Deprecate `termopen`.
* docs: dev-arch, focusable windows #30510Justin M. Keyes2024-10-07
| | | | - 'statuscolumn' is no longer experimental - add tags for popular searches on neovim.io
* docs: misc (#29719)dundargoc2024-08-29
| | | | | | | | | Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: Lauri Heiskanen <lauri.heiskanen@nimble.fi> Co-authored-by: Piotr Doroszewski <5605596+Doroszewski@users.noreply.github.com> Co-authored-by: Tobiasz Laskowski <tobil4sk@outlook.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: glepnir <glephunter@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* build(deps): vendor libvterm at v0.3.3Christian Clason2024-08-10
| | | | | | | | Problem: Adding support for modern Nvim features (reflow, OSC 8, full utf8/emoji support) requires coupling libvterm to Nvim internals (e.g., utf8proc). Solution: Vendor libvterm at v0.3.3.
* build(deps): remove msgpack-c dependencybfredl2024-08-05
|
* build: remove nix flakes (#28863)dundargoc2024-05-24
| | | | | | | It does not work and we don't plan on maintaining these anymore. The flake files are being moved to https://github.com/nix-community/neovim-nightly-overlay/pull/516 instead.
* build(nix): update flake to prevent build errors #28394Riley Bruins2024-04-18
| | | | | - Updates nixpkgs to source a necessary Tree-sitter version - Updates to a new llvm version as the old one was removed from nixpkgs - Properly moves `doCheck` from a regular param to an attribute option
* docs(BUILD): mention treesitter parser dependencies (#28226)zeertzjq2024-04-08
| | | Also add missing mention of libvterm and remove mention of libtermkey.
* feat(docs): replace lua2dox.luaLewis Russell2024-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The documentation flow (`gen_vimdoc.py`) has several issues: - it's not very versatile - depends on doxygen - doesn't work well with Lua code as it requires an awkward filter script to convert it into pseudo-C. - The intermediate XML files and filters makes it too much like a rube goldberg machine. Solution: Re-implement the flow using Lua, LPEG and treesitter. - `gen_vimdoc.py` is now replaced with `gen_vimdoc.lua` and replicates a portion of the logic. - `lua2dox.lua` is gone! - No more XML files. - Doxygen is now longer used and instead we now use: - LPEG for comment parsing (see `scripts/luacats_grammar.lua` and `scripts/cdoc_grammar.lua`). - LPEG for C parsing (see `scripts/cdoc_parser.lua`) - Lua patterns for Lua parsing (see `scripts/luacats_parser.lua`). - Treesitter for Markdown parsing (see `scripts/text_utils.lua`). - The generated `runtime/doc/*.mpack` files have been removed. - `scripts/gen_eval_files.lua` now instead uses `scripts/cdoc_parser.lua` directly. - Text wrapping is implemented in `scripts/text_utils.lua` and appears to produce more consistent results (the main contributer to the diff of this change).
* build: various build improvementsdundargoc2024-01-24
| | | | | | | | | | | | | | | | | | - remove "ran-" prefix from touch files as it's redundant since the they're already in the directory named `touches`. - Include `contrib` when formatting with `make formatlua`. - Use TARGET_FILE generator expression instead of assuming the executable location. - reuse logic that determines whether to use lua or luajit. - add translations to the `nvim` target. Makefile improvements: - rename variable `CMAKE_PRG` to `CMAKE` to make it more consistent with the builtin `MAKE` variable. - stop propagating flags to generator. Users should use cmake for non-standard use cases. - remove `+` prefix from targets. If the user for whatever reason wants to dry-run a target then they should be able to.
* fix(flake): clang-tools moved to nativeBuildInputs (#26955)LamprosPitsillos2024-01-12
| | | | | | | | | | | * fix(flake): clang-tools moved to nativeBuildInputs Buildtime binaries should go in `nativeBuildInputs` Before `clang-tools` version was overwriten breaking the Lsp. Relevant issues: https://github.com/NixOS/nixpkgs/issues/76486 * remove cmake, available in the nixpkgs derivation
* build(nix): update flake.lock (#26702)Jared Baur2023-12-23
| | | updates nixpkgs version to reflect the removal of nvim-client in the build see https://github.com/NixOS/nixpkgs/pull/274865
* docs: move minimum reproduction template from wiki to repodundargoc2023-12-12
| | | | | Instead of a markdown file, just use a lua file instead that users can use directly.
* build(nix): update flake.lockJosé Luis Lafuente2023-12-02
| | | | | | | | | | Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31) → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/a64b73e07d4aa65cfcbda29ecf78eaf9e72e44bd' (2023-06-08) → 'github:nixos/nixpkgs/e92039b55bcd58469325ded85d4f58dd5a4eaf58' (2023-11-29)
* build: remove luarocksdundargoc2023-09-10
| | | | | Luarocks is no longer needed after 25e51d393a420765d5efd44c1b4be823a5cf280a.
* feat: add .luarc.json (#24592)Lewis Russell2023-08-07
|
* build(nix): fix markdown parser #24225figsoda2023-07-01
|
* build(luarc.json): disable luadoc-miss-see-name #24108Raphael2023-06-23
|
* build(nix): use the correct versions of the bundled treesitter parsersfigsoda2023-06-09
|
* build(nix): update flake.lockfigsoda2023-06-09
| | | | | | | | | | | | | Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02) → 'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31) • Added input 'flake-utils/systems': 'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/abe7316dd51a313ce528972b104f4f04f56eefc4' (2023-04-14) → 'github:nixos/nixpkgs/a64b73e07d4aa65cfcbda29ecf78eaf9e72e44bd' (2023-06-08)
* build: add ubsan default optionsii142023-05-15
| | | | Use print_stacktrace=1 for UBSAN by default.
* build(nix): upgrade nixpkgs to resolve link error (#23101)Will Ruggiano2023-04-15
| | | bump nixpkgs to get the appropriate treesitter version
* build(nix): fixed build (#22918)Matthieu Coudron2023-04-07
| | | added missing dependencies libiconv
* build!: rename sanitizer options from CLANG_* to ENABLE_*ii142023-03-17
|
* refactor(log): reduce compile time LOG_LEVEL granularitybfredl2023-03-04
|
* build: add git sha to version when built with nix flake (#21210)Will Leinweber2022-12-30
|
* test: add test for setting &columns from modeline with tabpageszeertzjq2022-12-30
|
* build(nix): remove pylint as it has been removed (#21572)dundargoc2022-12-28
|
* build(nix): clean up nix flake (#21565)figsoda2022-12-28
|
* build(nix): update nixpkgsPaul Schyska2022-11-24
| | | Update flake and drop now superfluous libvterm-neovim override
* fix: add lfs to luarc.json (#20979)Gregory Anders2022-11-06
| | | | The sumneko lua language server keeps prompting me if I want to "configure my workspace for lfs". These changes suppress that prompt.
* build(nix): change the pkgs to final, add new version of libvterm (#20410)Philipp Herzog2022-09-30
|
* fix: cleanup contrib/ #20304Justin M. Keyes2022-09-23
| | | | | | - YouCompleteMe is unnecessary since Nvim LSP works well. - vim-addon-local-vimrc is not needed since we added `.editorconfig`. - Inline flake8 arguments. Eventually we will remove all python code, don't need a top-level `.flake8` file meanwhile.
* ci: remove contrib/doxygen/ #20303Justin M. Keyes2022-09-23
| | | | | | | | | | | | | | | | | | | Problem: - The layout of the doxygen HTML "dev docs" has been broken for 1+ years. - There is no evidence that anyone uses the doxygen HTML. - In the meantime since we introduced the doxygen HTML pages, the Nvim C docstrings have been surfaced in other ways: - Nvim LSP client - Generated :help docs like ":help api" and ":help ui". Solution: - Remove `contrib/doxygen/` from neovim repo. - Note: keep `src/Doxyfile`, it is used by `scripts/gen_vimdoc.py`. ☠️ - Remove `doc/dev/` from website. https://github.com/neovim/neovim.github.io/pull/291 - Remove doxygen job from the neovim/doc repo. https://github.com/neovim/doc/pull/28 - Future/ongoing: ":help dev" and other :help docs will continue to be improved as the "source of truth" for developer-related docs. ref https://github.com/neovim/neovim/pull/824
* build(nix): removed the useless 'app'Matthieu Coudron2022-09-05
| | | | | the format changed depending on the nix version and it is useless anyway.
* build(nix): bumped flakeMatthieu Coudron2022-09-05
|
* build(flake): add sumneko lsp in PATHMatthieu Coudron2022-09-05
| | | | and reformatted the file
* build: move man/ to src/man/ #19119Justin M. Keyes2022-06-27
| | | | | | | | Problem: man/ contains source files for manpage generation, it doesn't need to live at the project root. Solution: Move it to src/man/.
* feat(contrib): asan debugging script #18892dundargoc2022-06-12
| | | | Opted to use a shell script because it's simpler to manipulate environment variables than in makefiles.
* fix(mac): add CoreServices to flake.nix #18358Daniel Kempkens2022-05-02
| | | The `include` was added in e038625b87dda2389d004017bd2dcf2b65bc40f6
* chore(flake): bump flake (#17632)Matthieu Coudron2022-03-07
| | | it was 6 months old
* 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.
* chore: fix typos (#16361)dundargoc2021-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: István Donkó <istvan.donko@gmail.com> Co-authored-by: Julian Berman <Julian@GrayVines.com> Co-authored-by: bryant <bryant@users.noreply.github.com> Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com> Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com> Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com> Co-authored-by: Jesse Wertheim <jaawerth@gmail.com> Co-authored-by: dm1try <me@dmitry.it> Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl> Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com> Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: István Donkó <istvan.donko@gmail.com> Co-authored-by: Julian Berman <Julian@GrayVines.com> Co-authored-by: bryant <bryant@users.noreply.github.com> Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com> Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com> Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com> Co-authored-by: Jesse Wertheim <jaawerth@gmail.com> Co-authored-by: dm1try <me@dmitry.it> Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl> Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com>
* fix: move contrib/uncrustify.cfg -> src/uncrustify.cfg #15768Justin M. Keyes2021-09-23
| | | | If uncrustify is now the (partial) authority on code style, it is no longer "contrib".
* refactor: reformat with uncrustify #15736dundargoc2021-09-20
| | | | * fix function parameter comments * remove space after star in function names
* refactor(style): switch-case formatting, "uncrustify:indent-off" #15669dundargoc2021-09-17
| | | | | | * refactor: disable formatting for attribute in macro * fixup: disable/enable uncrustify with uncrustify:indent-off/on * fixup: stop indenting contents inside braces in case * fixup: remove case brace if no variable declaration
* refactor: format files with uncrustify #15663dundargoc2021-09-14
|
* refactor: format tui.c with uncrustify (#15640)dundargoc2021-09-14
|