mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
9beb40a4db
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).
58 lines
2.2 KiB
Plaintext
58 lines
2.2 KiB
Plaintext
# Copy this to 'local.mk' in the repository root.
|
|
# Individual entries must be uncommented to take effect.
|
|
|
|
# By default, the installation prefix is '/usr/local'.
|
|
# CMAKE_EXTRA_FLAGS += -DCMAKE_INSTALL_PREFIX=/usr/local/nvim-latest
|
|
|
|
# These CFLAGS can be used in addition to those specified in CMakeLists.txt:
|
|
# CMAKE_EXTRA_FLAGS="-DCMAKE_C_FLAGS=-ftrapv -Wlogical-op"
|
|
|
|
# To turn compiler warnings into errors:
|
|
# CMAKE_EXTRA_FLAGS += "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -Werror"
|
|
|
|
# Sets the build type; defaults to Debug. Valid values:
|
|
#
|
|
# - Debug: Disables optimizations (-O0), enables debug information.
|
|
#
|
|
# - RelWithDebInfo: Enables optimizations (-Og or -O2) with debug information.
|
|
#
|
|
# - MinSizeRel: Enables all -O2 optimization that do not typically
|
|
# increase code size, and performs further optimizations
|
|
# designed to reduce code size (-Os).
|
|
# Disables debug information.
|
|
#
|
|
# - Release: Same as RelWithDebInfo, but disables debug information.
|
|
#
|
|
# CMAKE_BUILD_TYPE := Debug
|
|
|
|
# With non-Debug builds interprocedural optimization (IPO) (which includes
|
|
# link-time optimization (LTO)) is enabled by default, which causes the link
|
|
# step to take a significant amount of time, which is relevant when building
|
|
# often. You can disable it explicitly:
|
|
# CMAKE_EXTRA_FLAGS += -DENABLE_LTO=OFF
|
|
|
|
# Log levels: DEBUG, INFO, WARNING, ERROR
|
|
# For Debug builds all log levels are used
|
|
# For Release and RelWithDebInfo builds only WARNING and ERROR are used, unless:
|
|
# CMAKE_EXTRA_FLAGS += -DLOG_DEBUG
|
|
|
|
# By default, nvim uses bundled versions of its required third-party
|
|
# dependencies.
|
|
# Uncomment these entries to instead use system-wide installations of
|
|
# them.
|
|
#
|
|
# DEPS_CMAKE_FLAGS += -DUSE_BUNDLED_BUSTED=OFF
|
|
# DEPS_CMAKE_FLAGS += -DUSE_BUNDLED_LIBTERMKEY=OFF
|
|
# DEPS_CMAKE_FLAGS += -DUSE_BUNDLED_LIBUV=OFF
|
|
# DEPS_CMAKE_FLAGS += -DUSE_BUNDLED_LIBVTERM=OFF
|
|
# DEPS_CMAKE_FLAGS += -DUSE_BUNDLED_LUAJIT=OFF
|
|
# DEPS_CMAKE_FLAGS += -DUSE_BUNDLED_MSGPACK=OFF
|
|
# DEPS_CMAKE_FLAGS += -DUSE_BUNDLED_UNIBILIUM=OFF
|
|
# DEPS_CMAKE_FLAGS += -DUSE_BUNDLED_UTF8PROC=OFF
|
|
#
|
|
# Or disable all bundled dependencies at once.
|
|
#
|
|
# DEPS_CMAKE_FLAGS += -DUSE_BUNDLED=OFF
|
|
|
|
# .DEFAULT_GOAL := nvim
|