376 Commits

Author SHA1 Message Date
51863b2d66 build: remove tests for libtermkey (#21983)
The dependencies aren't set up properly meaning that this will cause a
failure on some systems such as void linux.

Closes https://github.com/neovim/neovim/issues/21982.
2023-01-24 15:24:15 +01:00
39630265c4 build: remove GNU make check (#21977)
The entire thing is incorrect. It checks the wrong variable and tries to
unset a cache variable without using the CACHE keyword, which doesn't work.
2023-01-24 10:40:50 +01:00
993dc6e97e build: use upstream CMakeLists.txt for unibilium (#21976)
Also remove UnibiliumCMakeLists.txt as it's not necessary anymore.
2023-01-24 09:36:32 +01:00
bcbdb94185 build: simplify treesitter installation (#21969) 2023-01-24 08:55:56 +01:00
20a932cb72 build: use cmake for all platforms for unibilium and libtermkey (#21926)
It's simpler to rely on the same build file, especially if there aren't
any platform-specific workarounds like in this case.
2023-01-24 08:55:38 +01:00
63e67468b4 build: use CMAKE_POSITION_INDEPENDENT_CODE instead of -fPIC (#21947)
It's simpler to let cmake figure out what flags to add to each platforms
to create position independent code rather than handling it ourselves.

Also remove code that sets POSITION_INDEPENDENT_CODE property on SHARED
and MODULE libraries, as it's already on by default.
2023-01-22 18:02:02 +01:00
4c5c6ca800 build: various cmake fixes (#21902)
* build: various cmake refactors and simplifications

- Add STATUS keyword to message to ensure messages are shown in the
  correct order.
- Remove DEPS_CXX_COMPILER as we don't rely on C++ for any of our
  dependencies.
- Simplify how msgpack and luv configure options are constructed.
- Rely on the default installation for luv instead of manually passing
  configure, build and install commands.
- Simplify return code conditional.

* build: remove CMAKE_OSX_ARCHITECTURES_ALT_SEP workaround

CMAKE_OSX_ARCHITECTURES_ALT_SEP was defined as a workaround to prevent
the shell from interpreting `;`, which CMake uses as a list separator.
However, the same thing can be achieved by instead passing
CMAKE_OSX_ARCHITECTURES as a cache variable instead, which is a more
idiomatic way of achieving the same thing.

* build: define CMAKE_BUILD_TYPE before adding it to BUILD_TYPE_STRING

The problem with the current setup is that CMAKE_BUILD_TYPE is defined
after BUILD_TYPE_STRING. BUILD_TYPE_STRING will then be empty on the
first run, meaning that dependencies are built without a build type.
However, since CMAKE_BUILD_TYPE is a cache variable its value will
persist in subsequent runs. On the second run BUILD_TYPE_STRING will
have the correct value, but it's a different value from the ones the
dependencies were built with. This will force some dependencies to be
built again.

Fixes https://github.com/neovim/neovim/issues/21672.
2023-01-20 23:48:46 +01:00
2d71ed9929 build(deps): bump tree-sitter to HEAD - eb970a83a (#21858)
includes efd22e452b which fixes some errors around infinite loops with injections
2023-01-17 12:57:06 +01:00
d8eb99e363 Merge pull request #21828 from clason/bump-libvterm
build(deps): bump libvterm to v0.3.1
2023-01-16 19:04:24 +01:00
7295ed1f6f build(deps): bump libvterm to v0.3.1
Included patches:

821. By Paul "LeoNerd" Evans on 2022-12-29
Don't bother to emit the unrecognised sequence in DECRQSS response as it provides an echo roundtrip possibility

820. By Paul "LeoNerd" Evans on 2022-11-26
erase_internal() should only set fg/bg colour, resetting other attributes (especially RV)

819. By Paul "LeoNerd" Evans on 2022-11-09
Added vterm_screen_set_default_colors(), which repaints the cells in the buffer(s)

818. By Paul "LeoNerd" Evans on 2022-11-09
Permit either colour argument to be NULL to vterm_state_set_default_colors()

817. By Paul "LeoNerd" Evans on 2022-10-01
Delete the mk_wcswidth functions as they're not used; guard the CJK-wide one with an ifdef as by default we don't use it

816. By Paul "LeoNerd" Evans on 2022-10-01
Make sure to supply empty (void) prototype to functions that take no arguments in bin/vterm-ctrl.c
2023-01-16 18:40:19 +01:00
9e1d2e2ca7 build(deps): bump LuaJIT to HEAD - d0e88930d
build(deps): bump LuaJIT to HEAD-d0e88930d

 Don't fail for Clang builds, which pretend to be an ancient GCC.
 Fix compiler warning.
2023-01-16 12:10:42 +00:00
39ea662824 build(deps): bump LuaJIT to HEAD - a04480e31 (#21500) 2022-12-22 11:34:26 +01:00
07e6296520 Merge pull request #21154 from clason/vimdoc-injections
feat(help): highlighted codeblocks
2022-12-02 16:45:39 +01:00
805c83f43e build(deps): bump LuaJIT to HEAD - 564147f51 (#21257) 2022-12-02 10:20:53 +01:00
5093f38c9f feat(help): highlighted codeblocks 2022-11-29 13:32:46 +01:00
915891f28c build(deps): update viml parser and queries (#21158) 2022-11-22 21:25:51 +01:00
8765c7e288 Merge pull request #20732 from dundargoc/build/default-cmake-args
build: refactor cmake files
2022-11-05 22:07:25 +01:00
582c044dbe build(deps): bump lua parser to v0.0.14 (#20897) 2022-11-01 13:38:47 +01:00
dab07be4d1 build(deps): bump vimdoc parser to v1.2.5 (#20829) 2022-10-27 09:16:16 +02:00
29fe3348ba build(deps): bump vimdoc parser and queries to v1.2.4 (#20788) 2022-10-24 09:35:00 +02:00
0f91139074 build(cmake): add modelines to enable syntax highlighting 2022-10-21 11:48:12 +02:00
bc7daddaf0 build: rely on default cmake installation if possible
The default cmake installation process for dependencies that use cmake
on all platforms is in general more robust and less verbose, so we rely
on that if possible.
2022-10-21 11:48:12 +02:00
e6917306f6 docs: update vimdoc parser #20747
Remove the user-manual ToC from help.txt, because:
1. it duplicates usr_toc.txt
2. it is not what most readers are looking for in the main help page.

fix https://github.com/neovim/tree-sitter-vimdoc/issues/49
fix https://github.com/neovim/tree-sitter-vimdoc/issues/50
fix https://github.com/neovim/tree-sitter-vimdoc/issues/51
2022-10-20 06:20:02 -07:00
ef4c339fb9 feat(docs): update parser, HTML gen #20720
Note: although the tolerance in help_spec.lua increased, the actual
error count with the new parser decreased by about 20%. The difference
is that the old ignore_parse_error() ignored many more errors with the
old parser.

fix https://github.com/neovim/tree-sitter-vimdoc/issues/37
fix https://github.com/neovim/tree-sitter-vimdoc/issues/44
fix https://github.com/neovim/tree-sitter-vimdoc/issues/47
2022-10-18 07:18:44 -07:00
d339b4aad7 build(deps): bump vimdoc (help) parser to v1.2.1 #20642 2022-10-13 18:36:25 -07:00
8f0b94b36d build(deps): disable shared library for libvterm. (#20566)
build(deps): disable shared library for libvterm

Problem:
Cannot build both static and share libraries for libvterm under Windows.
The static and shared library would have the same name "vterm.lib", thus there would be multiple rules to build the same target.

Solution:
Disable shared library for libvterm.

This makes it possible to use Ninja on Windows to build dependencies (2x speedup!).
But not for Release builds yet.

Co-authored-by: Wei Tang <gauchyler@uestc.edu.cn>
2022-10-10 17:46:34 -07:00
3ddd99ec64 build(deps): add build type for libuv (#20575)
Problem:
Build type is not set in BuildLibuv.cmake, so libuv is always built for Debug type.

Solution:
Add build type for libuv.
2022-10-10 17:51:10 +02:00
2bce99b978 build(deps): bump vimdoc parser to v1.2.0 #20557 2022-10-09 14:06:32 -07:00
f7b175e049 fix(docs-html): keycodes, taglinks, column_heading #20498
Problem:
- Docs HTML: "foo ~" headings (column_heading) are not aligned with
  their table columns/contents because the leading whitespace is not
  emitted.
- taglinks starting with hyphen like |-x| were not recognized.
- keycodes like `<foo>` and `CTRL-x` were not recognized.
- ToC is not scrollable.

Solution:
- Add ws() to the column_heading case.
- Update help parser to latest version
  - supports `keycode`
  - fixes for taglink, argument
- Update .toc CSS. https://github.com/neovim/neovim.github.io/issues/297

fix https://github.com/neovim/neovim.github.io/issues/297
2022-10-06 06:16:00 -07:00
61da959bb4 build(deps): restore support for USE_EXISTING_SRC_DIR (#20491)
59d5f692f removed cmake.deps/cmake/DownloadAndExtractFile.cmake and
support for USE_EXISTING_SRC_DIR.  The Ubuntu nightly PPA still relies
on USE_EXISTING_SRC_DIR functionality since it can't access the network
during the build.

Supplying an empty value for ExternalProject_Add()'s URL value appears
to provide the needed mechanism to avoid re-downloading when the sources
are already present.  This is undocumented behavior, though, so it may
break in the future.

Now, if USE_EXISTING_SRC_DIR is set, the ExternalProject's URL variable
is unset, preventing the download and erroring out if the source doesn't
actually exist.
2022-10-06 15:14:38 +02:00
088abbeb6e feat(docs): nested lists in HTML, update :help parser
- Docs HTML: improvements in https://github.com/neovim/tree-sitter-vimdoc
  allow us to many hacks in `gen_help_html.lua`.
- Docs HTML: support nested lists.
- Docs HTML: avoid extra newlines (too much whitespace) in old
  (preformatted) layout.
- Docs HTML: disable golden-grid for narrow viewport.
- Workaround for https://github.com/neovim/neovim/issues/20404

closes https://github.com/neovim/neovim/issues/20404
2022-10-04 16:49:17 +02:00
04f763b208 build(deps): bump LuaJIT to HEAD - 6c4826f12 (#20478) 2022-10-04 14:00:27 +02:00
fbc66d798c build: define EP_PREFIX property
This is just to avoid the boilerplate of definining PREFIX for
each dependency.
2022-10-02 12:47:14 +02:00
59d5f692f8 build: rely on builtin cmake downloading rather than custom script
DownloadAndExtractFile.cmake was initially introduced as a workaround to
avoid the massive amounts of logs generated by the download progress.
This is not a problem anymore as ExternalProject_Add has had the
DOWNLOAD_NO_PROGRESS option since cmake version 3.1.
2022-10-02 12:39:48 +02:00
543f939773 build: remove url for 32-bit winyank
We don't support 32bit Windows anymore, so it's not needed. Also remove
TargetArch.cmake and related code as we don't need architecture
detection for the same reason.
2022-10-02 12:39:20 +02:00
3ce325cfa2 build: remove code for cross-compilation
We don't support cross-compilation at the moment, so these can be safely
removed.
2022-10-02 12:39:20 +02:00
06addcfaa9 build: remove unused variable CMAKE_C_COMPILER_ARG1
It was set in file cmake/i386-linux-gnu.toolchain.cmake which has been
removed since we don't use Travis anymore.
2022-10-02 12:39:20 +02:00
dd35bc2840 build(deps): bump Luv to HEAD - 80c8c00ba (#20433) 2022-10-02 12:19:42 +02:00
816026ba10 build(deps): bump libuv to HEAD - f610339f7 (#20445)
also remove libuv-disable-shared patch
2022-10-02 12:08:29 +02:00
892da763bb fix(dist): update neovim-qt, win32tools.zip #20413
- fix regression by #20411
  - `diff.exe` is required for non-default 'diffopt' (diffopt=filler, diffopt=context, …)
  - the names of some required nvim-qt DLLs changed
2022-09-30 07:53:10 -07:00
ad6af3c1a9 dist(win): update neovim-qt, win32tools.zip #20411
- update curl.exe (+ ca bundle), tee.exe, xxd.exe
- remove diff.exe because `diffopt=internal` is now the default
- update neovim-qt
2022-09-30 04:24:46 -07:00
561c99c86a feat(treesitter): update :help parser 2022-09-29 13:08:43 +02:00
d9ed8d1110 feat(treesitter): update :help parser and queries 2022-09-28 17:31:56 +02:00
cd96fe06e1 build(deps): bump treesitter-vimdoc to v1.0.0 2022-09-28 16:39:42 +02:00
a5effcedd2 build(deps): bump help parser and queries (#20388) 2022-09-28 16:29:35 +02:00
eb4844b5ed build(macos): restore and test universal build (#20383)
Build tree-sitter parsers for arm64 as well as x86
Check that all created binaries contain both architectures
2022-09-28 11:06:11 +02:00
bde6176c91 feat(treesitter): bundle :help parser and queries
parser from https://github.com/vigoux/tree-sitter-vimdoc
queries from nvim-treesitter
2022-09-22 15:36:27 +02:00
6cc03b9c90 build(deps): bump libvterm to v0.3 (#20222) 2022-09-16 19:30:04 +02:00
279c7b11fb build(deps): bump tree-sitter-lua to v0.0.13 (#20210) 2022-09-16 09:26:37 +02:00
22a88c425e build(deps): bump Luv to 1.44.2-1 (#20128)
https://github.com/luvit/luv/releases/tag/1.44.2-1
2022-09-09 09:44:16 +02:00