complete -c gallery-dl -x
complete -c gallery-dl -s 'h' -l 'help' -d 'Print this help message and exit'
complete -c gallery-dl -l 'version' -d 'Print program version and exit'
complete -c gallery-dl -x -s 'f' -l 'filename' -d 'Filename format string for downloaded files ("/O" for "original" filenames)'
complete -c gallery-dl -x -a '(__fish_complete_directories)' -s 'd' -l 'destination' -d 'Target location for file downloads'
complete -c gallery-dl -x -a '(__fish_complete_directories)' -s 'D' -l 'directory' -d 'Exact location for file downloads'
complete -c gallery-dl -x -l 'restrict-filenames' -d 'Replace restricted filename characters with underscores. One of "windows", "windows+", "unix", "ascii", "ascii+", or a custom set of characters'
complete -c gallery-dl -l 'windows-filenames' -d 'Force filenames to be Windows-compatible'
complete -c gallery-dl -x -a '(__fish_complete_directories)' -s 'X' -l 'extractors' -d 'Load external extractors from PATH'
complete -c gallery-dl -l 'compat' -d 'Restore legacy "category" names'
complete -c gallery-dl -s 'S' -l 'server' -d 'Enable server mode. Send input URLs to a gallery-dl server or create an IPC server when no input URLs are given'
complete -c gallery-dl -s 'U' -l 'update-check' -d 'Check if a newer version is available'
complete -c gallery-dl -r -F -s 'i' -l 'input-file' -d 'Download URLs found in FILE ("-" for stdin). More than one --input-file can be specified'
complete -c gallery-dl -r -F -s 'I' -l 'input-file-comment' -d 'Download URLs found in FILE. Comment them out after they were downloaded successfully.'
complete -c gallery-dl -r -F -s 'x' -l 'input-file-delete' -d 'Download URLs found in FILE. Delete them after they were downloaded successfully.'
complete -c gallery-dl -l 'no-input' -d 'Do not prompt for passwords/tokens'
complete -c gallery-dl -s 'q' -l 'quiet' -d 'Activate quiet mode'
complete -c gallery-dl -s 'w' -l 'warning' -d 'Print only warnings and errors'
complete -c gallery-dl -s 'v' -l 'verbose' -d 'Print various debugging information'
complete -c gallery-dl -s 'g' -l 'get-urls' -d 'Print URLs instead of downloading'
complete -c gallery-dl -s 'G' -l 'resolve-urls' -d 'Print URLs instead of downloading; resolve intermediary URLs'
complete -c gallery-dl -s 'j' -l 'dump-json' -d 'Print JSON information'
complete -c gallery-dl -s 'J' -l 'resolve-json' -d 'Print JSON information; resolve intermediary URLs'
complete -c gallery-dl -s 's' -l 'simulate' -d 'Simulate data extraction; do not download anything'
complete -c gallery-dl -s 'E' -l 'extractor-info' -d 'Print extractor defaults and settings'
complete -c gallery-dl -s 'K' -l 'list-keywords' -d 'Print a list of available keywords and example values for the given URLs'
complete -c gallery-dl -r -F -s 'e' -l 'error-file' -d 'Add input URLs which returned an error to FILE'
complete -c gallery-dl -x -s 'N' -l 'print' -d 'Write FORMAT during EVENT (default "prepare") to standard output instead of downloading files. Can be used multiple times. Examples: "id" or "post:{md5[:8]}"'
complete -c gallery-dl -x -l 'Print' -d 'Like --print, but downloads files as well'
complete -c gallery-dl -x -l 'print-to-file' -d 'Append FORMAT during EVENT to FILE instead of downloading files. Can be used multiple times'
complete -c gallery-dl -x -l 'Print-to-file' -d 'Like --print-to-file, but downloads files as well'
complete -c gallery-dl -l 'list-modules' -d 'Print a list of available extractor modules'
complete -c gallery-dl -x -l 'list-extractors' -d 'Print a list of extractor classes with description, (sub)category and example URL'
complete -c gallery-dl -r -F -l 'write-log' -d 'Write logging output to FILE'
complete -c gallery-dl -r -F -l 'write-unsupported' -d 'Write URLs, which get emitted by other extractors but cannot be handled, to FILE'
complete -c gallery-dl -l 'write-pages' -d 'Write downloaded intermediary pages to files in the current directory to debug problems'
complete -c gallery-dl -l 'print-traffic' -d 'Display sent and read HTTP traffic'
complete -c gallery-dl -l 'no-colors' -d 'Do not emit ANSI color codes in output'
complete -c gallery-dl -x -s 'R' -l 'retries' -d 'Maximum number of retries for failed HTTP requests or -1 for infinite retries (default: 4)'
complete -c gallery-dl -x -s 'a' -l 'user-agent' -d 'User-Agent request header'
complete -c gallery-dl -x -l 'http-timeout' -d 'Timeout for HTTP connections (default: 30.0)'
complete -c gallery-dl -x -l 'proxy' -d 'Use the specified proxy'
complete -c gallery-dl -x -l 'xff' -d 'Use a fake "X-Forwarded-For" HTTP header to try bypassing geographic restrictions. Can be IP blocks in CIDR notation or two-letter ISO 3166-2 country codes (12.0.0.0/8,FR,CN)'
complete -c gallery-dl -x -l 'source-address' -d 'Client-side IP address to bind to'
complete -c gallery-dl -s '4' -l 'force-ipv4' -d 'Make all connections via IPv4'
complete -c gallery-dl -s '6' -l 'force-ipv6' -d 'Make all connections via IPv6'
complete -c gallery-dl -l 'no-check-certificate' -d 'Disable HTTPS certificate validation'
complete -c gallery-dl -x -s 'r' -l 'limit-rate' -d 'Maximum download rate (e.g. 500k, 2.5M, or 800k-2M)'
complete -c gallery-dl -x -l 'chunk-size' -d 'Size of in-memory data chunks (default: 32k)'
complete -c gallery-dl -l 'no-part' -d 'Do not use .part files'
complete -c gallery-dl -l 'no-skip' -d 'Do not skip downloads; overwrite existing files'
complete -c gallery-dl -l 'no-mtime' -d 'Do not set file modification times according to Last-Modified HTTP response headers'
complete -c gallery-dl -l 'no-download' -d 'Do not download any files'
complete -c gallery-dl -x -l 'sleep' -d 'Number of seconds to wait before each download. This can be either a constant value or a range (e.g. 2.7 or 2.0-3.5)'
complete -c gallery-dl -x -l 'sleep-skip' -d 'Number of seconds to wait after skipping a file download'
complete -c gallery-dl -x -l 'sleep-extractor' -d 'Number of seconds to wait before starting data extraction for an input URL'
complete -c gallery-dl -x -l 'sleep-request' -d 'Number of seconds to wait between HTTP requests during data extraction'
complete -c gallery-dl -x -l 'sleep-retries' -d 'Number of seconds to wait before retrying an HTTP request. Can be prefixed with "lin[:START[:MAX]]" or "exp[:BASE[:START[:MAX]]]" for linear or exponential growth between consecutive retries (e.g. "30", "exp=40", "lin:20=30-60"'
complete -c gallery-dl -x -l 'sleep-429' -d 'Number of seconds to wait when receiving a "429 Too Many Requests" response'
complete -c gallery-dl -x -s 'o' -l 'option' -d 'Additional options. Example: -o browser=firefox'
complete -c gallery-dl -r -F -s 'c' -l 'config' -d 'Additional configuration files in default format'
complete -c gallery-dl -r -F -l 'config-json' -d 'Additional configuration files in JSON format'
complete -c gallery-dl -r -F -l 'config-yaml' -d 'Additional configuration files in YAML format'
complete -c gallery-dl -r -F -l 'config-toml' -d 'Additional configuration files in TOML format'
complete -c gallery-dl -x -l 'config-type' -d 'Set filetype of default configuration files (json, yaml, toml)'
complete -c gallery-dl -l 'config-ignore' -d 'Do not load default configuration files'
complete -c gallery-dl -l 'ignore-config' -d '==SUPPRESS=='
complete -c gallery-dl -l 'config-create' -d 'Create a basic configuration file'
complete -c gallery-dl -l 'config-status' -d 'Show configuration file status'
complete -c gallery-dl -l 'config-open' -d 'Open configuration file in external application'
complete -c gallery-dl -x -a '(__fish_complete_directories)' -l 'cache-file' -d 'Use PATH as cache file'
complete -c gallery-dl -l 'cache-status' -d 'Show cache file information'
complete -c gallery-dl -x -l 'cache-show' -d 'Show cached values for MODULE (ALL to show all entries, EXP to show only expired entries, VAL to show only valid entries)'
complete -c gallery-dl -x -l 'cache-clear' -d 'Delete cached login sessions, cookies, etc. for MODULE (ALL to delete everything, EXP to delete only expired values)'
complete -c gallery-dl -l 'cache-vacuum' -d 'Clean up the cache database by removing unused space and reorganizing the data to improve performance'
complete -c gallery-dl -l 'clear-cache' -d '==SUPPRESS=='
complete -c gallery-dl -x -s 'u' -l 'username' -d 'Username to login with'
complete -c gallery-dl -x -s 'p' -l 'password' -d 'Password belonging to the given username'
complete -c gallery-dl -l 'netrc' -d 'Enable .netrc authentication data'
complete -c gallery-dl -r -F -s 'C' -l 'cookies' -d 'File to load additional cookies from'
complete -c gallery-dl -r -F -l 'cookies-export' -d 'Export session cookies to FILE'
complete -c gallery-dl -x -l 'cookies-from-browser' -d 'Name of the browser to load cookies from, with optional domain prefixed with "/", keyring name prefixed with "+", profile prefixed with ":", and container prefixed with "::" ("none" for no container (default), "all" for all containers)'
complete -c gallery-dl -x -s 'A' -l 'abort' -d 'Stop current extractor(s) after N consecutive file downloads were skipped. Specify a TARGET to set how many levels to ascend or to which subcategory to jump to. Examples: "-A 3", "-A 3:2", "-A 3:manga"'
complete -c gallery-dl -x -s 'T' -l 'terminate' -d 'Stop current & parent extractors and proceed with the next input URL after N consecutive file downloads were skipped'
complete -c gallery-dl -x -l 'filesize-min' -d 'Do not download files smaller than SIZE (e.g. 500k or 2.5M)'
complete -c gallery-dl -x -l 'filesize-max' -d 'Do not download files larger than SIZE (e.g. 500k or 2.5M)'
complete -c gallery-dl -r -F -l 'download-archive' -d 'Record successfully downloaded files in FILE and skip downloading any file already in it'
complete -c gallery-dl -x -l 'date-before' -d 'Process only posts created before this date given in ISO 8601 format or as Unix timestamp (e.g. "2025-10-31", "2026-01-09T15:30:00", "1767972600")'
complete -c gallery-dl -x -l 'date-after' -d 'Process only posts created after this date. Stop extraction when an older post is encountered'
complete -c gallery-dl -x -l 'blacklist' -d 'Ignore the given comma-separated category names or category:subcategory pairs when spawning child extractors for external URLs (e.g. "pixiv", "pixiv:user,*:artist")'
complete -c gallery-dl -x -l 'whitelist' -d 'Allow only the given comma-separated category names or category:subcategory pairs to allow when spawning child extractors for external URLs'
complete -c gallery-dl -x -l 'tags-blacklist' -d 'Ignore posts tagged with any of the tags given as comma-separated list or path to a file containing them. Danbooru blacklist rules are supported. Can be "/import" to use your account"s blacklist. (e.g. "1girl", "shirt,highres -blush,smile", "C:\path\to\list.txt")'
complete -c gallery-dl -x -l 'tags-whitelist' -d 'Allow only posts tagged with at least one of the tags given as comma-separated list or path to a file containing them'
complete -c gallery-dl -x -l 'range' -d 'Index range(s) specifying which files to download. These can be either a constant value, range, or slice (e.g. "5", "8-20", or "1:24:3")'
complete -c gallery-dl -x -l 'post-range' -d 'Like "--range", but for posts'
complete -c gallery-dl -x -l 'child-range' -d 'Like "--range", but for child extractors handling manga chapters, external URLs, etc.'
complete -c gallery-dl -x -l 'filter' -d 'Python expression controlling which files to download. Files for which the expression evaluates to False are ignored. Available keys are the filename-specific ones listed by "-K". Example: --filter "image_width >= 1000 and rating in ("s", "q")"'
complete -c gallery-dl -x -l 'post-filter' -d 'Like "--filter", but for posts'
complete -c gallery-dl -x -l 'child-filter' -d 'Like "--filter", but for child extractors handling manga chapters, external URLs, etc.'
complete -c gallery-dl -l 'file-range' -l 'image-range' -d '==SUPPRESS=='
complete -c gallery-dl -l 'chapter-range' -d '==SUPPRESS=='
complete -c gallery-dl -l 'file-filter' -l 'image-filter' -d '==SUPPRESS=='
complete -c gallery-dl -l 'chapter-filter' -d '==SUPPRESS=='
complete -c gallery-dl -x -s 'P' -l 'postprocessor' -d 'Activate the specified post processor'
complete -c gallery-dl -l 'no-postprocessors' -d 'Do not run any post processors'
complete -c gallery-dl -x -s 'O' -l 'postprocessor-option' -d 'Additional post processor options'
complete -c gallery-dl -l 'write-metadata' -d 'Write metadata to separate JSON files'
complete -c gallery-dl -l 'write-info-json' -d 'Write gallery metadata to a info.json file'
complete -c gallery-dl -l 'write-infojson' -d '==SUPPRESS=='
complete -c gallery-dl -l 'write-tags' -d 'Write image tags to separate text files'
complete -c gallery-dl -l 'zip' -d 'Store downloaded files in a ZIP archive'
complete -c gallery-dl -l 'cbz' -d 'Store downloaded files in a CBZ archive'
complete -c gallery-dl -x -l 'mtime' -d 'Set file modification times according to metadata selected by NAME. Examples: "date" or "status[date]"'
complete -c gallery-dl -l 'mtime-from-date' -d '==SUPPRESS=='
complete -c gallery-dl -x -l 'rename' -d 'Rename previously downloaded files from FORMAT to the current filename format'
complete -c gallery-dl -x -l 'rename-to' -d 'Rename previously downloaded files from the current filename format to FORMAT'
complete -c gallery-dl -x -l 'ugoira' -d 'Convert Pixiv Ugoira to FMT using FFmpeg. Supported formats are "webm", "mp4", "gif", "vp8", "vp9", "vp9-lossless", "copy", "zip".'
complete -c gallery-dl -l 'ugoira-conv' -d '==SUPPRESS=='
complete -c gallery-dl -l 'ugoira-conv-lossless' -d '==SUPPRESS=='
complete -c gallery-dl -l 'ugoira-conv-copy' -d '==SUPPRESS=='
complete -c gallery-dl -x -l 'exec' -d 'Execute CMD for each downloaded file. Supported replacement fields are {} or {_path}, {_temppath}, {_directory}, {_filename}. On Windows, use {_path_unc} or {_directory_unc} for UNC paths. Example: --exec "convert {} {}.png && rm {}"'
complete -c gallery-dl -x -l 'exec-after' -d 'Execute CMD after all files were downloaded. Example: --exec-after "cd {_directory} && convert * ../doc.pdf"'
