src: port --bash-completion to C++
So that it gets handle earlier and faster during the bootstrap process.
Drive-by fixes:
- Remove
[has_eval_string]
and[ssl_openssl_cert_store]
from the completion output
Before:
_node_complete() {
local cur_word options
cur_word="${COMP_WORDS[COMP_CWORD]}"
if [[ "${cur_word}" == -* ]] ; then
COMPREPLY=( $(compgen -W '--abort-on-uncaught-exception --experimental-report --perf-basic-prof --max-old-space-size --diagnostic-report-verbose --inspect-brk-node --inspect-port --diagnostic-report-filename --diagnostic-report-uncaught-exception --track-heap-objects --diagnostic-report-signal --tls-v1.1 --napi-modules --inspect-brk --tls-v1.0 --redirect-warnings --print --trace-deprecation --trace-event-file-pattern --check --perf-prof --preserve-symlinks --no-warnings --debug --no-deprecation --trace-warnings --expose-internals --diagnostic-report-on-signal --diagnostic-report-directory --pending-deprecation --experimental-worker --trace-sync-io --diagnostic-report-on-fatalerror --tls-cipher-list --no-force-async-hooks-checks --inspect --eval --loader --use-openssl-ca --preserve-symlinks-main --interactive --icu-data-dir --v8-options --require --use-bundled-ca --experimental-policy --version --experimental-vm-modules --prof-process --max-http-header-size [has_eval_string] --throw-deprecation --completion-bash --help --zero-fill-buffers --v8-pool-size [ssl_openssl_cert_store] --experimental-modules --http-parser --openssl-config --trace-event-categories --security-reverts --experimental-repl-await --stack-trace-limit --debug-brk --title --debug-port --prof-process --debug= -p -pe -v --inspect-brk= -i --print <arg> --inspect= --debug-brk= -e --inspect-brk-node= -c -h -r --trace-events-enabled' -- "${cur_word}") )
return 0
else
COMPREPLY=( $(compgen -f "${cur_word}") )
return 0
fi
}
complete -F _node_complete node node_g
After:
_node_complete() {
local cur_word options
cur_word="${COMP_WORDS[COMP_CWORD]}"
if [[ "${cur_word}" == -* ]] ; then
COMPREPLY=( $(compgen -W '--abort-on-uncaught-exception --experimental-report --perf-basic-prof --max-old-space-size --diagnostic-report-verbose --inspect-brk-node --inspect-port --diagnostic-report-filename --diagnostic-report-uncaught-exception --track-heap-objects --diagnostic-report-signal --tls-v1.1 --napi-modules --inspect-brk --tls-v1.0 --redirect-warnings --print --trace-deprecation --trace-event-file-pattern --check --perf-prof --preserve-symlinks --no-warnings --debug --no-deprecation --trace-warnings --expose-internals --diagnostic-report-on-signal --diagnostic-report-directory --pending-deprecation --experimental-worker --trace-sync-io --diagnostic-report-on-fatalerror --tls-cipher-list --no-force-async-hooks-checks --inspect --eval --loader --use-openssl-ca --preserve-symlinks-main --interactive --icu-data-dir --v8-options --require --use-bundled-ca --experimental-policy --version --experimental-vm-modules --prof-process --max-http-header-size --throw-deprecation --completion-bash --help --zero-fill-buffers --v8-pool-size --experimental-modules --http-parser --openssl-config --trace-event-categories --security-reverts --experimental-repl-await --stack-trace-limit --debug-brk --title --debug-port --prof-process --debug= -p -pe -v --inspect-brk= -i --print <arg> --inspect= --debug-brk= -e --inspect-brk-node= -c -h -r --trace-events-enabled' -- "${cur_word}") )
return 0
else
COMPREPLY=( $(compgen -f "${cur_word}") )
return 0
fi
}
complete -F _node_complete node node_g
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
commit message follows commit guidelines