// Let external usage consumers ask the same compiled completers as the
// built-in scripts. shell_join preserves argv boundaries; shell_quote carries
// the reconstructed line through sh -c as one inert --line value.
complete "package" run="{bin} __complete_word__ --candidates package --line={{ words | shell_join | shell_quote }}"
complete "packages" run="{bin} __complete_word__ --candidates packages --line={{ words | shell_join | shell_quote }}"
complete "pkg" run="{bin} __complete_word__ --candidates pkg --line={{ words | shell_join | shell_quote }}"
complete "bin" run="{bin} __complete_word__ --candidates bin --line={{ words | shell_join | shell_quote }}"
complete "workspace" run="{bin} __complete_word__ --candidates workspace --line={{ words | shell_join | shell_quote }}"
complete "key" run="{bin} __complete_word__ --candidates key --line={{ words | shell_join | shell_quote }}"
complete "patch" run="{bin} __complete_word__ --candidates patch --line={{ words | shell_join | shell_quote }}"
complete "dir" type="dir"
complete "path" type="path"