[completions] Handle errors thrown by gh

`gh` doesn't write its errors to stderr and doesn't exit with a non-zero status
code in case of failure. The completions are short enough that buffering them
isn't a huge deal.
This commit is contained in:
Mahmoud Al-Qudsi 2022-09-16 16:41:47 -05:00
parent 30cd330b98
commit c2155b770d

View File

@ -1 +1,6 @@
gh completion --shell fish 2>/dev/null | source
# gh, at least as of version 1.17.5, does not write errors to stderr, causing
# `checks/completions.fish` to fail if the `gh-completion` module is missing.
# It also does not exit with a non-zero error code, making this harder than it needs to be :(
set completion "$(gh completion --shell fish)"
string match -rq '^Error' -- $completion && return -1
echo $completion | source