Merge pull request #1046 from tastytea/zsh-completion
add Zsh completion
2 files changed, 24 insertions, 0 deletions
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:
|