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