2017-10-24 13 views

答えて

0

abit late but still、 次のコードは完成結果を強調表示することがわかりました。 動的に生成される補完に役立ちます。

#compdef colorgrep 
local -a colors 
    colors="$(_call_program 'colgrep' grep --help 2>/dev/null |\ 
     awk -vtick="'" -F' ' "BEGIN { OFS=\"\"; red=\"\033[31m\" ;white=\"\033[37m\"; }; 
     /^\s+-/ { 
      gsub(/[:\`\]\[]|tick|the\s/,\"\",\$0); 
      gsub(/\s\s/,\"\",\$0); 
      split(\$1,option,/[=,]/); 
      gsub(\$1,\"\",\$0); 
      gsub(\$2,\"\",\$0); 
      \$0=red\$0white; 
      printf \"%s[%s]:%s:\n\",option[1],\$0,option[2] }")" 
     #convert to array 
     colors=("${(f)colors}") 
_arguments $colors 
関連する問題