From 053d67cd1dd4bac67fe117d23f36908b7f1b3ebc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutn=C3=BD?= Date: Fri, 23 Jan 2026 13:50:15 +0100 Subject: [PATCH 1/2] Move fish completion to vendor's directory I noticed that task completions won't work recently but it can be "fixed" by symlinking the completions scripts from vendor_completions.d directory as described by fish docs [1]. Use this directory by default. Fixes #3023 [1] https://fishshell.com/docs/current/completions.html --- scripts/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 312661e0c..40bfcd053 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -1,6 +1,11 @@ cmake_minimum_required (VERSION 3.22...4.0) -install (DIRECTORY bash fish vim hooks + +set(FISH_COMPLETIONSDIR share/fish/vendor_completions.d) + +install (DIRECTORY bash vim hooks DESTINATION ${TASK_DOCDIR}/scripts) +install (FILES fish/task.fish + DESTINATION ${FISH_COMPLETIONSDIR}) install (FILES zsh/_task DESTINATION share/zsh/site-functions) install (DIRECTORY add-ons From 69688d1afdabb754b67818205f1a1f4004e82ba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutn=C3=BD?= Date: Fri, 23 Jan 2026 13:51:05 +0100 Subject: [PATCH 2/2] cmake: Look up fish completions with pkg-config fish-devel ships its desired vendor completions path. Add support for this to CMakeLists.txt but make it all optional with sane default for environments that don't want fish in its build deps. --- scripts/CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 40bfcd053..ab07b6682 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -1,6 +1,13 @@ cmake_minimum_required (VERSION 3.22...4.0) -set(FISH_COMPLETIONSDIR share/fish/vendor_completions.d) +find_package(PkgConfig) +if(PkgConfig_FOUND) + pkg_get_variable(FISH_COMPLETIONSDIR fish completionsdir) +endif() +if(NOT FISH_COMPLETIONSDIR) + set(FISH_COMPLETIONSDIR share/fish/vendor_completions.d) + message(STATUS "fish pkgconfig module missing, assumed completions in ${FISH_COMPLETIONSDIR}") +endif() install (DIRECTORY bash vim hooks DESTINATION ${TASK_DOCDIR}/scripts)