aboutsummaryrefslogtreecommitdiff
path: root/src/nvim
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2024-08-08 12:28:47 +0200
committerChristian Clason <c.clason@uni-graz.at>2024-08-10 10:26:07 +0200
commitfa79a8ad6deefeea81c1959d69aa4c8b2d993f99 (patch)
tree256b79397d0266ba796c250ceac1a5256ad5187d /src/nvim
parent0ec43cb4b56673d661d6bd1e39836d0a891be5cd (diff)
downloadrneovim-fa79a8ad6deefeea81c1959d69aa4c8b2d993f99.tar.gz
rneovim-fa79a8ad6deefeea81c1959d69aa4c8b2d993f99.tar.bz2
rneovim-fa79a8ad6deefeea81c1959d69aa4c8b2d993f99.zip
build(deps): vendor libvterm at v0.3.3
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.
Diffstat (limited to 'src/nvim')
-rw-r--r--src/nvim/CMakeLists.txt6
-rw-r--r--src/nvim/os/win_defs.h3
-rw-r--r--src/nvim/terminal.c4
3 files changed, 7 insertions, 6 deletions
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt
index d153c9e3ef..87c9506709 100644
--- a/src/nvim/CMakeLists.txt
+++ b/src/nvim/CMakeLists.txt
@@ -30,7 +30,6 @@ target_link_libraries(main_lib INTERFACE ${LUV_LIBRARY})
find_package(Iconv REQUIRED)
find_package(Libuv 1.28.0 REQUIRED)
-find_package(Libvterm 0.3.3 REQUIRED)
find_package(Lpeg REQUIRED)
find_package(Treesitter 0.22.6 REQUIRED)
find_package(Unibilium 2.0 REQUIRED)
@@ -38,7 +37,6 @@ find_package(UTF8proc REQUIRED)
target_link_libraries(main_lib INTERFACE
iconv
- libvterm
lpeg
treesitter
unibilium
@@ -366,8 +364,8 @@ file(MAKE_DIRECTORY ${TOUCHES_DIR} ${GENERATED_DIR} ${GENERATED_INCLUDES_DIR})
file(GLOB NVIM_SOURCES CONFIGURE_DEPENDS *.c)
file(GLOB NVIM_HEADERS CONFIGURE_DEPENDS *.h)
-file(GLOB EXTERNAL_SOURCES CONFIGURE_DEPENDS ../xdiff/*.c ../mpack/*.c ../cjson/*.c ../klib/*.c ../termkey/*.c)
-file(GLOB EXTERNAL_HEADERS CONFIGURE_DEPENDS ../xdiff/*.h ../mpack/*.h ../cjson/*.h ../klib/*.h ../termkey/*.h)
+file(GLOB EXTERNAL_SOURCES CONFIGURE_DEPENDS ../xdiff/*.c ../mpack/*.c ../cjson/*.c ../klib/*.c ../termkey/*.c ../vterm/*.c)
+file(GLOB EXTERNAL_HEADERS CONFIGURE_DEPENDS ../xdiff/*.h ../mpack/*.h ../cjson/*.h ../klib/*.h ../termkey/*.h ../vterm/*.h)
file(GLOB NLUA0_SOURCES CONFIGURE_DEPENDS ../mpack/*.c)
diff --git a/src/nvim/os/win_defs.h b/src/nvim/os/win_defs.h
index 852059f78b..024719806c 100644
--- a/src/nvim/os/win_defs.h
+++ b/src/nvim/os/win_defs.h
@@ -16,6 +16,9 @@
#include <sys/stat.h>
#include <windows.h>
+// vterm.h defines an `unsigned int small` in a struct, triggering error C2632
+#undef small
+
// Windows does not have S_IFLNK but libuv defines it
// and sets the flag for us when calling uv_fs_stat.
#include <uv.h>
diff --git a/src/nvim/terminal.c b/src/nvim/terminal.c
index 507a9e3a2a..abc9b3534b 100644
--- a/src/nvim/terminal.c
+++ b/src/nvim/terminal.c
@@ -40,8 +40,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <vterm.h>
-#include <vterm_keycodes.h>
#include "klib/kvec.h"
#include "nvim/api/private/helpers.h"
@@ -94,6 +92,8 @@
#include "nvim/ui.h"
#include "nvim/vim_defs.h"
#include "nvim/window.h"
+#include "vterm/vterm.h"
+#include "vterm/vterm_keycodes.h"
typedef struct {
VimState state;