From f2476eb897bed4466b36eb3e6470acc15acb894e Mon Sep 17 00:00:00 2001 From: termux-pacman-bot Date: Thu, 5 Feb 2026 13:30:53 +0000 Subject: [PATCH] enhance(main/neovim): use queries from tree-sitter-parsers to highlight files tree-sitter-parsers provides parsers and queries, but neovim doesnt make use of the latter, this makes files loose all syntax highlighting also fixed sorting order in build.sh because `termux-language-server` was complaining about it --- packages/neovim-nightly/build.sh | 17 +++++++++++------ packages/neovim/build.sh | 15 ++++++++++----- packages/neovim/sysinit.vim | 3 +++ 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/packages/neovim-nightly/build.sh b/packages/neovim-nightly/build.sh index 9a1af75d0e..6a05812182 100644 --- a/packages/neovim-nightly/build.sh +++ b/packages/neovim-nightly/build.sh @@ -4,15 +4,17 @@ TERMUX_PKG_LICENSE="Apache-2.0, VIM License" TERMUX_PKG_LICENSE_FILE="LICENSE.txt" TERMUX_PKG_MAINTAINER="Joshua Kahn @TomJo2000" TERMUX_PKG_VERSION="0.12.0~dev-2112+gb6befc7b03" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://github.com/neovim/neovim/archive/${TERMUX_PKG_VERSION##*+g}.tar.gz TERMUX_PKG_SHA256=2fcd862dbba9082a661ba3d4e0bfe254774a3a19eed8f1f189ef820d7cbb2b96 -TERMUX_PKG_AUTO_UPDATE=true -TERMUX_PKG_UPDATE_VERSION_REGEXP="v.*-dev.*\+g[0-9a-f]*" -TERMUX_PKG_UPDATE_VERSION_SED_REGEXP="s/-/~/" -TERMUX_PKG_DEPENDS="libiconv, libuv, luv, libmsgpack, libvterm (>= 1:0.3-0), luajit, libunibilium, libandroid-support, lua51-lpeg, tree-sitter, tree-sitter-parsers, utf8proc" +TERMUX_PKG_DEPENDS="libandroid-support, libiconv, libmsgpack, libunibilium, libuv, libvterm (>= 1:0.3-0), lua51-lpeg, luajit, luv, tree-sitter, tree-sitter-parsers, utf8proc" TERMUX_PKG_BREAKS="neovim" TERMUX_PKG_CONFLICTS="neovim" TERMUX_PKG_HOSTBUILD=true +TERMUX_PKG_CONFFILES="share/nvim/sysinit.vim" +TERMUX_PKG_AUTO_UPDATE=true +TERMUX_PKG_UPDATE_VERSION_REGEXP="v.*-dev.*\+g[0-9a-f]*" +TERMUX_PKG_UPDATE_VERSION_SED_REGEXP="s/-/~/" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DENABLE_JEMALLOC=OFF @@ -24,7 +26,6 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DLPEG_LIBRARY=$TERMUX_PREFIX/lib/liblpeg-5.1.so -DCOMPILE_LUA=OFF " -TERMUX_PKG_CONFFILES="share/nvim/sysinit.vim" termux_pkg_auto_update() { local response commit latest_nightly @@ -96,7 +97,6 @@ termux_step_pre_configure() { termux_step_post_make_install() { local _CONFIG_DIR=$TERMUX_PREFIX/share/nvim mkdir -p "$_CONFIG_DIR" - cp "$TERMUX_PKG_BUILDER_DIR/sysinit.vim" "$_CONFIG_DIR/" # Tree-sitter grammars are packaged separately and installed into TERMUX_PREFIX/lib/tree_sitter. ln -sf "${TERMUX_PREFIX}"/lib/tree_sitter "${TERMUX_PREFIX}"/share/nvim/runtime/parser @@ -111,6 +111,11 @@ termux_step_post_make_install() { > "${TERMUX_PREFIX}/bin/nvim" chmod 700 "${TERMUX_PREFIX}/bin/nvim" + # Add termux specific configuration + sed -e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \ + "$TERMUX_PKG_BUILDER_DIR/sysinit.vim" \ + > "$_CONFIG_DIR/sysinit.vim" + { # Set up a wrapper script for `ex` to be called by `update-alternatives` echo "#!$TERMUX_PREFIX/bin/sh" echo "exec \"$TERMUX_PREFIX/bin/nvim\" -e \"\$@\"" diff --git a/packages/neovim/build.sh b/packages/neovim/build.sh index a8acb681f4..373e60ccdc 100644 --- a/packages/neovim/build.sh +++ b/packages/neovim/build.sh @@ -4,14 +4,16 @@ TERMUX_PKG_LICENSE="Apache-2.0, VIM License" TERMUX_PKG_LICENSE_FILE="LICENSE.txt" TERMUX_PKG_MAINTAINER="Joshua Kahn @TomJo2000" TERMUX_PKG_VERSION="0.11.6" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://github.com/neovim/neovim/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=d1c8e3f484ed1e231fd5f48f53b7345b628e52263d5eef489bb8b73ca8d90fca -TERMUX_PKG_AUTO_UPDATE=true -TERMUX_PKG_UPDATE_VERSION_REGEXP="\d+\.\d+\.\d+" -TERMUX_PKG_DEPENDS="libiconv, libuv, luv, libmsgpack, libvterm (>= 1:0.3-0), luajit, libunibilium, libandroid-support, lua51-lpeg, tree-sitter, tree-sitter-parsers, utf8proc" +TERMUX_PKG_DEPENDS="libandroid-support, libiconv, libmsgpack, libunibilium, libuv, libvterm (>= 1:0.3-0), lua51-lpeg, luajit, luv, tree-sitter, tree-sitter-parsers, utf8proc" TERMUX_PKG_BREAKS="neovim-nightly" TERMUX_PKG_CONFLICTS="neovim-nightly" TERMUX_PKG_HOSTBUILD=true +TERMUX_PKG_CONFFILES="share/nvim/sysinit.vim" +TERMUX_PKG_AUTO_UPDATE=true +TERMUX_PKG_UPDATE_VERSION_REGEXP="\d+\.\d+\.\d+" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DENABLE_JEMALLOC=OFF @@ -23,7 +25,6 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DLPEG_LIBRARY=$TERMUX_PREFIX/lib/liblpeg-5.1.so -DCOMPILE_LUA=OFF " -TERMUX_PKG_CONFFILES="share/nvim/sysinit.vim" termux_step_host_build() { termux_setup_cmake @@ -66,7 +67,6 @@ termux_step_pre_configure() { termux_step_post_make_install() { local _CONFIG_DIR=$TERMUX_PREFIX/share/nvim mkdir -p "$_CONFIG_DIR" - cp "$TERMUX_PKG_BUILDER_DIR/sysinit.vim" "$_CONFIG_DIR/" # Tree-sitter grammars are packaged separately and installed into TERMUX_PREFIX/lib/tree_sitter. ln -sf "${TERMUX_PREFIX}"/lib/tree_sitter "${TERMUX_PREFIX}"/share/nvim/runtime/parser @@ -81,6 +81,11 @@ termux_step_post_make_install() { > "${TERMUX_PREFIX}/bin/nvim" chmod 700 "${TERMUX_PREFIX}/bin/nvim" + # Add termux specific configuration + sed -e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \ + "$TERMUX_PKG_BUILDER_DIR/sysinit.vim" \ + > "$_CONFIG_DIR/sysinit.vim" + { # Set up a wrapper script for `ex` to be called by `update-alternatives` echo "#!$TERMUX_PREFIX/bin/sh" echo "exec \"$TERMUX_PREFIX/bin/nvim\" -e \"\$@\"" diff --git a/packages/neovim/sysinit.vim b/packages/neovim/sysinit.vim index 53e558c06c..825d690e16 100644 --- a/packages/neovim/sysinit.vim +++ b/packages/neovim/sysinit.vim @@ -3,3 +3,6 @@ set mouse=a " Scroll only one line for mouse wheel events to get smooth scrolling on touch screens set mousescroll=ver:1,hor:6 + +" add highlights from tree-sitter-parsers +set runtimepath+=@TERMUX_PREFIX@/share/tree-sitter