#compdef noir

_arguments \
  '-b[Set base path]:path:_files' \
  '-u[Set base URL for endpoints]:URL:_urls' \
  '-f[Set output format]:format:(plain yaml json jsonl toml markdown-table sarif html curl httpie powershell oas2 oas3 postman only-url only-param only-header only-cookie only-tag mermaid)' \
  '-o[Write result to file]:path:_files' \
  '--set-pvalue[Specifies the value of the identified parameter]:value:' \
  '--set-pvalue-header[Specifies the value of the identified parameter for headers]:value:' \
  '--set-pvalue-cookie[Specifies the value of the identified parameter for cookies]:value:' \
  '--set-pvalue-query[Specifies the value of the identified parameter for query parameters]:value:' \
  '--set-pvalue-form[Specifies the value of the identified parameter for form data]:value:' \
  '--set-pvalue-json[Specifies the value of the identified parameter for JSON data]:value:' \
  '--set-pvalue-path[Specifies the value of the identified parameter for path parameters]:value:' \
  '--status-codes[Display HTTP status codes for discovered endpoints]' \
  '--exclude-codes[Exclude specific HTTP response codes (comma-separated)]:status:' \
  '--include-path[Include file path in the plain result]' \
  '--include-techs[Include technology in the plain result]' \
  '--no-color[Disable color output]' \
  '--no-log[Displaying only the results]' \
  '-P[Perform a passive scan for security issues using rules from the specified path]' \
  '--passive-scan[Enable passive security scan]' \
  '--passive-scan-path[Specify the path for the rules used in the passive security scan]:path:_files' \
  '--passive-scan-severity[Min severity (critical|high|medium|low, default: high)]:severity:(critical high medium low)' \
  '--passive-scan-auto-update[Auto-update rules at startup]' \
  '--passive-scan-no-update-check[Skip rule update check]' \
  '-T[Activates all taggers for full analysis coverage]' \
  '--use-taggers[Activates specific taggers]:values:' \
  '--list-taggers[Lists all available taggers]' \
  '--send-req[Send results to a web request]' \
  '--send-proxy[Send results to a web request via an HTTP proxy]:proxy:' \
  '--send-es[Send results to Elasticsearch]:es:' \
  '--with-headers[Add custom headers to be included in the delivery]:headers:' \
  '--use-matchers[Send URLs that match specific conditions to the Deliver]:string:' \
  '--use-filters[Exclude URLs that match specified conditions and send the rest to Deliver]:string:' \
  '--diff-path[Specify the path to the old version of the source code for comparison]:path:_files' \
  '-t[Specify the technologies to use]:techs:' \
  '--exclude-techs[Specify the technologies to be excluded]:techs:' \
  '--only-techs[Run only specified tech detectors]:techs:' \
  '--list-techs[Show all technologies]' \
  '--config-file[Specify the path to a configuration file in YAML format]:path:_files' \
  '--concurrency[Set concurrency]:concurrency:' \
  '--generate-completion[Generate Zsh/Bash/Fish completion script]:completion:(zsh bash fish)' \
  '--cache-disable[Disable LLM cache]' \
  '--cache-clear[Clear LLM cache before run]' \
  '--ai-provider[Specify the AI (LLM) provider, ACP target, or custom API URL]:provider:' \
  '--ai-model[Set the model name to use for AI analysis (optional for acp:*)]:model:' \
  '--ai-key[Provide the API key for the AI provider]:key:' \
  '--ai-max-token[Set the maximum number of tokens for AI requests]:value:' \
  '--ollama[Specify the Ollama server URL (Deprecated)]:URL:_urls' \
  '--ollama-model[Specify the Ollama model name (Deprecated)]:model:' \
  '-d[Show debug messages]' \
  '-v[Show version]' \
  '--build-info[Show version and Build info]' \
  '--verbose[Show verbose output]' \
  '--help-all[Show all help]' \
  '-h[Show help]'
