pushd manager
%py3_install
install -m 644 -D etc/knot-resolver/config.yml %{buildroot}%{_sysconfdir}/knot-resolver/config.yml
+install -m 644 -D shell-completion/kresctl.bash %{buildroot}%{_datarootdir}/bash-completion/completions/kresctl
+install -m 644 -D shell-completion/kresctl.fish %{buildroot}%{_datarootdir}/fish/vendor_completions.d/kresctl.fish
+
popd
%pre
%{_sysconfdir}/knot-resolver/config.yml
%{_unitdir}/knot-resolver.service
%{_bindir}/kresctl
+%{_datarootdir}/bash-completion/completions/kresctl
+%{_datarootdir}/fish/vendor_completions.d/kresctl.fish
%changelog
* {{ now }} Jakub Ružička <jakub.ruzicka@nic.cz> - {{ version }}-{{ release }}
)
endif
-
subdir('config')
-subdir('shell-completion')
-
install_data(
sources: etc_files,
install_dir: etc_dir
--- /dev/null
+#/usr/bin/env bash
+
+# completion function for the kresctl
+_kresctl_completion() {
+ local cur prev opts
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+
+ # get options
+ opts=$(kresctl completion --bash "${COMP_WORDS}")
+
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
+ return 0
+ fi
+
+ return 0
+}
+
+# use the bash default completion for other arguments
+complete -o filenames -o nospace -o bashdefault -F _kresctl_completion kresctl
\ No newline at end of file
--- /dev/null
+function __fish_git
+ set -l args (commandline -pco)
+ eval command kresctl $args
+end
+
+complete -c kresctl -a '(_kresctl_completion)' -f
\ No newline at end of file