diff --git a/roles/zsh/tasks/main.yaml b/roles/zsh/tasks/main.yaml
index e6f45df..0f18ed5 100644
--- a/roles/zsh/tasks/main.yaml
+++ b/roles/zsh/tasks/main.yaml
@@ -64,6 +64,19 @@
loop_control:
label: '{{item.dest}}'
+- name: list commands with available completions
+ command:
+ zsh {{ansible_env.HOME}}/.config/zsh/list-commands-with-available-completions.zsh
+ changed_when: false
+ register: completion_commands
+
+- name: install completions for available commands
+ file:
+ state: link
+ src: '~/.config/zsh/zsh-completions/src/_{{item}}'
+ dest: '~/.local/share/zsh/site-functions/_{{item}}'
+ with_items: '{{completion_commands.stdout}}'
+
- name: get absolute path
shell: command -v zsh
register: zsh