Commit Graph

25 Commits

Author SHA1 Message Date
Lewis Russell
9beb40a4db feat(docs): replace lua2dox.lua
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).
2024-02-27 14:41:17 +00:00
LamprosPitsillos
e32af31ee8
fix(flake): clang-tools moved to nativeBuildInputs (#26955)
* 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
2024-01-12 21:12:43 +01:00
figsoda
2031812348
build(nix): fix markdown parser #24225 2023-07-01 21:09:30 -07:00
figsoda
8df3381202 build(nix): use the correct versions of the bundled treesitter parsers 2023-06-09 16:51:26 -04:00
ii14
4cc69f45b4 build: add ubsan default options
Use print_stacktrace=1 for UBSAN by default.
2023-05-15 16:50:58 +02:00
Matthieu Coudron
cbeedc52eb
build(nix): fixed build (#22918)
added missing dependencies libiconv
2023-04-07 10:26:52 +02:00
ii14
17ce634b8f build!: rename sanitizer options from CLANG_* to ENABLE_* 2023-03-17 03:40:57 +01:00
bfredl
2ba224e152 refactor(log): reduce compile time LOG_LEVEL granularity 2023-03-04 15:26:17 +01:00
Will Leinweber
849f544d62
build: add git sha to version when built with nix flake (#21210) 2022-12-30 18:24:40 +01:00
dundargoc
86a75c79e1
build(nix): remove pylint as it has been removed (#21572) 2022-12-28 17:20:23 +01:00
figsoda
3d0eca6b65
build(nix): clean up nix flake (#21565) 2022-12-28 14:26:59 +01:00
Paul Schyska
b26cf45fec
build(nix): update nixpkgs
Update flake and drop now superfluous libvterm-neovim override
2022-11-24 00:29:12 +01:00
Philipp Herzog
47e60da721
build(nix): change the pkgs to final, add new version of libvterm (#20410) 2022-09-30 19:25:12 +02:00
Matthieu Coudron
93f32bb0aa build(nix): removed the useless 'app'
the format changed depending on the nix version and it is useless
anyway.
2022-09-05 17:47:06 +02:00
Matthieu Coudron
29cd072351 build(flake): add sumneko lsp in PATH
and reformatted the file
2022-09-05 11:31:22 +02:00
Daniel Kempkens
40864126d5
fix(mac): add CoreServices to flake.nix #18358
The `include` was added in e038625b87
2022-05-02 03:17:38 -07:00
Matthieu Coudron
3ab73ff81f
chore(flake): fix for recent nixpkgs (#15520)
https://github.com/NixOS/nixpkgs/pull/134463 made keepDebugInfo obsolete
for generic packages.
This copies what keepDebugInfo used to do.
2021-08-30 11:55:02 +02:00
Matthieu Coudron
5a111c1b02
feat(defaults): map Y to y$ #13268
rationale:
- consistent with D and Y
- long recommended by Vim's own ":help Y"

close #13268
close #416
ref #6289
2021-08-15 21:24:59 -07:00
Matthieu Coudron
de909bf48b chore(flake): update inputs
Updated inputs so no need to add tree-sitter ourselves anymore.

Added checks:
- for pylint/shlint
- distinguish the devolpment shell from the ASAN build (closure for ASAN
  version is smaller). While in the devShell, functionaltests would fail
because bin/nvim could not load
outputs/out/share/nvim/syntax/syntax.vim
So we touch the file.
2021-07-10 17:52:15 +02:00
Michael Lingelbach
f695457f81 contrib: add clang-tools to nix flake 2021-04-10 08:28:16 -07:00
Matthieu Coudron
a167ae6d5d fix(flake): can now generate vimdoc
and removed warning about deprecated usage of stdenv.lib

also can run `make pylint shlint`.
2021-03-04 15:42:05 +01:00
Matthieu Coudron
2dd383c943
fix(flake): add debuginfo to nvim-debug (#13947)
nvim-debug was missing symbols.
adding the lock file to remove the flake warning message as well.
2021-02-17 18:58:40 +01:00
Michael Lingelbach
0efc713136
contrib: update nix flake to use flake-utils (#13685) 2021-01-05 21:12:21 +01:00
Matthieu Coudron
61c9d2a213 fix(flake): enable make functionaltest
otherwise busted is not provided/found and functionaltests are disabled.
2020-12-30 23:32:40 +01:00
Matthieu Coudron
3974c4bce3
feat(nix): add flake.nix (#13487)
`flakes` is a feature available in the unstable version of the `nix` package manager
to ease the distribution of nix expressions see https://www.tweag.io/blog/2020-05-25-flakes/ .

Nix excels at software reproducibility and is available/can be
installed on different distributions (ubuntu/void/debian etc) as well
as macOS.

This flakes contains 3 packages that can be installed via for instance
`nix run 'github:neovim/neovim?dir=contrib#nvim-debug'`
or
`nix run 'github:neovim/neovim?dir=contrib'` for the default version.

you can register an alias
`nix registry add neovim 'github:neovim/neovim?dir=contrib'`
and the previous commands become:
`nix run neovim`
2020-12-09 09:15:37 +01:00