zsh: complete targets

pull/2601/head
Eric Engestrom 7 years ago committed by Eric Engestrom
parent 1b873d62f8
commit 75f436542c
  1. 18
      data/shell-completions/zsh/_meson

@ -49,8 +49,22 @@ local -a meson_commands=(
# TODO: implement build option completion
(( $+functions[__meson_build_options] )) || __meson_build_options() {}
# TODO: implement target name completion
(( $+functions[__meson_targets] )) || __meson_targets() {}
(( $+functions[__meson_targets] )) || __meson_targets() {
local tests_json
# TODO: get builddir out of the cmdline and pass it here
if tests_json="$(_call_program meson meson introspect --targets)";
then
local -a tests_ids=$(_call_program python3 python3 -c 'import sys, json;
for target in json.load(sys.stdin):
print(target["id"])
' <<< "$tests_json")
_describe -t "tests" "Meson tests IDs" tests_ids
else
_message -r "current working directory is not a build directory"
fi
}
# `meson introspect` currently can provide that information in JSON.
# We can:
# 1) pipe its output to python3 -m json.tool | grep "$alovelyregex" | cut <...>

Loading…
Cancel
Save