diff --git a/completion/_papirus-folders b/completion/_papirus-folders index 61d04e3..93ae3ba 100644 --- a/completion/_papirus-folders +++ b/completion/_papirus-folders @@ -5,10 +5,12 @@ # @link: https://github.com/PapirusDevelopmentTeam/papirus-folders _get_colors() { - local -a colors=(black blue bluegrey breeze brown carmine cyan - darkcyan deeporange green grey indigo magenta nordic orange - palebrown paleorange pink purple red teal violet white yaru - yellow) + if ! command -v papirus-folders >/dev/null; then + _message "unable to find papirus-folders script" + return 1 + fi + + local -a colors=( $(papirus-folders -l | tr -d '>\n') ) _wanted colors exlp 'color' compadd -- "${colors[@]}" return 0 } diff --git a/completion/papirus-folders b/completion/papirus-folders index 5b69417..3be49b1 100644 --- a/completion/papirus-folders +++ b/completion/papirus-folders @@ -4,6 +4,14 @@ # @license: MIT license (MIT) # @link: https://github.com/PapirusDevelopmentTeam/papirus-folders +__get_colors() { + if ! command -v papirus-folders >/dev/null; then + return 1 + fi + + papirus-folders -l | tr -d '>\n' +} + __get_themes() { local data_dir icons_dir icon_theme local -a data_dirs=() @@ -32,10 +40,7 @@ __get_themes() { _papirus_folders() { local cur prev - local -a colors=(black blue bluegrey breeze brown carmine cyan - darkcyan deeporange green grey indigo magenta nordic orange - palebrown paleorange pink purple red teal violet white yaru - yellow) + local -a colors=( $(__get_colors) ) local -a opts=( -h --help -V --version