_node_complete() {
  local cur_word options
  cur_word="${COMP_WORDS[COMP_CWORD]}"
  if [[ "${cur_word}" == -* ]] ; then
    COMPREPLY=( $(compgen -W '--experimental-abortcontroller --experimental-import-meta-resolve --experimental-vm-modules --trace-deprecation --eval --report-signal --force-async-hooks-checks --diagnostic-dir --report-on-fatalerror --force-node-api-uncaught-exceptions-policy --node-memory-debug --experimental-specifier-resolution --addons --update-assert-snapshot --warnings --tls-min-v1.1 --expose-internals --pending-deprecation --test-only --dns-result-order --tls-min-v1.2 --preserve-symlinks-main --global-search-paths --experimental-global-customevent --prof --heap-prof --throw-deprecation --experimental-json-modules --openssl-shared-config --conditions --help --heap-prof-interval --cpu-prof-interval --security-revert --disable-proto --cpu-prof --zero-fill-buffers --experimental-worker --use-bundled-ca --experimental-top-level-await --openssl-legacy-provider --v8-pool-size --force-fips --experimental-shadow-realm --perf-prof-unwinding-info --force-context-aware --max-semi-space-size --experimental-global-webcrypto --completion-bash --preserve-symlinks --trace-event-file-pattern --secure-heap-min --abort-on-uncaught-exception --trace-event-categories --v8-options --report-dir --trace-atomics-wait --unhandled-rejections --snapshot-blob --deprecation --tls-min-v1.0 --inspect-brk-node --huge-max-old-generation-size --node-snapshot --icu-data-dir --report-filename --interpreted-frames-native-stack --tls-cipher-list --watch-path --test-name-pattern --use-largepages --secure-heap --experimental-loader --heapsnapshot-near-heap-limit --policy-integrity --verify-base-objects --build-snapshot --debug --use-openssl-ca --experimental-wasm-modules --experimental-network-imports --check --inspect --enable-source-maps --experimental-fetch --http-parser --insecure-http-parser --watch-preserve-output --napi-modules --enable-fips --tls-min-v1.3 --test-udp-no-try-send --tls-max-v1.3 --inspect-publish-uid --inspect-brk --heap-prof-name --version --frozen-intrinsics --harmony-shadow-realm --inspect-port --trace-exit --cpu-prof-name --report-uncaught-exception --tls-keylog --max-http-header-size --redirect-warnings --perf-basic-prof --max-old-space-size --heap-prof-dir --cpu-prof-dir --report-on-signal --print --debug-arraybuffer-allocations --report-compact --trace-sync-io --perf-basic-prof-only-functions --title --disallow-code-generation-from-strings --experimental-report --experimental-modules --perf-prof --experimental-policy --track-heap-objects --input-type --jitless --tls-max-v1.2 --trace-tls --trace-sigint --test --debug-brk --trace-warnings --prof-process --experimental-repl-await --openssl-config --trace-uncaught --extra-info-on-fatal-exception --stack-trace-limit --require --interactive --experimental-wasi-unstable-preview1 --watch --heapsnapshot-signal -e --inspect-brk= -c --inspect-brk-node= --prof-process --debug-brk= -pe -C --trace-events-enabled -v --debug-port --loader --security-reverts --print <arg> --inspect= --es-module-specifier-resolution -h --debug= -i --report-directory -p -r' -- "${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
