Просмотр исходного кода

Merge topic 'updated-workflow-bash-completion' into release-3.31

3ae031992a bash-completion: Complete a workflow name after the --workflow option

Acked-by: Kitware Robot <[email protected]>
Merge-request: !9943
Brad King 1 год назад
Родитель
Сommit
7b47da6e5d
1 измененных файлов с 18 добавлено и 0 удалено
  1. 18 0
      Auxiliary/bash-completion/cmake

+ 18 - 0
Auxiliary/bash-completion/cmake

@@ -201,6 +201,24 @@ _cmake()
             COMPREPLY=( $( compgen -W "$presets" -- "$quoted" ) )
             return
             ;;
+        --workflow)
+            local quoted
+            printf -v quoted %q "$cur"
+            # Options allowed right after `--workflow`
+            local workflow_options='--preset --list-presets --fresh'
+
+            if [[ "$cur" == -* ]]; then
+                COMPREPLY=( $( compgen -W "$workflow_options" -- "$quoted" ) )
+            else
+                local presets=$( cmake --list-presets=workflow 2>/dev/null |
+                    grep -o "^  \".*\"" | sed \
+                    -e "s/^  //g" \
+                    -e "s/\"//g" \
+                    -e 's/ /\\\\ /g' )
+                COMPREPLY=( $( compgen -W "$presets $workflow_options" -- "$quoted" ) )
+            fi
+            return
+            ;;
     esac
 
     if  ($is_old_completion || $is_init_completion); then