Files
neovim/runtime/doc
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
..
2024-02-27 14:41:17 +00:00
2023-07-25 05:07:13 -07:00
2024-01-24 06:07:42 +08:00
2024-02-24 17:55:32 +08:00
2023-12-20 07:02:48 +08:00
2023-10-29 16:02:32 +08:00
2023-12-09 15:35:45 +08:00
2024-01-17 14:01:39 +08:00
2023-12-13 20:31:16 +01:00
2024-01-02 22:00:06 +01:00
2024-02-27 14:41:17 +00:00
2023-04-17 15:46:24 +08:00
2024-01-15 11:40:44 +01:00
2023-12-06 08:04:21 +08:00
2024-02-08 19:07:31 +08:00
2023-12-13 20:31:16 +01:00
2021-09-10 08:48:27 +02:00
2023-06-25 17:14:28 +02:00
2023-10-29 16:02:32 +08:00
2023-06-25 17:14:28 +02:00
2023-12-30 10:53:31 +01:00
2024-01-24 11:05:25 +01:00
2023-05-13 21:33:22 +02:00
2024-02-27 14:41:17 +00:00
2023-12-06 08:04:21 +08:00
2024-02-27 14:41:17 +00:00
2024-01-02 22:00:06 +01:00
2024-02-22 10:07:04 +01:00
2022-10-14 08:01:13 -07:00
2024-01-18 00:14:48 -08:00
2022-12-11 18:41:26 -08:00
2023-10-21 18:04:08 +08:00
2023-11-14 23:29:09 +01:00
2018-10-29 09:55:07 +01:00
2023-06-25 17:14:28 +02:00
2015-08-15 15:25:30 -03:00
2023-11-06 19:03:08 +08:00
2023-12-06 08:04:21 +08:00
2024-01-18 00:14:48 -08:00
2023-10-10 19:20:32 +02:00
2023-01-01 15:05:13 +01:00
2023-06-19 08:40:33 -07:00
2023-09-28 05:22:09 +08:00
2023-11-27 17:43:13 +08:00
2023-06-11 12:40:22 +01:00
2023-04-04 19:07:33 +02:00
2024-02-06 11:42:15 +01:00
2022-09-26 17:43:23 +08:00
2023-08-10 17:28:02 +08:00
2024-02-27 14:41:17 +00:00
2023-08-13 13:25:10 +01:00
2023-05-15 09:38:32 +02:00
2023-04-23 15:22:55 +02:00
2023-08-10 17:28:04 +08:00
2023-01-03 10:07:43 +00:00
2023-06-25 17:14:28 +02:00
2023-06-19 08:40:33 -07:00
2023-06-25 17:14:28 +02:00
2023-07-25 05:07:13 -07:00
2023-06-25 17:14:28 +02:00
2021-05-01 22:29:03 -04:00
2023-06-25 17:14:28 +02:00
2018-10-29 10:01:44 +01:00
2021-04-29 09:27:19 -04:00
2023-06-25 17:14:28 +02:00
2023-06-26 11:29:12 +02:00
2023-06-25 17:14:28 +02:00
2021-04-29 20:42:16 -04:00
2023-06-26 11:29:12 +02:00
2023-07-25 05:07:13 -07:00
2021-04-27 09:21:34 -04:00
2023-06-19 08:40:33 -07:00
2023-01-03 10:07:43 +00:00
2023-06-25 17:14:28 +02:00