_node_complete() {
  local cur_word options
  cur_word="${COMP_WORDS[COMP_CWORD]}"
  if [[ "${cur_word}" == -* ]] ; then
    COMPREPLY=( $(compgen -W '--run --experimental-sea-config --cpu-prof-dir --report-on-signal --heap-prof-interval --cpu-prof-interval --cpu-prof --tls-max-v1.3 --test-udp-no-try-send --test-skip-pattern --use-env-proxy --experimental-report --experimental-modules --experimental-addon-modules --test-coverage-functions --heapsnapshot-signal --trace-tls --permission --experimental-loader --experimental-global-webcrypto --test-coverage-exclude --trace-env --test-rerun-failures --experimental-detect-module --allow-addons --http-parser --experimental-fetch --trace-promises --experimental-abortcontroller --test-concurrency --experimental-quic --disable-sigusr1 --experimental-inspector-network-resource --allow-wasi --expose-gc --diagnostic-dir --force-async-hooks-checks --strip-types --experimental-sqlite --allow-inspector --debug --allow-fs-read --build-snapshot --preserve-symlinks-main --allow-fs-write --allow-child-process --print --allow-worker --inspect-publish-uid --inspect-brk --check --inspect --inspect-port --experimental-top-level-await --experimental-json-modules --enable-etw-stack-walking --max-old-space-size --perf-basic-prof --inspect-wait --perf-prof --experimental-transform-types --report-uncaught-exception --cpu-prof-name --env-file-if-exists --pending-deprecation --dns-result-order --test-only --tls-min-v1.2 --max-old-space-size-percentage --build-snapshot-config --network-family-autoselection --report-signal --abort-on-uncaught-exception --test-force-exit --test-coverage-lines --throw-deprecation --trace-deprecation --eval --heap-prof-dir --trace-env-native-stack --report-exclude-network --disable-wasm-trap-handler --snapshot-blob --unhandled-rejections --watch --test-isolation --entry-url --openssl-shared-config --conditions --help --security-revert --watch-path --tls-cipher-list --disable-proto --test-coverage-include --env-file --experimental-network-inspection --zero-fill-buffers --experimental-webstorage --openssl-legacy-provider --v8-pool-size --force-fips --experimental-shadow-realm --async-context-frame --preserve-symlinks --completion-bash --test-reporter-destination --trace-env-js-stack --trace-event-file-pattern --secure-heap-min --trace-event-categories --addons --node-memory-debug --experimental-specifier-resolution --v8-options --global-search-paths --experimental-global-customevent --experimental-test-module-mocks --trace-sync-io --debug-arraybuffer-allocations --report-compact --experimental-test-coverage --trace-exit --trace-warnings --watch-kill-signal --experimental-test-snapshots --prof-process --experimental-repl-await --tls-min-v1.3 --experimental-websocket --enable-fips --test-global-setup --report-on-fatalerror --node-snapshot --icu-data-dir --trace-uncaught --openssl-config --report-filename --interpreted-frames-native-stack --trace-require-module --experimental-import-meta-resolve --experimental-wasm-modules --use-openssl-ca --perf-basic-prof-only-functions --experimental-print-required-tla --experimental-worker --use-bundled-ca --test-shard --experimental-global-navigator --tls-min-v1.1 --use-system-ca --warnings --test-name-pattern --verify-base-objects --use-largepages --experimental-eventsource --test-reporter --secure-heap --test-coverage-branches --test-update-snapshots --trace-sigint --import --test --localstorage-file --experimental-config-file --track-heap-objects --redirect-warnings --max-http-header-size --experimental-default-config-file --experimental-require-module --heap-prof --test-timeout --experimental-worker-inspection --experimental-vm-modules --report-dir --network-family-autoselection-attempt-timeout --heap-prof-name --version --frozen-intrinsics --harmony-shadow-realm --interactive --experimental-wasi-unstable-preview1 --watch-preserve-output --insecure-http-parser --force-node-api-uncaught-exceptions-policy --prof --report-exclude-env --expose-internals --require --tls-keylog --napi-modules --stack-trace-limit --extra-info-on-fatal-exception --debug-brk --tls-max-v1.2 --enable-source-maps --jitless --input-type --disable-warning --heapsnapshot-near-heap-limit --title --disallow-code-generation-from-strings --max-semi-space-size --force-context-aware --perf-prof-unwinding-info --tls-min-v1.0 --inspect-brk-node --deprecation --experimental-test-isolation --prof-process -pe --enable-network-family-autoselection -i --inspect-wait= --inspect-brk= --debug-brk= --debug= --inspect= --loader --debug-port --trace-events-enabled -v --security-reverts --print <arg> --es-module-specifier-resolution -h --report-directory -p --inspect-brk-node= -c -r -e --experimental-strip-types -C' -- "${cur_word}") )
    return 0
  else
    COMPREPLY=( $(compgen -f "${cur_word}") )
    return 0
  fi
}
complete -o filenames -o nospace -o bashdefault -F _node_complete node node_g
