From 9d15bfae99f50e40e9410f8e8e58c5bd5549c1a7 Mon Sep 17 00:00:00 2001 From: tastytea Date: Sat, 16 Apr 2022 10:50:12 +0200 Subject: [PATCH] add Zsh completion Installs into the default site-wide Zsh directory. --- CMakeLists.txt | 1 + resources/_nheko | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 resources/_nheko diff --git a/CMakeLists.txt b/CMakeLists.txt index 049e3b1e..eef3d829 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -743,6 +743,7 @@ if(UNIX AND NOT APPLE) install (FILES "resources/nheko.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps" RENAME "nheko.svg") install (FILES "resources/nheko.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") install (FILES "resources/nheko.appdata.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo") + install (FILES "resources/_nheko" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/zsh/site-functions") if(NOT TARGET uninstall) configure_file( diff --git a/resources/_nheko b/resources/_nheko new file mode 100644 index 00000000..c730b2b3 --- /dev/null +++ b/resources/_nheko @@ -0,0 +1,23 @@ +#compdef nheko + +_arguments '--help[Displays help on commandline options.]' \ + '-h[Displays help on commandline options.]' \ + '--help-all[Displays help including Qt specific options.]' \ + '--version[Displays version information.]' \ + '-v[Displays version information.]' \ + '--debug[Enables debug output.]' \ + '--profile[Create or select profile.]:profile:_nheko_select_profile' \ + '-p[Create or select profile.]:profile:_nheko_select_profile' + +function _nheko_select_profile() +{ + local -a profiles=(default) + while read -r line; do + [[ ${line} =~ '\\auth\\device_id' ]] && profiles+=(${line%%\\*}) + done < ${XDG_CONFIG_HOME:-~/.config}/nheko/nheko.conf + _values "profile" ${profiles} +} + +# Local Variables: +# mode: shell-script +# End: