aboutsummaryrefslogtreecommitdiff
path: root/contrib
Commit message (Collapse)AuthorAge
* 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
|
* refactor(syntax.c): format with uncrustify #15627dundargoc2021-09-11
|