gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnurl] 93/411: docs: add categories to all cmdline opts


From: gnunet
Subject: [gnurl] 93/411: docs: add categories to all cmdline opts
Date: Wed, 13 Jan 2021 01:18:28 +0100

This is an automated email from the git hooks/post-receive script.

nikita pushed a commit to branch master
in repository gnurl.

commit 5dddc1dc7e39bd9b54fd219c1b2e318f1f6c49b2
Author: Emil Engler <me@emilengler.com>
AuthorDate: Mon Jul 13 14:15:04 2020 +0200

    docs: add categories to all cmdline opts
    
    Adapted gen.pl with 'listcats'
    
    This commit is a part of "--help me if you can"
    
    Closes #5680
---
 docs/cmdline-opts/abstract-unix-socket.d      |  1 +
 docs/cmdline-opts/alt-svc.d                   |  1 +
 docs/cmdline-opts/anyauth.d                   |  1 +
 docs/cmdline-opts/append.d                    |  1 +
 docs/cmdline-opts/basic.d                     |  1 +
 docs/cmdline-opts/cacert.d                    |  1 +
 docs/cmdline-opts/capath.d                    |  1 +
 docs/cmdline-opts/cert-status.d               |  1 +
 docs/cmdline-opts/cert-type.d                 |  1 +
 docs/cmdline-opts/cert.d                      |  1 +
 docs/cmdline-opts/ciphers.d                   |  1 +
 docs/cmdline-opts/compressed-ssh.d            |  1 +
 docs/cmdline-opts/compressed.d                |  1 +
 docs/cmdline-opts/config.d                    |  1 +
 docs/cmdline-opts/connect-timeout.d           |  1 +
 docs/cmdline-opts/connect-to.d                |  1 +
 docs/cmdline-opts/continue-at.d               |  1 +
 docs/cmdline-opts/cookie-jar.d                |  1 +
 docs/cmdline-opts/cookie.d                    |  1 +
 docs/cmdline-opts/create-dirs.d               |  1 +
 docs/cmdline-opts/crlf.d                      |  1 +
 docs/cmdline-opts/crlfile.d                   |  1 +
 docs/cmdline-opts/curves.d                    |  1 +
 docs/cmdline-opts/data-ascii.d                |  1 +
 docs/cmdline-opts/data-binary.d               |  1 +
 docs/cmdline-opts/data-raw.d                  |  1 +
 docs/cmdline-opts/data-urlencode.d            |  1 +
 docs/cmdline-opts/data.d                      |  1 +
 docs/cmdline-opts/delegation.d                |  1 +
 docs/cmdline-opts/digest.d                    |  1 +
 docs/cmdline-opts/disable-eprt.d              |  1 +
 docs/cmdline-opts/disable-epsv.d              |  1 +
 docs/cmdline-opts/disable.d                   |  1 +
 docs/cmdline-opts/disallow-username-in-url.d  |  1 +
 docs/cmdline-opts/dns-interface.d             |  1 +
 docs/cmdline-opts/dns-ipv4-addr.d             |  1 +
 docs/cmdline-opts/dns-ipv6-addr.d             |  1 +
 docs/cmdline-opts/dns-servers.d               |  1 +
 docs/cmdline-opts/doh-url.d                   |  1 +
 docs/cmdline-opts/dump-header.d               |  1 +
 docs/cmdline-opts/egd-file.d                  |  1 +
 docs/cmdline-opts/engine.d                    |  1 +
 docs/cmdline-opts/etag-compare.d              |  1 +
 docs/cmdline-opts/etag-save.d                 |  1 +
 docs/cmdline-opts/expect100-timeout.d         |  1 +
 docs/cmdline-opts/fail-early.d                |  1 +
 docs/cmdline-opts/fail.d                      |  1 +
 docs/cmdline-opts/false-start.d               |  1 +
 docs/cmdline-opts/form-string.d               |  1 +
 docs/cmdline-opts/form.d                      |  1 +
 docs/cmdline-opts/ftp-account.d               |  1 +
 docs/cmdline-opts/ftp-alternative-to-user.d   |  1 +
 docs/cmdline-opts/ftp-create-dirs.d           |  1 +
 docs/cmdline-opts/ftp-method.d                |  1 +
 docs/cmdline-opts/ftp-pasv.d                  |  1 +
 docs/cmdline-opts/ftp-port.d                  |  1 +
 docs/cmdline-opts/ftp-pret.d                  |  1 +
 docs/cmdline-opts/ftp-skip-pasv-ip.d          |  1 +
 docs/cmdline-opts/ftp-ssl-ccc-mode.d          |  1 +
 docs/cmdline-opts/ftp-ssl-ccc.d               |  1 +
 docs/cmdline-opts/ftp-ssl-control.d           |  1 +
 docs/cmdline-opts/gen.pl                      | 50 +++++++++++++++++++++++++--
 docs/cmdline-opts/get.d                       |  1 +
 docs/cmdline-opts/globoff.d                   |  1 +
 docs/cmdline-opts/happy-eyeballs-timeout-ms.d |  1 +
 docs/cmdline-opts/haproxy-protocol.d          |  1 +
 docs/cmdline-opts/head.d                      |  1 +
 docs/cmdline-opts/header.d                    |  1 +
 docs/cmdline-opts/help.d                      | 12 +++++--
 docs/cmdline-opts/hostpubmd5.d                |  1 +
 docs/cmdline-opts/http0.9.d                   |  1 +
 docs/cmdline-opts/http1.0.d                   |  1 +
 docs/cmdline-opts/http1.1.d                   |  1 +
 docs/cmdline-opts/http2-prior-knowledge.d     |  1 +
 docs/cmdline-opts/http2.d                     |  1 +
 docs/cmdline-opts/http3.d                     |  1 +
 docs/cmdline-opts/ignore-content-length.d     |  1 +
 docs/cmdline-opts/include.d                   |  1 +
 docs/cmdline-opts/insecure.d                  |  1 +
 docs/cmdline-opts/interface.d                 |  1 +
 docs/cmdline-opts/ipv4.d                      |  1 +
 docs/cmdline-opts/ipv6.d                      |  1 +
 docs/cmdline-opts/junk-session-cookies.d      |  1 +
 docs/cmdline-opts/keepalive-time.d            |  1 +
 docs/cmdline-opts/key-type.d                  |  1 +
 docs/cmdline-opts/key.d                       |  1 +
 docs/cmdline-opts/krb.d                       |  1 +
 docs/cmdline-opts/libcurl.d                   |  1 +
 docs/cmdline-opts/limit-rate.d                |  1 +
 docs/cmdline-opts/list-only.d                 |  1 +
 docs/cmdline-opts/local-port.d                |  1 +
 docs/cmdline-opts/location-trusted.d          |  1 +
 docs/cmdline-opts/location.d                  |  1 +
 docs/cmdline-opts/login-options.d             |  1 +
 docs/cmdline-opts/mail-auth.d                 |  1 +
 docs/cmdline-opts/mail-from.d                 |  1 +
 docs/cmdline-opts/mail-rcpt-allowfails.d      |  1 +
 docs/cmdline-opts/mail-rcpt.d                 |  1 +
 docs/cmdline-opts/manual.d                    |  1 +
 docs/cmdline-opts/max-filesize.d              |  1 +
 docs/cmdline-opts/max-redirs.d                |  1 +
 docs/cmdline-opts/max-time.d                  |  1 +
 docs/cmdline-opts/metalink.d                  |  1 +
 docs/cmdline-opts/negotiate.d                 |  1 +
 docs/cmdline-opts/netrc-file.d                |  1 +
 docs/cmdline-opts/netrc-optional.d            |  1 +
 docs/cmdline-opts/netrc.d                     |  1 +
 docs/cmdline-opts/next.d                      |  1 +
 docs/cmdline-opts/no-alpn.d                   |  1 +
 docs/cmdline-opts/no-buffer.d                 |  1 +
 docs/cmdline-opts/no-keepalive.d              |  1 +
 docs/cmdline-opts/no-npn.d                    |  1 +
 docs/cmdline-opts/no-progress-meter.d         |  1 +
 docs/cmdline-opts/no-sessionid.d              |  1 +
 docs/cmdline-opts/noproxy.d                   |  1 +
 docs/cmdline-opts/ntlm-wb.d                   |  1 +
 docs/cmdline-opts/ntlm.d                      |  1 +
 docs/cmdline-opts/oauth2-bearer.d             |  1 +
 docs/cmdline-opts/output-dir.d                |  1 +
 docs/cmdline-opts/output.d                    |  1 +
 docs/cmdline-opts/parallel-immediate.d        |  1 +
 docs/cmdline-opts/parallel-max.d              |  1 +
 docs/cmdline-opts/parallel.d                  |  1 +
 docs/cmdline-opts/pass.d                      |  1 +
 docs/cmdline-opts/path-as-is.d                |  1 +
 docs/cmdline-opts/pinnedpubkey.d              |  1 +
 docs/cmdline-opts/post301.d                   |  1 +
 docs/cmdline-opts/post302.d                   |  1 +
 docs/cmdline-opts/post303.d                   |  1 +
 docs/cmdline-opts/preproxy.d                  |  1 +
 docs/cmdline-opts/progress-bar.d              |  1 +
 docs/cmdline-opts/proto-default.d             |  1 +
 docs/cmdline-opts/proto-redir.d               |  1 +
 docs/cmdline-opts/proto.d                     |  1 +
 docs/cmdline-opts/proxy-anyauth.d             |  1 +
 docs/cmdline-opts/proxy-basic.d               |  1 +
 docs/cmdline-opts/proxy-cacert.d              |  1 +
 docs/cmdline-opts/proxy-capath.d              |  1 +
 docs/cmdline-opts/proxy-cert-type.d           |  1 +
 docs/cmdline-opts/proxy-cert.d                |  1 +
 docs/cmdline-opts/proxy-ciphers.d             |  1 +
 docs/cmdline-opts/proxy-crlfile.d             |  1 +
 docs/cmdline-opts/proxy-digest.d              |  1 +
 docs/cmdline-opts/proxy-header.d              |  1 +
 docs/cmdline-opts/proxy-insecure.d            |  1 +
 docs/cmdline-opts/proxy-key-type.d            |  1 +
 docs/cmdline-opts/proxy-key.d                 |  1 +
 docs/cmdline-opts/proxy-negotiate.d           |  1 +
 docs/cmdline-opts/proxy-ntlm.d                |  1 +
 docs/cmdline-opts/proxy-pass.d                |  1 +
 docs/cmdline-opts/proxy-pinnedpubkey.d        |  1 +
 docs/cmdline-opts/proxy-service-name.d        |  1 +
 docs/cmdline-opts/proxy-ssl-allow-beast.d     |  1 +
 docs/cmdline-opts/proxy-tls13-ciphers.d       |  1 +
 docs/cmdline-opts/proxy-tlsauthtype.d         |  1 +
 docs/cmdline-opts/proxy-tlspassword.d         |  1 +
 docs/cmdline-opts/proxy-tlsuser.d             |  1 +
 docs/cmdline-opts/proxy-tlsv1.d               |  1 +
 docs/cmdline-opts/proxy-user.d                |  1 +
 docs/cmdline-opts/proxy.d                     |  1 +
 docs/cmdline-opts/proxy1.0.d                  |  1 +
 docs/cmdline-opts/proxytunnel.d               |  1 +
 docs/cmdline-opts/pubkey.d                    |  1 +
 docs/cmdline-opts/quote.d                     |  1 +
 docs/cmdline-opts/random-file.d               |  1 +
 docs/cmdline-opts/range.d                     |  1 +
 docs/cmdline-opts/raw.d                       |  1 +
 docs/cmdline-opts/referer.d                   |  1 +
 docs/cmdline-opts/remote-header-name.d        |  1 +
 docs/cmdline-opts/remote-name-all.d           |  1 +
 docs/cmdline-opts/remote-name.d               |  1 +
 docs/cmdline-opts/remote-time.d               |  1 +
 docs/cmdline-opts/request-target.d            |  1 +
 docs/cmdline-opts/request.d                   |  1 +
 docs/cmdline-opts/resolve.d                   |  1 +
 docs/cmdline-opts/retry-all-errors.d          |  1 +
 docs/cmdline-opts/retry-connrefused.d         |  1 +
 docs/cmdline-opts/retry-delay.d               |  1 +
 docs/cmdline-opts/retry-max-time.d            |  1 +
 docs/cmdline-opts/retry.d                     |  1 +
 docs/cmdline-opts/sasl-authzid.d              |  1 +
 docs/cmdline-opts/sasl-ir.d                   |  1 +
 docs/cmdline-opts/service-name.d              |  1 +
 docs/cmdline-opts/show-error.d                |  1 +
 docs/cmdline-opts/silent.d                    |  1 +
 docs/cmdline-opts/socks4.d                    |  1 +
 docs/cmdline-opts/socks4a.d                   |  1 +
 docs/cmdline-opts/socks5-basic.d              |  1 +
 docs/cmdline-opts/socks5-gssapi-nec.d         |  1 +
 docs/cmdline-opts/socks5-gssapi-service.d     |  1 +
 docs/cmdline-opts/socks5-gssapi.d             |  1 +
 docs/cmdline-opts/socks5-hostname.d           |  1 +
 docs/cmdline-opts/socks5.d                    |  1 +
 docs/cmdline-opts/speed-limit.d               |  1 +
 docs/cmdline-opts/speed-time.d                |  1 +
 docs/cmdline-opts/ssl-allow-beast.d           |  1 +
 docs/cmdline-opts/ssl-no-revoke.d             |  1 +
 docs/cmdline-opts/ssl-reqd.d                  |  1 +
 docs/cmdline-opts/ssl-revoke-best-effort.d    |  1 +
 docs/cmdline-opts/ssl.d                       |  1 +
 docs/cmdline-opts/sslv2.d                     |  1 +
 docs/cmdline-opts/sslv3.d                     |  1 +
 docs/cmdline-opts/stderr.d                    |  1 +
 docs/cmdline-opts/styled-output.d             |  1 +
 docs/cmdline-opts/suppress-connect-headers.d  |  1 +
 docs/cmdline-opts/tcp-fastopen.d              |  1 +
 docs/cmdline-opts/tcp-nodelay.d               |  1 +
 docs/cmdline-opts/telnet-option.d             |  1 +
 docs/cmdline-opts/tftp-blksize.d              |  1 +
 docs/cmdline-opts/tftp-no-options.d           |  1 +
 docs/cmdline-opts/time-cond.d                 |  1 +
 docs/cmdline-opts/tls-max.d                   |  1 +
 docs/cmdline-opts/tls13-ciphers.d             |  1 +
 docs/cmdline-opts/tlsauthtype.d               |  1 +
 docs/cmdline-opts/tlspassword.d               |  1 +
 docs/cmdline-opts/tlsuser.d                   |  1 +
 docs/cmdline-opts/tlsv1.0.d                   |  1 +
 docs/cmdline-opts/tlsv1.1.d                   |  1 +
 docs/cmdline-opts/tlsv1.2.d                   |  1 +
 docs/cmdline-opts/tlsv1.3.d                   |  1 +
 docs/cmdline-opts/tlsv1.d                     |  1 +
 docs/cmdline-opts/tr-encoding.d               |  1 +
 docs/cmdline-opts/trace-ascii.d               |  1 +
 docs/cmdline-opts/trace-time.d                |  1 +
 docs/cmdline-opts/trace.d                     |  1 +
 docs/cmdline-opts/unix-socket.d               |  1 +
 docs/cmdline-opts/upload-file.d               |  1 +
 docs/cmdline-opts/url.d                       |  1 +
 docs/cmdline-opts/use-ascii.d                 |  1 +
 docs/cmdline-opts/user-agent.d                |  1 +
 docs/cmdline-opts/user.d                      |  1 +
 docs/cmdline-opts/verbose.d                   |  1 +
 docs/cmdline-opts/version.d                   |  1 +
 docs/cmdline-opts/write-out.d                 |  1 +
 docs/cmdline-opts/xattr.d                     |  1 +
 235 files changed, 289 insertions(+), 6 deletions(-)

diff --git a/docs/cmdline-opts/abstract-unix-socket.d 
b/docs/cmdline-opts/abstract-unix-socket.d
index 1fda4e5df..8403cab9d 100644
--- a/docs/cmdline-opts/abstract-unix-socket.d
+++ b/docs/cmdline-opts/abstract-unix-socket.d
@@ -3,6 +3,7 @@ Arg: <path>
 Help: Connect via abstract Unix domain socket
 Added: 7.53.0
 Protocols: HTTP
+Category: connection
 ---
 Connect through an abstract Unix domain socket, instead of using the network.
 Note: netstat shows the path of an abstract socket prefixed with '@', however
diff --git a/docs/cmdline-opts/alt-svc.d b/docs/cmdline-opts/alt-svc.d
index 15877a2fe..5598b59b4 100644
--- a/docs/cmdline-opts/alt-svc.d
+++ b/docs/cmdline-opts/alt-svc.d
@@ -3,6 +3,7 @@ Arg: <file name>
 Protocols: HTTPS
 Help: Enable alt-svc with this cache file
 Added: 7.64.1
+Category: http
 ---
 WARNING: this option is experimental. Do not use in production.
 
diff --git a/docs/cmdline-opts/anyauth.d b/docs/cmdline-opts/anyauth.d
index c32d1ed5e..bec0c0c86 100644
--- a/docs/cmdline-opts/anyauth.d
+++ b/docs/cmdline-opts/anyauth.d
@@ -2,6 +2,7 @@ Long: anyauth
 Help: Pick any authentication method
 Protocols: HTTP
 See-also: proxy-anyauth basic digest
+Category: http proxy auth
 ---
 Tells curl to figure out authentication method by itself, and use the most
 secure one the remote site claims to support. This is done by first doing a
diff --git a/docs/cmdline-opts/append.d b/docs/cmdline-opts/append.d
index f001b1239..8bdb2594d 100644
--- a/docs/cmdline-opts/append.d
+++ b/docs/cmdline-opts/append.d
@@ -2,6 +2,7 @@ Short: a
 Long: append
 Help: Append to target file when uploading
 Protocols: FTP SFTP
+Category: ftp sftp
 ---
 When used in an upload, this makes curl append to the target file instead of
 overwriting it. If the remote file doesn't exist, it will be created.  Note
diff --git a/docs/cmdline-opts/basic.d b/docs/cmdline-opts/basic.d
index 09d42af9d..e222c51c1 100644
--- a/docs/cmdline-opts/basic.d
+++ b/docs/cmdline-opts/basic.d
@@ -2,6 +2,7 @@ Long: basic
 Help: Use HTTP Basic Authentication
 See-also: proxy-basic
 Protocols: HTTP
+Category: auth
 ---
 Tells curl to use HTTP Basic authentication with the remote host. This is the
 default and this option is usually pointless, unless you use it to override a
diff --git a/docs/cmdline-opts/cacert.d b/docs/cmdline-opts/cacert.d
index 6a5678752..793d8c1ba 100644
--- a/docs/cmdline-opts/cacert.d
+++ b/docs/cmdline-opts/cacert.d
@@ -2,6 +2,7 @@ Long: cacert
 Arg: <file>
 Help: CA certificate to verify peer against
 Protocols: TLS
+Category: tls
 ---
 Tells curl to use the specified certificate file to verify the peer. The file
 may contain multiple CA certificates. The certificate(s) must be in PEM
diff --git a/docs/cmdline-opts/capath.d b/docs/cmdline-opts/capath.d
index 0763f7a0d..4ce077a14 100644
--- a/docs/cmdline-opts/capath.d
+++ b/docs/cmdline-opts/capath.d
@@ -2,6 +2,7 @@ Long: capath
 Arg: <dir>
 Help: CA directory to verify peer against
 Protocols: TLS
+Category: tls
 ---
 Tells curl to use the specified certificate directory to verify the
 peer. Multiple paths can be provided by separating them with ":" (e.g.
diff --git a/docs/cmdline-opts/cert-status.d b/docs/cmdline-opts/cert-status.d
index f1aaa2174..1342b092b 100644
--- a/docs/cmdline-opts/cert-status.d
+++ b/docs/cmdline-opts/cert-status.d
@@ -2,6 +2,7 @@ Long: cert-status
 Protocols: TLS
 Added: 7.41.0
 Help: Verify the status of the server certificate
+Category: tls
 ---
 Tells curl to verify the status of the server certificate by using the
 Certificate Status Request (aka. OCSP stapling) TLS extension.
diff --git a/docs/cmdline-opts/cert-type.d b/docs/cmdline-opts/cert-type.d
index 1232ec10d..b041bcb06 100644
--- a/docs/cmdline-opts/cert-type.d
+++ b/docs/cmdline-opts/cert-type.d
@@ -3,6 +3,7 @@ Protocols: TLS
 Arg: <type>
 Help: Certificate type (DER/PEM/ENG)
 See-also: cert key key-type
+Category: tls
 ---
 Tells curl what type the provided client certificate is using. PEM, DER, ENG
 and P12 are recognized types.  If not specified, PEM is assumed.
diff --git a/docs/cmdline-opts/cert.d b/docs/cmdline-opts/cert.d
index de6b42060..2938e571f 100644
--- a/docs/cmdline-opts/cert.d
+++ b/docs/cmdline-opts/cert.d
@@ -4,6 +4,7 @@ Arg: <certificate[:password]>
 Help: Client certificate file and password
 Protocols: TLS
 See-also: cert-type key key-type
+Category: tls
 ---
 Tells curl to use the specified client certificate file when getting a file
 with HTTPS, FTPS or another SSL-based protocol. The certificate must be in
diff --git a/docs/cmdline-opts/ciphers.d b/docs/cmdline-opts/ciphers.d
index 69e85525a..ed7438a00 100644
--- a/docs/cmdline-opts/ciphers.d
+++ b/docs/cmdline-opts/ciphers.d
@@ -2,6 +2,7 @@ Long: ciphers
 Arg: <list of ciphers>
 Help: SSL ciphers to use
 Protocols: TLS
+Category: tls
 ---
 Specifies which ciphers to use in the connection. The list of ciphers must
 specify valid ciphers. Read up on SSL cipher list details on this URL:
diff --git a/docs/cmdline-opts/compressed-ssh.d 
b/docs/cmdline-opts/compressed-ssh.d
index 583452ae4..849fe18b0 100644
--- a/docs/cmdline-opts/compressed-ssh.d
+++ b/docs/cmdline-opts/compressed-ssh.d
@@ -2,6 +2,7 @@ Long: compressed-ssh
 Help: Enable SSH compression
 Protocols: SCP SFTP
 Added: 7.56.0
+Category: scp ssh
 ---
 Enables built-in SSH compression.
 This is a request, not an order; the server may or may not do it.
diff --git a/docs/cmdline-opts/compressed.d b/docs/cmdline-opts/compressed.d
index 3aca92c32..26bc1514a 100644
--- a/docs/cmdline-opts/compressed.d
+++ b/docs/cmdline-opts/compressed.d
@@ -1,6 +1,7 @@
 Long: compressed
 Help: Request compressed response
 Protocols: HTTP
+Category: http
 ---
 Request a compressed response using one of the algorithms curl supports, and
 automatically decompress the content. Headers are not modified.
diff --git a/docs/cmdline-opts/config.d b/docs/cmdline-opts/config.d
index be46f7598..263467997 100644
--- a/docs/cmdline-opts/config.d
+++ b/docs/cmdline-opts/config.d
@@ -2,6 +2,7 @@ Long: config
 Arg: <file>
 Help: Read config from a file
 Short: K
+Category: curl
 ---
 
 Specify a text file to read curl arguments from. The command line arguments
diff --git a/docs/cmdline-opts/connect-timeout.d 
b/docs/cmdline-opts/connect-timeout.d
index 3a32d8685..fa3277221 100644
--- a/docs/cmdline-opts/connect-timeout.d
+++ b/docs/cmdline-opts/connect-timeout.d
@@ -2,6 +2,7 @@ Long: connect-timeout
 Arg: <seconds>
 Help: Maximum time allowed for connection
 See-also: max-time
+Category: connection
 ---
 Maximum time in seconds that you allow curl's connection to take.  This only
 limits the connection phase, so if curl connects within the given period it
diff --git a/docs/cmdline-opts/connect-to.d b/docs/cmdline-opts/connect-to.d
index 458bfe855..2f015f8ac 100644
--- a/docs/cmdline-opts/connect-to.d
+++ b/docs/cmdline-opts/connect-to.d
@@ -3,6 +3,7 @@ Arg: <HOST1:PORT1:HOST2:PORT2>
 Help: Connect to host
 Added: 7.49.0
 See-also: resolve header
+Category: connection
 ---
 
 For a request to the given HOST1:PORT1 pair, connect to HOST2:PORT2 instead.
diff --git a/docs/cmdline-opts/continue-at.d b/docs/cmdline-opts/continue-at.d
index 733f4941e..c44d2f496 100644
--- a/docs/cmdline-opts/continue-at.d
+++ b/docs/cmdline-opts/continue-at.d
@@ -3,6 +3,7 @@ Long: continue-at
 Arg: <offset>
 Help: Resumed transfer offset
 See-also: range
+Category: connection
 ---
 Continue/Resume a previous file transfer at the given offset. The given offset
 is the exact number of bytes that will be skipped, counting from the beginning
diff --git a/docs/cmdline-opts/cookie-jar.d b/docs/cmdline-opts/cookie-jar.d
index da79777eb..f11991f4e 100644
--- a/docs/cmdline-opts/cookie-jar.d
+++ b/docs/cmdline-opts/cookie-jar.d
@@ -3,6 +3,7 @@ Long: cookie-jar
 Arg: <filename>
 Protocols: HTTP
 Help: Write cookies to <filename> after operation
+Category: http
 ---
 Specify to which file you want curl to write all cookies after a completed
 operation. Curl writes all cookies from its in-memory cookie storage to the
diff --git a/docs/cmdline-opts/cookie.d b/docs/cmdline-opts/cookie.d
index 467e05663..5d2c9d783 100644
--- a/docs/cmdline-opts/cookie.d
+++ b/docs/cmdline-opts/cookie.d
@@ -3,6 +3,7 @@ Long: cookie
 Arg: <data|filename>
 Protocols: HTTP
 Help: Send cookies from string/file
+Category: http
 ---
 Pass the data to the HTTP server in the Cookie header. It is supposedly
 the data previously received from the server in a "Set-Cookie:" line.  The
diff --git a/docs/cmdline-opts/create-dirs.d b/docs/cmdline-opts/create-dirs.d
index b09d96ca7..48a8fd466 100644
--- a/docs/cmdline-opts/create-dirs.d
+++ b/docs/cmdline-opts/create-dirs.d
@@ -1,5 +1,6 @@
 Long: create-dirs
 Help: Create necessary local directory hierarchy
+Category: curl
 ---
 When used in conjunction with the --output option, curl will create the
 necessary local directory hierarchy as needed. This option creates the dirs
diff --git a/docs/cmdline-opts/crlf.d b/docs/cmdline-opts/crlf.d
index f6694b654..50c4bef81 100644
--- a/docs/cmdline-opts/crlf.d
+++ b/docs/cmdline-opts/crlf.d
@@ -1,6 +1,7 @@
 Long: crlf
 Help: Convert LF to CRLF in upload
 Protocols: FTP SMTP
+Category: ftp smtp
 ---
 Convert LF to CRLF in upload. Useful for MVS (OS/390).
 
diff --git a/docs/cmdline-opts/crlfile.d b/docs/cmdline-opts/crlfile.d
index 0fcc63c85..360e668d1 100644
--- a/docs/cmdline-opts/crlfile.d
+++ b/docs/cmdline-opts/crlfile.d
@@ -3,6 +3,7 @@ Arg: <file>
 Protocols: TLS
 Help: Get a CRL list in PEM format from the given file
 Added: 7.19.7
+Category: tls
 ---
 Provide a file using PEM format with a Certificate Revocation List that may
 specify peer certificates that are to be considered revoked.
diff --git a/docs/cmdline-opts/curves.d b/docs/cmdline-opts/curves.d
index 03264c05a..47870a278 100644
--- a/docs/cmdline-opts/curves.d
+++ b/docs/cmdline-opts/curves.d
@@ -3,6 +3,7 @@ Arg: <algorithm list>
 Help: (EC) TLS key exchange algorithm(s) to request
 Protocols: TLS
 Added: 7.73.0
+Category: tls
 ---
 Tells curl to request specific curves to use during SSL session establishment
 according to RFC 8422, 5.1.  Multiple algorithms can be provided by separating
diff --git a/docs/cmdline-opts/data-ascii.d b/docs/cmdline-opts/data-ascii.d
index bda4abc3d..3522f6345 100644
--- a/docs/cmdline-opts/data-ascii.d
+++ b/docs/cmdline-opts/data-ascii.d
@@ -2,5 +2,6 @@ Long: data-ascii
 Arg: <data>
 Help: HTTP POST ASCII data
 Protocols: HTTP
+Category: http post upload
 ---
 This is just an alias for --data.
diff --git a/docs/cmdline-opts/data-binary.d b/docs/cmdline-opts/data-binary.d
index 3f6ff2dbd..c40785ece 100644
--- a/docs/cmdline-opts/data-binary.d
+++ b/docs/cmdline-opts/data-binary.d
@@ -2,6 +2,7 @@ Long: data-binary
 Arg: <data>
 Help: HTTP POST binary data
 Protocols: HTTP
+Category: http post upload
 ---
 This posts data exactly as specified with no extra processing whatsoever.
 
diff --git a/docs/cmdline-opts/data-raw.d b/docs/cmdline-opts/data-raw.d
index 7669b4abf..4db83aefa 100644
--- a/docs/cmdline-opts/data-raw.d
+++ b/docs/cmdline-opts/data-raw.d
@@ -4,6 +4,7 @@ Protocols: HTTP
 Help: HTTP POST data, '@' allowed
 Added: 7.43.0
 See-also: data
+Category: http post upload
 ---
 This posts data similarly to --data but without the special
 interpretation of the @ character.
diff --git a/docs/cmdline-opts/data-urlencode.d 
b/docs/cmdline-opts/data-urlencode.d
index 9873f3356..2f2a3645b 100644
--- a/docs/cmdline-opts/data-urlencode.d
+++ b/docs/cmdline-opts/data-urlencode.d
@@ -4,6 +4,7 @@ Help: HTTP POST data url encoded
 Protocols: HTTP
 See-also: data data-raw
 Added: 7.18.0
+Category: http post upload
 ---
 This posts data, similar to the other --data options with the exception
 that this performs URL-encoding.
diff --git a/docs/cmdline-opts/data.d b/docs/cmdline-opts/data.d
index 280d38bc0..53ba86b36 100644
--- a/docs/cmdline-opts/data.d
+++ b/docs/cmdline-opts/data.d
@@ -5,6 +5,7 @@ Help: HTTP POST data
 Protocols: HTTP MQTT
 See-also: data-binary data-urlencode data-raw
 Mutexed: form head upload-file
+Category: important http post upload
 ---
 Sends the specified data in a POST request to the HTTP server, in the same way
 that a browser does when a user has filled in an HTML form and presses the
diff --git a/docs/cmdline-opts/delegation.d b/docs/cmdline-opts/delegation.d
index 138d82333..64b9f7500 100644
--- a/docs/cmdline-opts/delegation.d
+++ b/docs/cmdline-opts/delegation.d
@@ -2,6 +2,7 @@ Long: delegation
 Arg: <LEVEL>
 Help: GSS-API delegation permission
 Protocols: GSS/kerberos
+Category: misc
 ---
 Set LEVEL to tell the server what it is allowed to delegate when it
 comes to user credentials.
diff --git a/docs/cmdline-opts/digest.d b/docs/cmdline-opts/digest.d
index 5cdd9258a..da8c01e26 100644
--- a/docs/cmdline-opts/digest.d
+++ b/docs/cmdline-opts/digest.d
@@ -3,6 +3,7 @@ Help: Use HTTP Digest Authentication
 Protocols: HTTP
 Mutexed: basic ntlm negotiate
 See-also: user proxy-digest anyauth
+Category: proxy auth http
 ---
 Enables HTTP Digest authentication. This is an authentication scheme that
 prevents the password from being sent over the wire in clear text. Use this in
diff --git a/docs/cmdline-opts/disable-eprt.d b/docs/cmdline-opts/disable-eprt.d
index a1e53c0bd..ffcf684e4 100644
--- a/docs/cmdline-opts/disable-eprt.d
+++ b/docs/cmdline-opts/disable-eprt.d
@@ -1,6 +1,7 @@
 Long: disable-eprt
 Help: Inhibit using EPRT or LPRT
 Protocols: FTP
+Category: ftp
 ---
 Tell curl to disable the use of the EPRT and LPRT commands when doing active
 FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT
diff --git a/docs/cmdline-opts/disable-epsv.d b/docs/cmdline-opts/disable-epsv.d
index 6d2cb7089..df1de8304 100644
--- a/docs/cmdline-opts/disable-epsv.d
+++ b/docs/cmdline-opts/disable-epsv.d
@@ -1,6 +1,7 @@
 Long: disable-epsv
 Help: Inhibit using EPSV
 Protocols: FTP
+Category: ftp
 ---
 (FTP) Tell curl to disable the use of the EPSV command when doing passive FTP
 transfers. Curl will normally always first attempt to use EPSV before PASV,
diff --git a/docs/cmdline-opts/disable.d b/docs/cmdline-opts/disable.d
index 20b27b4c5..688fc0c54 100644
--- a/docs/cmdline-opts/disable.d
+++ b/docs/cmdline-opts/disable.d
@@ -1,6 +1,7 @@
 Long: disable
 Short: q
 Help: Disable .curlrc
+Category: curl
 ---
 If used as the first parameter on the command line, the \fIcurlrc\fP config
 file will not be read and used. See the --config for details on the default
diff --git a/docs/cmdline-opts/disallow-username-in-url.d 
b/docs/cmdline-opts/disallow-username-in-url.d
index a7f46ea15..e124f675a 100644
--- a/docs/cmdline-opts/disallow-username-in-url.d
+++ b/docs/cmdline-opts/disallow-username-in-url.d
@@ -3,5 +3,6 @@ Help: Disallow username in url
 Protocols: HTTP
 Added: 7.61.0
 See-also: proto
+Category: curl http
 ---
 This tells curl to exit if passed a url containing a username.
diff --git a/docs/cmdline-opts/dns-interface.d 
b/docs/cmdline-opts/dns-interface.d
index 45e5af263..3cb818ae3 100644
--- a/docs/cmdline-opts/dns-interface.d
+++ b/docs/cmdline-opts/dns-interface.d
@@ -5,6 +5,7 @@ Protocols: DNS
 See-also: dns-ipv4-addr dns-ipv6-addr
 Added: 7.33.0
 Requires: c-ares
+Category: dns
 ---
 Tell curl to send outgoing DNS requests through <interface>. This option is a
 counterpart to --interface (which does not affect DNS). The supplied string
diff --git a/docs/cmdline-opts/dns-ipv4-addr.d 
b/docs/cmdline-opts/dns-ipv4-addr.d
index 597b85884..5ebdda5ca 100644
--- a/docs/cmdline-opts/dns-ipv4-addr.d
+++ b/docs/cmdline-opts/dns-ipv4-addr.d
@@ -5,6 +5,7 @@ Protocols: DNS
 See-also: dns-interface dns-ipv6-addr
 Added: 7.33.0
 Requires: c-ares
+Category: dns
 ---
 Tell curl to bind to <ip-address> when making IPv4 DNS requests, so that
 the DNS requests originate from this address. The argument should be a
diff --git a/docs/cmdline-opts/dns-ipv6-addr.d 
b/docs/cmdline-opts/dns-ipv6-addr.d
index 581f01953..10e807646 100644
--- a/docs/cmdline-opts/dns-ipv6-addr.d
+++ b/docs/cmdline-opts/dns-ipv6-addr.d
@@ -5,6 +5,7 @@ Protocols: DNS
 See-also: dns-interface dns-ipv4-addr
 Added: 7.33.0
 Requires: c-ares
+Category: dns
 ---
 Tell curl to bind to <ip-address> when making IPv6 DNS requests, so that
 the DNS requests originate from this address. The argument should be a
diff --git a/docs/cmdline-opts/dns-servers.d b/docs/cmdline-opts/dns-servers.d
index a98fd07d8..8665426a8 100644
--- a/docs/cmdline-opts/dns-servers.d
+++ b/docs/cmdline-opts/dns-servers.d
@@ -3,6 +3,7 @@ Arg: <addresses>
 Help: DNS server addrs to use
 Requires: c-ares
 Added: 7.33.0
+Category: dns
 ---
 Set the list of DNS servers to be used instead of the system default.
 The list of IP addresses should be separated with commas. Port numbers
diff --git a/docs/cmdline-opts/doh-url.d b/docs/cmdline-opts/doh-url.d
index c871c4d22..7fce4460d 100644
--- a/docs/cmdline-opts/doh-url.d
+++ b/docs/cmdline-opts/doh-url.d
@@ -3,6 +3,7 @@ Arg: <URL>
 Help: Resolve host names over DOH
 Protocols: all
 Added: 7.62.0
+Category: dns
 ---
 Specifies which DNS-over-HTTPS (DOH) server to use to resolve hostnames,
 instead of using the default name resolver mechanism. The URL must be HTTPS.
diff --git a/docs/cmdline-opts/dump-header.d b/docs/cmdline-opts/dump-header.d
index 33c6674e8..8449dfe85 100644
--- a/docs/cmdline-opts/dump-header.d
+++ b/docs/cmdline-opts/dump-header.d
@@ -4,6 +4,7 @@ Arg: <filename>
 Help: Write the received headers to <filename>
 Protocols: HTTP FTP
 See-also: output
+Category: http ftp
 ---
 Write the received protocol headers to the specified file.
 
diff --git a/docs/cmdline-opts/egd-file.d b/docs/cmdline-opts/egd-file.d
index c22790f6a..05ede9ad1 100644
--- a/docs/cmdline-opts/egd-file.d
+++ b/docs/cmdline-opts/egd-file.d
@@ -3,6 +3,7 @@ Arg: <file>
 Help: EGD socket path for random data
 Protocols: TLS
 See-also: random-file
+Category: tls
 ---
 Specify the path name to the Entropy Gathering Daemon socket. The socket is
 used to seed the random engine for SSL connections.
diff --git a/docs/cmdline-opts/engine.d b/docs/cmdline-opts/engine.d
index cde1a4773..9ed0cf1b0 100644
--- a/docs/cmdline-opts/engine.d
+++ b/docs/cmdline-opts/engine.d
@@ -2,6 +2,7 @@ Long: engine
 Arg: <name>
 Help: Crypto engine to use
 Protocols: TLS
+Category: tls
 ---
 Select the OpenSSL crypto engine to use for cipher operations. Use --engine
 list to print a list of build-time supported engines. Note that not all (or
diff --git a/docs/cmdline-opts/etag-compare.d b/docs/cmdline-opts/etag-compare.d
index 1a698a8ff..cbf48ac5e 100644
--- a/docs/cmdline-opts/etag-compare.d
+++ b/docs/cmdline-opts/etag-compare.d
@@ -3,6 +3,7 @@ Arg: <file>
 Help: Pass an ETag from a file as a custom header
 Protocols: HTTP
 Added: 7.68.0
+Category: http
 ---
 This option makes a conditional HTTP request for the specific
 ETag read from the given file by sending a custom If-None-Match
diff --git a/docs/cmdline-opts/etag-save.d b/docs/cmdline-opts/etag-save.d
index 214723ff5..82e6dfa84 100644
--- a/docs/cmdline-opts/etag-save.d
+++ b/docs/cmdline-opts/etag-save.d
@@ -3,6 +3,7 @@ Arg: <file>
 Help: Parse ETag from a request and save it to a file
 Protocols: HTTP
 Added: 7.68.0
+Category: http
 ---
 This option saves an HTTP ETag to the specified file. Etag is
 usually part of headers returned by a request. When server sends an
diff --git a/docs/cmdline-opts/expect100-timeout.d 
b/docs/cmdline-opts/expect100-timeout.d
index c88f0b84f..431a529c2 100644
--- a/docs/cmdline-opts/expect100-timeout.d
+++ b/docs/cmdline-opts/expect100-timeout.d
@@ -4,6 +4,7 @@ Help: How long to wait for 100-continue
 Protocols: HTTP
 Added: 7.47.0
 See-also: connect-timeout
+Category: http
 ---
 Maximum time in seconds that you allow curl to wait for a 100-continue
 response when curl emits an Expects: 100-continue header in its request. By
diff --git a/docs/cmdline-opts/fail-early.d b/docs/cmdline-opts/fail-early.d
index 375d4c919..3fbe238af 100644
--- a/docs/cmdline-opts/fail-early.d
+++ b/docs/cmdline-opts/fail-early.d
@@ -1,6 +1,7 @@
 Long: fail-early
 Help: Fail on first transfer error, do not continue
 Added: 7.52.0
+Category: curl
 ---
 Fail and exit on the first detected transfer error.
 
diff --git a/docs/cmdline-opts/fail.d b/docs/cmdline-opts/fail.d
index c46c571bf..7fc76fb6a 100644
--- a/docs/cmdline-opts/fail.d
+++ b/docs/cmdline-opts/fail.d
@@ -2,6 +2,7 @@ Long: fail
 Short: f
 Protocols: HTTP
 Help: Fail silently (no output at all) on HTTP errors
+Category: important http
 ---
 Fail silently (no output at all) on server errors. This is mostly done to
 better enable scripts etc to better deal with failed attempts. In normal cases
diff --git a/docs/cmdline-opts/false-start.d b/docs/cmdline-opts/false-start.d
index 65a8afb8f..abeff0eb5 100644
--- a/docs/cmdline-opts/false-start.d
+++ b/docs/cmdline-opts/false-start.d
@@ -2,6 +2,7 @@ Long: false-start
 Help: Enable TLS False Start
 Protocols: TLS
 Added: 7.42.0
+Category: tls
 ---
 Tells curl to use false start during the TLS handshake. False start is a mode
 where a TLS client will start sending application data before verifying the
diff --git a/docs/cmdline-opts/form-string.d b/docs/cmdline-opts/form-string.d
index 49d0d44ef..04d2578c5 100644
--- a/docs/cmdline-opts/form-string.d
+++ b/docs/cmdline-opts/form-string.d
@@ -3,6 +3,7 @@ Help: Specify multipart MIME data
 Protocols: HTTP SMTP IMAP
 Arg: <name=string>
 See-also: form
+Category: http upload
 ---
 Similar to --form except that the value string for the named parameter is used
 literally. Leading \&'@' and \&'<' characters, and the \&';type=' string in
diff --git a/docs/cmdline-opts/form.d b/docs/cmdline-opts/form.d
index 7f1aa31c3..3cd8dce75 100644
--- a/docs/cmdline-opts/form.d
+++ b/docs/cmdline-opts/form.d
@@ -4,6 +4,7 @@ Arg: <name=content>
 Help: Specify multipart MIME data
 Protocols: HTTP SMTP IMAP
 Mutexed: data head upload-file
+Category: http upload
 ---
 For HTTP protocol family, this lets curl emulate a filled-in form in which a
 user has pressed the submit button. This causes curl to POST data using the
diff --git a/docs/cmdline-opts/ftp-account.d b/docs/cmdline-opts/ftp-account.d
index 013c4f37b..bc04ba047 100644
--- a/docs/cmdline-opts/ftp-account.d
+++ b/docs/cmdline-opts/ftp-account.d
@@ -3,6 +3,7 @@ Arg: <data>
 Help: Account data string
 Protocols: FTP
 Added: 7.13.0
+Category: ftp auth
 ---
 When an FTP server asks for "account data" after user name and password has
 been provided, this data is sent off using the ACCT command.
diff --git a/docs/cmdline-opts/ftp-alternative-to-user.d 
b/docs/cmdline-opts/ftp-alternative-to-user.d
index 8982ba8b8..171484906 100644
--- a/docs/cmdline-opts/ftp-alternative-to-user.d
+++ b/docs/cmdline-opts/ftp-alternative-to-user.d
@@ -3,6 +3,7 @@ Arg: <command>
 Help: String to replace USER [name]
 Protocols: FTP
 Added: 7.15.5
+Category: ftp
 ---
 If authenticating with the USER and PASS commands fails, send this command.
 When connecting to Tumbleweed's Secure Transport server over FTPS using a
diff --git a/docs/cmdline-opts/ftp-create-dirs.d 
b/docs/cmdline-opts/ftp-create-dirs.d
index ede57100d..5d9dfda46 100644
--- a/docs/cmdline-opts/ftp-create-dirs.d
+++ b/docs/cmdline-opts/ftp-create-dirs.d
@@ -2,6 +2,7 @@ Long: ftp-create-dirs
 Protocols: FTP SFTP
 Help: Create the remote dirs if not present
 See-also: create-dirs
+Category: ftp sftp curl
 ---
 When an FTP or SFTP URL/operation uses a path that doesn't currently exist on
 the server, the standard behavior of curl is to fail. Using this option, curl
diff --git a/docs/cmdline-opts/ftp-method.d b/docs/cmdline-opts/ftp-method.d
index 95aa522e8..149340b82 100644
--- a/docs/cmdline-opts/ftp-method.d
+++ b/docs/cmdline-opts/ftp-method.d
@@ -3,6 +3,7 @@ Arg: <method>
 Help: Control CWD usage
 Protocols: FTP
 Added: 7.15.1
+Category: ftp
 ---
 Control what method curl should use to reach a file on an FTP(S)
 server. The method argument should be one of the following alternatives:
diff --git a/docs/cmdline-opts/ftp-pasv.d b/docs/cmdline-opts/ftp-pasv.d
index 44103e21a..cbd548de3 100644
--- a/docs/cmdline-opts/ftp-pasv.d
+++ b/docs/cmdline-opts/ftp-pasv.d
@@ -3,6 +3,7 @@ Help: Use PASV/EPSV instead of PORT
 Protocols: FTP
 Added: 7.11.0
 See-also: disable-epsv
+Category: ftp
 ---
 Use passive mode for the data connection. Passive is the internal default
 behavior, but using this option can be used to override a previous --ftp-port
diff --git a/docs/cmdline-opts/ftp-port.d b/docs/cmdline-opts/ftp-port.d
index e4b145608..9bb1d43f0 100644
--- a/docs/cmdline-opts/ftp-port.d
+++ b/docs/cmdline-opts/ftp-port.d
@@ -4,6 +4,7 @@ Help: Use PORT instead of PASV
 Short: P
 Protocols: FTP
 See-also: ftp-pasv disable-eprt
+Category: ftp
 ---
 Reverses the default initiator/listener roles when connecting with FTP. This
 option makes curl use active mode. curl then tells the server to connect back
diff --git a/docs/cmdline-opts/ftp-pret.d b/docs/cmdline-opts/ftp-pret.d
index dac4c3531..e9c7d251a 100644
--- a/docs/cmdline-opts/ftp-pret.d
+++ b/docs/cmdline-opts/ftp-pret.d
@@ -2,6 +2,7 @@ Long: ftp-pret
 Help: Send PRET before PASV
 Protocols: FTP
 Added: 7.20.0
+Category: ftp
 ---
 Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers,
 mainly drftpd, require this non-standard command for directory listings as
diff --git a/docs/cmdline-opts/ftp-skip-pasv-ip.d 
b/docs/cmdline-opts/ftp-skip-pasv-ip.d
index da6ab11fc..d6fd4589b 100644
--- a/docs/cmdline-opts/ftp-skip-pasv-ip.d
+++ b/docs/cmdline-opts/ftp-skip-pasv-ip.d
@@ -3,6 +3,7 @@ Help: Skip the IP address for PASV
 Protocols: FTP
 Added: 7.14.2
 See-also: ftp-pasv
+Category: ftp
 ---
 Tell curl to not use the IP address the server suggests in its response
 to curl's PASV command when curl connects the data connection. Instead curl
diff --git a/docs/cmdline-opts/ftp-ssl-ccc-mode.d 
b/docs/cmdline-opts/ftp-ssl-ccc-mode.d
index be1029498..6289e544a 100644
--- a/docs/cmdline-opts/ftp-ssl-ccc-mode.d
+++ b/docs/cmdline-opts/ftp-ssl-ccc-mode.d
@@ -4,6 +4,7 @@ Help: Set CCC mode
 Protocols: FTP
 Added: 7.16.2
 See-also: ftp-ssl-ccc
+Category: ftp tls
 ---
 Sets the CCC mode. The passive mode will not initiate the shutdown, but
 instead wait for the server to do it, and will not reply to the shutdown from
diff --git a/docs/cmdline-opts/ftp-ssl-ccc.d b/docs/cmdline-opts/ftp-ssl-ccc.d
index c6edc5b39..33cab4302 100644
--- a/docs/cmdline-opts/ftp-ssl-ccc.d
+++ b/docs/cmdline-opts/ftp-ssl-ccc.d
@@ -3,6 +3,7 @@ Help: Send CCC after authenticating
 Protocols: FTP
 See-also: ssl ftp-ssl-ccc-mode
 Added: 7.16.1
+Category: ftp tls
 ---
 Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after
 authenticating. The rest of the control channel communication will be
diff --git a/docs/cmdline-opts/ftp-ssl-control.d 
b/docs/cmdline-opts/ftp-ssl-control.d
index 87a822531..5191353dd 100644
--- a/docs/cmdline-opts/ftp-ssl-control.d
+++ b/docs/cmdline-opts/ftp-ssl-control.d
@@ -2,6 +2,7 @@ Long: ftp-ssl-control
 Help: Require SSL/TLS for FTP login, clear for transfer
 Protocols: FTP
 Added: 7.16.0
+Category: ftp tls
 ---
 Require SSL/TLS for the FTP login, clear for transfer.  Allows secure
 authentication, but non-encrypted data transfers for efficiency.  Fails the
diff --git a/docs/cmdline-opts/gen.pl b/docs/cmdline-opts/gen.pl
index 0c434dac9..3fec1646d 100755
--- a/docs/cmdline-opts/gen.pl
+++ b/docs/cmdline-opts/gen.pl
@@ -43,6 +43,7 @@ my %helplong;
 my %arglong;
 my %redirlong;
 my %protolong;
+my %catlong;
 
 # get the long name version, return the man page string
 sub manpageify {
@@ -126,6 +127,7 @@ sub single {
     my $arg;
     my $mutexed;
     my $requires;
+    my $category;
     my $seealso;
     my $magic; # cmdline special option
     while(<F>) {
@@ -159,6 +161,9 @@ sub single {
         elsif(/^Requires: *(.*)/i) {
             $requires=$1;
         }
+        elsif(/^Category: *(.*)/i) {
+            $category=$1;
+        }
         elsif(/^Help: *(.*)/i) {
             ;
         }
@@ -166,6 +171,9 @@ sub single {
             if(!$long) {
                 print STDERR "WARN: no 'Long:' in $f\n";
             }
+            if(!$category) {
+                print STDERR "WARN: no 'Category:' in $f\n";
+            }
             last;
         }
         else {
@@ -274,6 +282,7 @@ sub getshortlong {
     my $help;
     my $arg;
     my $protocols;
+    my $category;
     while(<F>) {
         if(/^Short: (.)/i) {
             $short=$1;
@@ -290,6 +299,9 @@ sub getshortlong {
         elsif(/^Protocols: (.*)/i) {
             $protocols=$1;
         }
+        elsif(/^Category: (.*)/i) {
+            $category=$1;
+        }
         elsif(/^---/) {
             last;
         }
@@ -303,6 +315,7 @@ sub getshortlong {
         $helplong{$long}=$help;
         $arglong{$long}=$arg;
         $protolong{$long}=$protocols;
+        $catlong{$long}=$category;
     }
 }
 
@@ -328,6 +341,8 @@ sub listhelp {
     foreach my $f (sort keys %helplong) {
         my $long = $f;
         my $short = $optlong{$long};
+        my @categories = split ' ', $catlong{$long};
+        my $bitmask;
         my $opt;
 
         if(defined($short) && $long) {
@@ -336,7 +351,13 @@ sub listhelp {
         elsif($long && !$short) {
             $opt = "    --$long";
         }
-
+        for my $i (0 .. $#categories) {
+            $bitmask .= 'CURLHELP_' . uc $categories[$i];
+            # If not last element, append |
+            if($i < $#categories) {
+                $bitmask .= ' | ';
+            }
+        }
         my $arg = $arglong{$long};
         if($arg) {
             $opt .= " $arg";
@@ -344,7 +365,7 @@ sub listhelp {
         my $desc = $helplong{$f};
         $desc =~ s/\"/\\\"/g; # escape double quotes
 
-        my $line = sprintf "  {\"%s\",\n   \"%s\"},\n", $opt, $desc;
+        my $line = sprintf "  {\"%s\",\n   \"%s\",\n   %s},\n", $opt, $desc, 
$bitmask;
 
         if(length($opt) + length($desc) > 78) {
             print STDERR "WARN: the --$long line is too long\n";
@@ -353,6 +374,25 @@ sub listhelp {
     }
 }
 
+sub listcats {
+    my %allcats;
+    foreach my $f (sort keys %helplong) {
+        my @categories = split ' ', $catlong{$f};
+        foreach (@categories) {
+            $allcats{$_} = undef;
+        }
+    }
+    my @categories;
+    foreach my $key (keys %allcats) {
+        push @categories, $key;
+    }
+    @categories = sort @categories;
+    unshift @categories, 'hidden';
+    for my $i (0..$#categories) {
+        print '#define ' . 'CURLHELP_' . uc($categories[$i]) . ' ' . "1u << " 
. $i . "u\n";
+    }
+}
+
 sub mainpage {
     my (@files) = @_;
     # show the page header
@@ -406,8 +446,12 @@ sub getargs {
         showprotocols();
         return;
     }
+    elsif($f eq "listcats") {
+        listcats();
+        return;
+    }
 
-    print "Usage: gen.pl <mainpage/listhelp/single FILE/protos> [files]\n";
+    print "Usage: gen.pl <mainpage/listhelp/single FILE/protos/listcats> 
[files]\n";
 }
 
 #------------------------------------------------------------------------
diff --git a/docs/cmdline-opts/get.d b/docs/cmdline-opts/get.d
index be7cb25f0..d529bb4e0 100644
--- a/docs/cmdline-opts/get.d
+++ b/docs/cmdline-opts/get.d
@@ -1,6 +1,7 @@
 Long: get
 Short: G
 Help: Put the post data in the URL and use GET
+Category: http upload
 ---
 When used, this option will make all data specified with --data, --data-binary
 or --data-urlencode to be used in an HTTP GET request instead of the POST
diff --git a/docs/cmdline-opts/globoff.d b/docs/cmdline-opts/globoff.d
index fff6516b6..4b5f30de9 100644
--- a/docs/cmdline-opts/globoff.d
+++ b/docs/cmdline-opts/globoff.d
@@ -1,6 +1,7 @@
 Long: globoff
 Short: g
 Help: Disable URL sequences and ranges using {} and []
+Category: curl
 ---
 This option switches off the "URL globbing parser". When you set this option,
 you can specify URLs that contain the letters {}[] without having them being
diff --git a/docs/cmdline-opts/happy-eyeballs-timeout-ms.d 
b/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
index 611a8f1d8..ceff2a7df 100644
--- a/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
+++ b/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
@@ -2,6 +2,7 @@ Long: happy-eyeballs-timeout-ms
 Arg: <milliseconds>
 Help: Time for IPv6 before trying IPv4
 Added: 7.59.0
+Category: connection
 ---
 Happy eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6
 addresses for dual-stack hosts, preferring IPv6 first for the number of
diff --git a/docs/cmdline-opts/haproxy-protocol.d 
b/docs/cmdline-opts/haproxy-protocol.d
index cc41c9c44..835820465 100644
--- a/docs/cmdline-opts/haproxy-protocol.d
+++ b/docs/cmdline-opts/haproxy-protocol.d
@@ -2,6 +2,7 @@ Long: haproxy-protocol
 Help: Send HAProxy PROXY protocol v1 header
 Protocols: HTTP
 Added: 7.60.0
+Category: http proxy
 ---
 Send a HAProxy PROXY protocol v1 header at the beginning of the connection. 
This
 is used by some load balancers and reverse proxies to indicate the client's
diff --git a/docs/cmdline-opts/head.d b/docs/cmdline-opts/head.d
index 350a100f6..6fe468511 100644
--- a/docs/cmdline-opts/head.d
+++ b/docs/cmdline-opts/head.d
@@ -2,6 +2,7 @@ Long: head
 Short: I
 Help: Show document info only
 Protocols: HTTP FTP FILE
+Category: http ftp file
 ---
 Fetch the headers only! HTTP-servers feature the command HEAD which this uses
 to get nothing but the header of a document. When used on an FTP or FILE file,
diff --git a/docs/cmdline-opts/header.d b/docs/cmdline-opts/header.d
index d8292ed77..e84168996 100644
--- a/docs/cmdline-opts/header.d
+++ b/docs/cmdline-opts/header.d
@@ -3,6 +3,7 @@ Short: H
 Arg: <header/@file>
 Help: Pass custom header(s) to server
 Protocols: HTTP
+Category: http
 ---
 Extra header to include in the request when sending HTTP to a server. You may
 specify any number of extra headers. Note that if you should add a custom
diff --git a/docs/cmdline-opts/help.d b/docs/cmdline-opts/help.d
index 64aa696d4..bf80b7818 100644
--- a/docs/cmdline-opts/help.d
+++ b/docs/cmdline-opts/help.d
@@ -1,6 +1,12 @@
 Long: help
+Arg: <category>
 Short: h
-Help: This help text
+Help: Get help for commands
+Category: important curl
 ---
-Usage help. This lists all current command line options with a short
-description.
+Usage help. This lists all commands of the <category>.
+If no arg was provided, curl will display the most important
+command line arguments and the list of categories.
+If the argument "all" was provided, curl will display all options available.
+If the argument "category" was provided, curl will display all categories and
+their meanings.
diff --git a/docs/cmdline-opts/hostpubmd5.d b/docs/cmdline-opts/hostpubmd5.d
index a85115803..c926ed8b5 100644
--- a/docs/cmdline-opts/hostpubmd5.d
+++ b/docs/cmdline-opts/hostpubmd5.d
@@ -3,6 +3,7 @@ Arg: <md5>
 Help: Acceptable MD5 hash of the host public key
 Protocols: SFTP SCP
 Added: 7.17.1
+Category: sftp scp
 ---
 Pass a string containing 32 hexadecimal digits. The string should
 be the 128 bit MD5 checksum of the remote host's public key, curl will refuse
diff --git a/docs/cmdline-opts/http0.9.d b/docs/cmdline-opts/http0.9.d
index 7e783f696..954c22a17 100644
--- a/docs/cmdline-opts/http0.9.d
+++ b/docs/cmdline-opts/http0.9.d
@@ -3,6 +3,7 @@ Tags: Versions
 Protocols: HTTP
 Added:
 Help: Allow HTTP 0.9 responses
+Category: http
 ---
 Tells curl to be fine with HTTP version 0.9 response.
 
diff --git a/docs/cmdline-opts/http1.0.d b/docs/cmdline-opts/http1.0.d
index d9bbd76f0..a4059dbf0 100644
--- a/docs/cmdline-opts/http1.0.d
+++ b/docs/cmdline-opts/http1.0.d
@@ -5,6 +5,7 @@ Protocols: HTTP
 Added:
 Mutexed: http1.1 http2
 Help: Use HTTP 1.0
+Category: http
 ---
 Tells curl to use HTTP version 1.0 instead of using its internally preferred
 HTTP version.
diff --git a/docs/cmdline-opts/http1.1.d b/docs/cmdline-opts/http1.1.d
index f1e6b5c3b..a71a40bab 100644
--- a/docs/cmdline-opts/http1.1.d
+++ b/docs/cmdline-opts/http1.1.d
@@ -4,5 +4,6 @@ Protocols: HTTP
 Added: 7.33.0
 Mutexed: http1.0 http2
 Help: Use HTTP 1.1
+Category: http
 ---
 Tells curl to use HTTP version 1.1.
diff --git a/docs/cmdline-opts/http2-prior-knowledge.d 
b/docs/cmdline-opts/http2-prior-knowledge.d
index f793f775d..ea2906edb 100644
--- a/docs/cmdline-opts/http2-prior-knowledge.d
+++ b/docs/cmdline-opts/http2-prior-knowledge.d
@@ -5,6 +5,7 @@ Added: 7.49.0
 Mutexed: http1.1 http1.0 http2
 Requires: HTTP/2
 Help: Use HTTP 2 without HTTP/1.1 Upgrade
+Category: http
 ---
 Tells curl to issue its non-TLS HTTP requests using HTTP/2 without HTTP/1.1
 Upgrade. It requires prior knowledge that the server supports HTTP/2 straight
diff --git a/docs/cmdline-opts/http2.d b/docs/cmdline-opts/http2.d
index cf8f2988e..197515ee8 100644
--- a/docs/cmdline-opts/http2.d
+++ b/docs/cmdline-opts/http2.d
@@ -7,5 +7,6 @@ Requires: HTTP/2
 See-also: no-alpn
 Help: Use HTTP 2
 See-also: http1.1 http3
+Category: http
 ---
 Tells curl to use HTTP version 2.
diff --git a/docs/cmdline-opts/http3.d b/docs/cmdline-opts/http3.d
index 8265937a3..478b662aa 100644
--- a/docs/cmdline-opts/http3.d
+++ b/docs/cmdline-opts/http3.d
@@ -6,6 +6,7 @@ Mutexed: http1.1 http1.0 http2 http2-prior-knowledge
 Requires: HTTP/3
 Help: Use HTTP v3
 See-also: http1.1 http2
+Category: http
 ---
 
 WARNING: this option is experimental. Do not use in production.
diff --git a/docs/cmdline-opts/ignore-content-length.d 
b/docs/cmdline-opts/ignore-content-length.d
index 53524f518..82ac5da09 100644
--- a/docs/cmdline-opts/ignore-content-length.d
+++ b/docs/cmdline-opts/ignore-content-length.d
@@ -1,6 +1,7 @@
 Long: ignore-content-length
 Help: Ignore the size of the remote resource
 Protocols: FTP HTTP
+Category: http ftp
 ---
 For HTTP, Ignore the Content-Length header. This is particularly useful for
 servers running Apache 1.x, which will report incorrect Content-Length for
diff --git a/docs/cmdline-opts/include.d b/docs/cmdline-opts/include.d
index 9d282dd16..250d4accf 100644
--- a/docs/cmdline-opts/include.d
+++ b/docs/cmdline-opts/include.d
@@ -2,6 +2,7 @@ Long: include
 Short: i
 Help: Include protocol response headers in the output
 See-also: verbose
+Category: important verbose
 ---
 Include the HTTP response headers in the output. The HTTP response headers can
 include things like server name, cookies, date of the document, HTTP version
diff --git a/docs/cmdline-opts/insecure.d b/docs/cmdline-opts/insecure.d
index 49b0a4322..35f4a2e0f 100644
--- a/docs/cmdline-opts/insecure.d
+++ b/docs/cmdline-opts/insecure.d
@@ -3,6 +3,7 @@ Short: k
 Help: Allow insecure server connections when using SSL
 Protocols: TLS
 See-also: proxy-insecure cacert
+Category: tls
 ---
 
 By default, every SSL connection curl makes is verified to be secure. This
diff --git a/docs/cmdline-opts/interface.d b/docs/cmdline-opts/interface.d
index 65827fb8b..196e7efa3 100644
--- a/docs/cmdline-opts/interface.d
+++ b/docs/cmdline-opts/interface.d
@@ -2,6 +2,7 @@ Long: interface
 Arg: <name>
 Help: Use network INTERFACE (or address)
 See-also: dns-interface
+Category: connection
 ---
 
 Perform an operation using a specified interface. You can enter interface
diff --git a/docs/cmdline-opts/ipv4.d b/docs/cmdline-opts/ipv4.d
index 9c40c8c3e..a6691376a 100644
--- a/docs/cmdline-opts/ipv4.d
+++ b/docs/cmdline-opts/ipv4.d
@@ -7,6 +7,7 @@ Mutexed: ipv6
 Requires:
 See-also: http1.1 http2
 Help: Resolve names to IPv4 addresses
+Category: connection dns
 ---
 This option tells curl to resolve names to IPv4 addresses only, and not for
 example try IPv6.
diff --git a/docs/cmdline-opts/ipv6.d b/docs/cmdline-opts/ipv6.d
index 6eef6dd03..ce0415caa 100644
--- a/docs/cmdline-opts/ipv6.d
+++ b/docs/cmdline-opts/ipv6.d
@@ -7,6 +7,7 @@ Mutexed: ipv4
 Requires:
 See-also: http1.1 http2
 Help: Resolve names to IPv6 addresses
+Category: connection dns
 ---
 This option tells curl to resolve names to IPv6 addresses only, and not for
 example try IPv4.
diff --git a/docs/cmdline-opts/junk-session-cookies.d 
b/docs/cmdline-opts/junk-session-cookies.d
index 40ccd9c2d..993b77fa8 100644
--- a/docs/cmdline-opts/junk-session-cookies.d
+++ b/docs/cmdline-opts/junk-session-cookies.d
@@ -3,6 +3,7 @@ Short: j
 Help: Ignore session cookies read from file
 Protocols: HTTP
 See-also: cookie cookie-jar
+Category: http
 ---
 When curl is told to read cookies from a given file, this option will make it
 discard all "session cookies". This will basically have the same effect as if
diff --git a/docs/cmdline-opts/keepalive-time.d 
b/docs/cmdline-opts/keepalive-time.d
index c816e13ff..41261535c 100644
--- a/docs/cmdline-opts/keepalive-time.d
+++ b/docs/cmdline-opts/keepalive-time.d
@@ -2,6 +2,7 @@ Long: keepalive-time
 Arg: <seconds>
 Help: Interval time for keepalive probes
 Added: 7.18.0
+Category: connection
 ---
 This option sets the time a connection needs to remain idle before sending
 keepalive probes and the time between individual keepalive probes. It is
diff --git a/docs/cmdline-opts/key-type.d b/docs/cmdline-opts/key-type.d
index bf39bcd35..50a068676 100644
--- a/docs/cmdline-opts/key-type.d
+++ b/docs/cmdline-opts/key-type.d
@@ -2,6 +2,7 @@ Long: key-type
 Arg: <type>
 Help: Private key file type (DER/PEM/ENG)
 Protocols: TLS
+Category: tls
 ---
 Private key file type. Specify which type your --key provided private key
 is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
diff --git a/docs/cmdline-opts/key.d b/docs/cmdline-opts/key.d
index 855e2f7b6..a762e6faf 100644
--- a/docs/cmdline-opts/key.d
+++ b/docs/cmdline-opts/key.d
@@ -2,6 +2,7 @@ Long: key
 Arg: <key>
 Protocols: TLS SSH
 Help: Private key file name
+Category: tls ssh
 ---
 Private key file name. Allows you to provide your private key in this separate
 file. For SSH, if not specified, curl tries the following candidates in order:
diff --git a/docs/cmdline-opts/krb.d b/docs/cmdline-opts/krb.d
index 19547af08..7759cfb04 100644
--- a/docs/cmdline-opts/krb.d
+++ b/docs/cmdline-opts/krb.d
@@ -3,6 +3,7 @@ Arg: <level>
 Help: Enable Kerberos with security <level>
 Protocols: FTP
 Requires: Kerberos
+Category: ftp
 ---
 Enable Kerberos authentication and use. The level must be entered and should
 be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a
diff --git a/docs/cmdline-opts/libcurl.d b/docs/cmdline-opts/libcurl.d
index ef132fe74..eb9850c68 100644
--- a/docs/cmdline-opts/libcurl.d
+++ b/docs/cmdline-opts/libcurl.d
@@ -2,6 +2,7 @@ Long: libcurl
 Arg: <file>
 Help: Dump libcurl equivalent code of this command line
 Added: 7.16.1
+Category: curl
 ---
 Append this option to any ordinary curl command line, and you will get a
 libcurl-using C source code written to the file that does the equivalent
diff --git a/docs/cmdline-opts/limit-rate.d b/docs/cmdline-opts/limit-rate.d
index 06c456e3e..cb3a86077 100644
--- a/docs/cmdline-opts/limit-rate.d
+++ b/docs/cmdline-opts/limit-rate.d
@@ -1,6 +1,7 @@
 Long: limit-rate
 Arg: <speed>
 Help: Limit transfer speed to RATE
+Category: connection
 ---
 Specify the maximum transfer rate you want curl to use - for both downloads
 and uploads. This feature is useful if you have a limited pipe and you'd like
diff --git a/docs/cmdline-opts/list-only.d b/docs/cmdline-opts/list-only.d
index 63b2851f4..c69885801 100644
--- a/docs/cmdline-opts/list-only.d
+++ b/docs/cmdline-opts/list-only.d
@@ -3,6 +3,7 @@ Short: l
 Protocols: FTP POP3
 Help: List only mode
 Added: 4.0
+Category: ftp pop3
 ---
 (FTP)
 When listing an FTP directory, this switch forces a name-only view. This is
diff --git a/docs/cmdline-opts/local-port.d b/docs/cmdline-opts/local-port.d
index d96b46eb8..3f7a0e024 100644
--- a/docs/cmdline-opts/local-port.d
+++ b/docs/cmdline-opts/local-port.d
@@ -2,6 +2,7 @@ Long: local-port
 Arg: <num/range>
 Help: Force use of RANGE for local port numbers
 Added: 7.15.2
+Category: connection
 ---
 Set a preferred single number or range (FROM-TO) of local port numbers to use
 for the connection(s).  Note that port numbers by nature are a scarce resource
diff --git a/docs/cmdline-opts/location-trusted.d 
b/docs/cmdline-opts/location-trusted.d
index 995a8718a..f01d842bc 100644
--- a/docs/cmdline-opts/location-trusted.d
+++ b/docs/cmdline-opts/location-trusted.d
@@ -2,6 +2,7 @@ Long: location-trusted
 Help: Like --location, and send auth to other hosts
 Protocols: HTTP
 See-also: user
+Category: http auth
 ---
 Like --location, but will allow sending the name + password to all hosts that
 the site may redirect to. This may or may not introduce a security breach if
diff --git a/docs/cmdline-opts/location.d b/docs/cmdline-opts/location.d
index b5ba1f4fa..c70b2eba8 100644
--- a/docs/cmdline-opts/location.d
+++ b/docs/cmdline-opts/location.d
@@ -2,6 +2,7 @@ Long: location
 Short: L
 Help: Follow redirects
 Protocols: HTTP
+Category: http
 ---
 If the server reports that the requested page has moved to a different
 location (indicated with a Location: header and a 3XX response code), this
diff --git a/docs/cmdline-opts/login-options.d 
b/docs/cmdline-opts/login-options.d
index 8bad0511d..887d5d517 100644
--- a/docs/cmdline-opts/login-options.d
+++ b/docs/cmdline-opts/login-options.d
@@ -3,6 +3,7 @@ Arg: <options>
 Protocols: IMAP POP3 SMTP
 Help: Server login options
 Added: 7.34.0
+Category: imap pop3 smtp auth
 ---
 Specify the login options to use during server authentication.
 
diff --git a/docs/cmdline-opts/mail-auth.d b/docs/cmdline-opts/mail-auth.d
index 70cf0eda4..529997161 100644
--- a/docs/cmdline-opts/mail-auth.d
+++ b/docs/cmdline-opts/mail-auth.d
@@ -4,6 +4,7 @@ Protocols: SMTP
 Help: Originator address of the original email
 Added: 7.25.0
 See-also: mail-rcpt mail-from
+Category: smtp
 ---
 Specify a single address. This will be used to specify the authentication
 address (identity) of a submitted message that is being relayed to another
diff --git a/docs/cmdline-opts/mail-from.d b/docs/cmdline-opts/mail-from.d
index 1d932344c..faf48e2a4 100644
--- a/docs/cmdline-opts/mail-from.d
+++ b/docs/cmdline-opts/mail-from.d
@@ -4,5 +4,6 @@ Help: Mail from this address
 Protocols: SMTP
 Added: 7.20.0
 See-also: mail-rcpt mail-auth
+Category: smtp
 ---
 Specify a single address that the given mail should get sent from.
diff --git a/docs/cmdline-opts/mail-rcpt-allowfails.d 
b/docs/cmdline-opts/mail-rcpt-allowfails.d
index b5723df34..76457c32e 100644
--- a/docs/cmdline-opts/mail-rcpt-allowfails.d
+++ b/docs/cmdline-opts/mail-rcpt-allowfails.d
@@ -2,6 +2,7 @@ Long: mail-rcpt-allowfails
 Help: Allow RCPT TO command to fail for some recipients
 Protocols: SMTP
 Added: 7.69.0
+Category: smtp
 ---
 When sending data to multiple recipients, by default curl will abort SMTP
 conversation if at least one of the recipients causes RCPT TO command to
diff --git a/docs/cmdline-opts/mail-rcpt.d b/docs/cmdline-opts/mail-rcpt.d
index 0a2859b68..d8ae046ee 100644
--- a/docs/cmdline-opts/mail-rcpt.d
+++ b/docs/cmdline-opts/mail-rcpt.d
@@ -3,6 +3,7 @@ Arg: <address>
 Help: Mail to this address
 Protocols: SMTP
 Added: 7.20.0
+Category: smtp
 ---
 Specify a single address, user name or mailing list name. Repeat this
 option several times to send to multiple recipients.
diff --git a/docs/cmdline-opts/manual.d b/docs/cmdline-opts/manual.d
index a9dbb0c78..25ed08dd2 100644
--- a/docs/cmdline-opts/manual.d
+++ b/docs/cmdline-opts/manual.d
@@ -1,5 +1,6 @@
 Long: manual
 Short: M
 Help: Display the full manual
+Category: curl
 ---
 Manual. Display the huge help text.
diff --git a/docs/cmdline-opts/max-filesize.d b/docs/cmdline-opts/max-filesize.d
index 50d5266e1..1f6bdc663 100644
--- a/docs/cmdline-opts/max-filesize.d
+++ b/docs/cmdline-opts/max-filesize.d
@@ -2,6 +2,7 @@ Long: max-filesize
 Arg: <bytes>
 Help: Maximum file size to download
 See-also: limit-rate
+Category: connection
 ---
 Specify the maximum size (in bytes) of a file to download. If the file
 requested is larger than this value, the transfer will not start and curl will
diff --git a/docs/cmdline-opts/max-redirs.d b/docs/cmdline-opts/max-redirs.d
index a97860a8b..ba16c43fc 100644
--- a/docs/cmdline-opts/max-redirs.d
+++ b/docs/cmdline-opts/max-redirs.d
@@ -2,6 +2,7 @@ Long: max-redirs
 Arg: <num>
 Help: Maximum number of redirects allowed
 Protocols: HTTP
+Category: http
 ---
 Set maximum number of redirection-followings allowed. When --location is used,
 is used to prevent curl from following redirections too much. By default, the
diff --git a/docs/cmdline-opts/max-time.d b/docs/cmdline-opts/max-time.d
index 0057f9d04..c4e4ed7eb 100644
--- a/docs/cmdline-opts/max-time.d
+++ b/docs/cmdline-opts/max-time.d
@@ -3,6 +3,7 @@ Short: m
 Arg: <seconds>
 Help: Maximum time allowed for the transfer
 See-also: connect-timeout
+Category: connection
 ---
 Maximum time in seconds that you allow the whole operation to take.  This is
 useful for preventing your batch jobs from hanging for hours due to slow
diff --git a/docs/cmdline-opts/metalink.d b/docs/cmdline-opts/metalink.d
index 81fc8bc78..883766439 100644
--- a/docs/cmdline-opts/metalink.d
+++ b/docs/cmdline-opts/metalink.d
@@ -2,6 +2,7 @@ Long: metalink
 Help: Process given URLs as metalink XML file
 Added: 7.27.0
 Requires: metalink
+Category: misc
 ---
 This option can tell curl to parse and process a given URI as Metalink file
 (both version 3 and 4 (RFC 5854) are supported) and make use of the mirrors
diff --git a/docs/cmdline-opts/negotiate.d b/docs/cmdline-opts/negotiate.d
index 69a6b9170..e247bfbee 100644
--- a/docs/cmdline-opts/negotiate.d
+++ b/docs/cmdline-opts/negotiate.d
@@ -2,6 +2,7 @@ Long: negotiate
 Help: Use HTTP Negotiate (SPNEGO) authentication
 Protocols: HTTP
 See-also: basic ntlm anyauth proxy-negotiate
+Category: auth http
 ---
 Enables Negotiate (SPNEGO) authentication.
 
diff --git a/docs/cmdline-opts/netrc-file.d b/docs/cmdline-opts/netrc-file.d
index 50126d255..95fb2654a 100644
--- a/docs/cmdline-opts/netrc-file.d
+++ b/docs/cmdline-opts/netrc-file.d
@@ -3,6 +3,7 @@ Help: Specify FILE for netrc
 Arg: <filename>
 Added: 7.21.5
 Mutexed: netrc
+Category: curl
 ---
 This option is similar to --netrc, except that you provide the path (absolute
 or relative) to the netrc file that curl should use.  You can only specify one
diff --git a/docs/cmdline-opts/netrc-optional.d 
b/docs/cmdline-opts/netrc-optional.d
index c28540309..fa92032bd 100644
--- a/docs/cmdline-opts/netrc-optional.d
+++ b/docs/cmdline-opts/netrc-optional.d
@@ -2,6 +2,7 @@ Long: netrc-optional
 Help: Use either .netrc or URL
 Mutexed: netrc
 See-also: netrc-file
+Category: curl
 ---
 Very similar to --netrc, but this option makes the .netrc usage \fBoptional\fP
 and not mandatory as the --netrc option does.
diff --git a/docs/cmdline-opts/netrc.d b/docs/cmdline-opts/netrc.d
index 2df26782c..6aac568a6 100644
--- a/docs/cmdline-opts/netrc.d
+++ b/docs/cmdline-opts/netrc.d
@@ -1,6 +1,7 @@
 Long: netrc
 Short: n
 Help: Must read .netrc for user name and password
+Category: curl
 ---
 Makes curl scan the \fI.netrc\fP (\fI_netrc\fP on Windows) file in the user's
 home directory for login name and password. This is typically used for FTP on
diff --git a/docs/cmdline-opts/next.d b/docs/cmdline-opts/next.d
index 1d1e70a35..1adcc7535 100644
--- a/docs/cmdline-opts/next.d
+++ b/docs/cmdline-opts/next.d
@@ -5,6 +5,7 @@ Protocols:
 Added: 7.36.0
 Magic: divider
 Help: Make next URL use its separate set of options
+Category: curl
 ---
 Tells curl to use a separate operation for the following URL and associated
 options. This allows you to send several URL requests, each with their own
diff --git a/docs/cmdline-opts/no-alpn.d b/docs/cmdline-opts/no-alpn.d
index 88abb8368..8031b4f07 100644
--- a/docs/cmdline-opts/no-alpn.d
+++ b/docs/cmdline-opts/no-alpn.d
@@ -5,6 +5,7 @@ Added: 7.36.0
 See-also: no-npn http2
 Requires: TLS
 Help: Disable the ALPN TLS extension
+Category: tls http
 ---
 Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built
 with an SSL library that supports ALPN. ALPN is used by a libcurl that supports
diff --git a/docs/cmdline-opts/no-buffer.d b/docs/cmdline-opts/no-buffer.d
index 65a6282f6..1079f4712 100644
--- a/docs/cmdline-opts/no-buffer.d
+++ b/docs/cmdline-opts/no-buffer.d
@@ -1,6 +1,7 @@
 Long: no-buffer
 Short: N
 Help: Disable buffering of the output stream
+Category: curl
 ---
 Disables the buffering of the output stream. In normal work situations, curl
 will use a standard buffered output stream that will have the effect that it
diff --git a/docs/cmdline-opts/no-keepalive.d b/docs/cmdline-opts/no-keepalive.d
index 8fb28a036..72f3bc9a5 100644
--- a/docs/cmdline-opts/no-keepalive.d
+++ b/docs/cmdline-opts/no-keepalive.d
@@ -1,5 +1,6 @@
 Long: no-keepalive
 Help: Disable TCP keepalive on the connection
+Category: connection
 ---
 Disables the use of keepalive messages on the TCP connection. curl otherwise
 enables them by default.
diff --git a/docs/cmdline-opts/no-npn.d b/docs/cmdline-opts/no-npn.d
index ab0f6de2e..27e5974bd 100644
--- a/docs/cmdline-opts/no-npn.d
+++ b/docs/cmdline-opts/no-npn.d
@@ -6,6 +6,7 @@ Mutexed:
 See-also: no-alpn http2
 Requires: TLS
 Help: Disable the NPN TLS extension
+Category: tls http
 ---
 Disable the NPN TLS extension. NPN is enabled by default if libcurl was built
 with an SSL library that supports NPN. NPN is used by a libcurl that supports
diff --git a/docs/cmdline-opts/no-progress-meter.d 
b/docs/cmdline-opts/no-progress-meter.d
index aff0717d3..bf28d635d 100644
--- a/docs/cmdline-opts/no-progress-meter.d
+++ b/docs/cmdline-opts/no-progress-meter.d
@@ -2,6 +2,7 @@ Long: no-progress-meter
 Help: Do not show the progress meter
 See-also: verbose silent
 Added: 7.67.0
+Category: verbose
 ---
 Option to switch off the progress meter output without muting or otherwise
 affecting warning and informational messages like --silent does.
diff --git a/docs/cmdline-opts/no-sessionid.d b/docs/cmdline-opts/no-sessionid.d
index 397a15869..013ca4cb4 100644
--- a/docs/cmdline-opts/no-sessionid.d
+++ b/docs/cmdline-opts/no-sessionid.d
@@ -2,6 +2,7 @@ Long: no-sessionid
 Help: Disable SSL session-ID reusing
 Protocols: TLS
 Added: 7.16.0
+Category: tls
 ---
 Disable curl's use of SSL session-ID caching.  By default all transfers are
 done using the cache. Note that while nothing should ever get hurt by
diff --git a/docs/cmdline-opts/noproxy.d b/docs/cmdline-opts/noproxy.d
index a216e75f4..12ce6d3ed 100644
--- a/docs/cmdline-opts/noproxy.d
+++ b/docs/cmdline-opts/noproxy.d
@@ -2,6 +2,7 @@ Long: noproxy
 Arg: <no-proxy-list>
 Help: List of hosts which do not use proxy
 Added: 7.19.4
+Category: proxy
 ---
 Comma-separated list of hosts which do not use a proxy, if one is specified.
 The only wildcard is a single * character, which matches all hosts, and
diff --git a/docs/cmdline-opts/ntlm-wb.d b/docs/cmdline-opts/ntlm-wb.d
index 7b9338408..4a2f7e1e6 100644
--- a/docs/cmdline-opts/ntlm-wb.d
+++ b/docs/cmdline-opts/ntlm-wb.d
@@ -2,6 +2,7 @@ Long: ntlm-wb
 Help: Use HTTP NTLM authentication with winbind
 Protocols: HTTP
 See-also: ntlm proxy-ntlm
+Category: auth http
 ---
 Enables NTLM much in the style --ntlm does, but hand over the authentication
 to the separate binary ntlmauth application that is executed when needed.
diff --git a/docs/cmdline-opts/ntlm.d b/docs/cmdline-opts/ntlm.d
index baaa1d534..c63c086eb 100644
--- a/docs/cmdline-opts/ntlm.d
+++ b/docs/cmdline-opts/ntlm.d
@@ -4,6 +4,7 @@ Mutexed: basic negotiate digest anyauth
 See-also: proxy-ntlm
 Protocols: HTTP
 Requires: TLS
+Category: auth http
 ---
 Enables NTLM authentication. The NTLM authentication method was designed by
 Microsoft and is used by IIS web servers. It is a proprietary protocol,
diff --git a/docs/cmdline-opts/oauth2-bearer.d 
b/docs/cmdline-opts/oauth2-bearer.d
index 30466e579..e0ea210ed 100644
--- a/docs/cmdline-opts/oauth2-bearer.d
+++ b/docs/cmdline-opts/oauth2-bearer.d
@@ -2,6 +2,7 @@ Long: oauth2-bearer
 Help: OAuth 2 Bearer Token
 Arg: <token>
 Protocols: IMAP POP3 SMTP HTTP
+Category: auth
 ---
 Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
 is used in conjunction with the user name which can be specified as part of
diff --git a/docs/cmdline-opts/output-dir.d b/docs/cmdline-opts/output-dir.d
index 7fbe9bfc3..d2ff7738e 100644
--- a/docs/cmdline-opts/output-dir.d
+++ b/docs/cmdline-opts/output-dir.d
@@ -3,6 +3,7 @@ Arg: <dir>
 Help: Directory to save files in
 Added: 7.73.0
 See-also: remote-name remote-header-name
+Category: curl
 ---
 
 This option specifies the directory in which files should be stored, when
diff --git a/docs/cmdline-opts/output.d b/docs/cmdline-opts/output.d
index f310c267d..bf35bf4a0 100644
--- a/docs/cmdline-opts/output.d
+++ b/docs/cmdline-opts/output.d
@@ -3,6 +3,7 @@ Arg: <file>
 Short: o
 Help: Write to file instead of stdout
 See-also: remote-name remote-name-all remote-header-name
+Category: important curl
 ---
 Write output to <file> instead of stdout. If you are using {} or [] to fetch
 multiple documents, you should quote the URL and you can use '#' followed by a
diff --git a/docs/cmdline-opts/parallel-immediate.d 
b/docs/cmdline-opts/parallel-immediate.d
index 343931085..95c8afc42 100644
--- a/docs/cmdline-opts/parallel-immediate.d
+++ b/docs/cmdline-opts/parallel-immediate.d
@@ -2,6 +2,7 @@ Long: parallel-immediate
 Help: Do not wait for multiplexing (with --parallel)
 Added: 7.68.0
 See-also: parallel parallel-max
+Category: connection curl
 ---
 When doing parallel transfers, this option will instruct curl that it should
 rather prefer opening up more connections in parallel at once rather than
diff --git a/docs/cmdline-opts/parallel-max.d b/docs/cmdline-opts/parallel-max.d
index a8c79c743..d49aeb7a9 100644
--- a/docs/cmdline-opts/parallel-max.d
+++ b/docs/cmdline-opts/parallel-max.d
@@ -2,6 +2,7 @@ Long: parallel-max
 Help: Maximum concurrency for parallel transfers
 Added: 7.66.0
 See-also: parallel
+Category: connection curl
 ---
 When asked to do parallel transfers, using --parallel, this option controls
 the maximum amount of transfers to do simultaneously.
diff --git a/docs/cmdline-opts/parallel.d b/docs/cmdline-opts/parallel.d
index fac84e624..d6b4affe3 100644
--- a/docs/cmdline-opts/parallel.d
+++ b/docs/cmdline-opts/parallel.d
@@ -2,6 +2,7 @@ Short: Z
 Long: parallel
 Help: Perform transfers in parallel
 Added: 7.66.0
+Category: connection curl
 ---
 Makes curl perform its transfers in parallel as compared to the regular serial
 manner.
diff --git a/docs/cmdline-opts/pass.d b/docs/cmdline-opts/pass.d
index 2639cb9d0..f6633d242 100644
--- a/docs/cmdline-opts/pass.d
+++ b/docs/cmdline-opts/pass.d
@@ -2,6 +2,7 @@ Long: pass
 Arg: <phrase>
 Help: Pass phrase for the private key
 Protocols: SSH TLS
+Category: ssh tls auth
 ---
 Passphrase for the private key
 
diff --git a/docs/cmdline-opts/path-as-is.d b/docs/cmdline-opts/path-as-is.d
index 946e2f07a..0bfaf6639 100644
--- a/docs/cmdline-opts/path-as-is.d
+++ b/docs/cmdline-opts/path-as-is.d
@@ -1,6 +1,7 @@
 Long: path-as-is
 Help: Do not squash .. sequences in URL path
 Added: 7.42.0
+Category: curl
 ---
 Tell curl to not handle sequences of /../ or /./ in the given URL
 path. Normally curl will squash or merge them according to standards but with
diff --git a/docs/cmdline-opts/pinnedpubkey.d b/docs/cmdline-opts/pinnedpubkey.d
index cd21911f8..617252c6c 100644
--- a/docs/cmdline-opts/pinnedpubkey.d
+++ b/docs/cmdline-opts/pinnedpubkey.d
@@ -2,6 +2,7 @@ Long: pinnedpubkey
 Arg: <hashes>
 Help: FILE/HASHES Public key to verify peer against
 Protocols: TLS
+Category: tls
 ---
 Tells curl to use the specified public key file (or hashes) to verify the
 peer. This can be a path to a file which contains a single public key in PEM
diff --git a/docs/cmdline-opts/post301.d b/docs/cmdline-opts/post301.d
index 87a9fe7ed..9cc2ad018 100644
--- a/docs/cmdline-opts/post301.d
+++ b/docs/cmdline-opts/post301.d
@@ -3,6 +3,7 @@ Help: Do not switch to GET after following a 301
 Protocols: HTTP
 See-also: post302 post303 location
 Added: 7.17.1
+Category: http post
 ---
 Tells curl to respect RFC 7231/6.4.2 and not convert POST requests into GET
 requests when following a 301 redirection. The non-RFC behaviour is ubiquitous
diff --git a/docs/cmdline-opts/post302.d b/docs/cmdline-opts/post302.d
index caf0d87f1..02749032f 100644
--- a/docs/cmdline-opts/post302.d
+++ b/docs/cmdline-opts/post302.d
@@ -3,6 +3,7 @@ Help: Do not switch to GET after following a 302
 Protocols: HTTP
 See-also: post301 post303 location
 Added: 7.19.1
+Category: http post
 ---
 Tells curl to respect RFC 7231/6.4.3 and not convert POST requests into GET
 requests when following a 302 redirection. The non-RFC behaviour is ubiquitous
diff --git a/docs/cmdline-opts/post303.d b/docs/cmdline-opts/post303.d
index 44f39e610..1a67e13ef 100644
--- a/docs/cmdline-opts/post303.d
+++ b/docs/cmdline-opts/post303.d
@@ -3,6 +3,7 @@ Help: Do not switch to GET after following a 303
 Protocols: HTTP
 See-also: post302 post301 location
 Added: 7.26.0
+Category: http post
 ---
 Tells curl to violate RFC 7231/6.4.4 and not convert POST requests into GET
 requests when following 303 redirections. A server may require a POST to
diff --git a/docs/cmdline-opts/preproxy.d b/docs/cmdline-opts/preproxy.d
index b8eb77fa4..a917c16ed 100644
--- a/docs/cmdline-opts/preproxy.d
+++ b/docs/cmdline-opts/preproxy.d
@@ -2,6 +2,7 @@ Long: preproxy
 Arg: [protocol://]host[:port]
 Help: Use this proxy first
 Added: 7.52.0
+Category: proxy
 ---
 Use the specified SOCKS proxy before connecting to an HTTP or HTTPS --proxy. In
 such a case curl first connects to the SOCKS proxy and then connects (through
diff --git a/docs/cmdline-opts/progress-bar.d b/docs/cmdline-opts/progress-bar.d
index f27de2d93..299d5384a 100644
--- a/docs/cmdline-opts/progress-bar.d
+++ b/docs/cmdline-opts/progress-bar.d
@@ -1,6 +1,7 @@
 Short: #
 Long: progress-bar
 Help: Display transfer progress as a bar
+Category: verbose
 ---
 Make curl display transfer progress as a simple progress bar instead of the
 standard, more informational, meter.
diff --git a/docs/cmdline-opts/proto-default.d 
b/docs/cmdline-opts/proto-default.d
index ccc3b85f3..1c2afea2c 100644
--- a/docs/cmdline-opts/proto-default.d
+++ b/docs/cmdline-opts/proto-default.d
@@ -2,6 +2,7 @@ Long: proto-default
 Help: Use PROTOCOL for any URL missing a scheme
 Arg: <protocol>
 Added: 7.45.0
+Category: connection curl
 ---
 Tells curl to use \fIprotocol\fP for any URL missing a scheme name.
 
diff --git a/docs/cmdline-opts/proto-redir.d b/docs/cmdline-opts/proto-redir.d
index a1205dd03..9a096f531 100644
--- a/docs/cmdline-opts/proto-redir.d
+++ b/docs/cmdline-opts/proto-redir.d
@@ -2,6 +2,7 @@ Long: proto-redir
 Arg: <protocols>
 Help: Enable/disable PROTOCOLS on redirect
 Added: 7.20.2
+Category: connection curl
 ---
 Tells curl to limit what protocols it may use on redirect. Protocols denied by
 --proto are not overridden by this option. See --proto for how protocols are
diff --git a/docs/cmdline-opts/proto.d b/docs/cmdline-opts/proto.d
index e1ece1788..46c912254 100644
--- a/docs/cmdline-opts/proto.d
+++ b/docs/cmdline-opts/proto.d
@@ -3,6 +3,7 @@ Arg: <protocols>
 Help: Enable/disable PROTOCOLS
 See-also: proto-redir proto-default
 Added: 7.20.2
+Category: connection curl
 ---
 Tells curl to limit what protocols it may use in the transfer. Protocols are
 evaluated left to right, are comma separated, and are each a protocol name or
diff --git a/docs/cmdline-opts/proxy-anyauth.d 
b/docs/cmdline-opts/proxy-anyauth.d
index b60d0a05e..6410c0e6a 100644
--- a/docs/cmdline-opts/proxy-anyauth.d
+++ b/docs/cmdline-opts/proxy-anyauth.d
@@ -2,6 +2,7 @@ Long: proxy-anyauth
 Help: Pick any proxy authentication method
 Added: 7.13.2
 See-also: proxy proxy-basic proxy-digest
+Category: proxy auth
 ---
 Tells curl to pick a suitable authentication method when communicating with
 the given HTTP proxy. This might cause an extra request/response round-trip.
diff --git a/docs/cmdline-opts/proxy-basic.d b/docs/cmdline-opts/proxy-basic.d
index 566f890a9..e842f9900 100644
--- a/docs/cmdline-opts/proxy-basic.d
+++ b/docs/cmdline-opts/proxy-basic.d
@@ -1,6 +1,7 @@
 Long: proxy-basic
 Help: Use Basic authentication on the proxy
 See-also: proxy proxy-anyauth proxy-digest
+Category: proxy auth
 ---
 Tells curl to use HTTP Basic authentication when communicating with the given
 proxy. Use --basic for enabling HTTP Basic with a remote host. Basic is the
diff --git a/docs/cmdline-opts/proxy-cacert.d b/docs/cmdline-opts/proxy-cacert.d
index 2713dd2a4..bbc731a28 100644
--- a/docs/cmdline-opts/proxy-cacert.d
+++ b/docs/cmdline-opts/proxy-cacert.d
@@ -3,5 +3,6 @@ Help: CA certificate to verify peer against for proxy
 Arg: <file>
 Added: 7.52.0
 See-also: proxy-capath cacert capath proxy
+Category: proxy tls
 ---
 Same as --cacert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-capath.d b/docs/cmdline-opts/proxy-capath.d
index 177246aab..cc342b755 100644
--- a/docs/cmdline-opts/proxy-capath.d
+++ b/docs/cmdline-opts/proxy-capath.d
@@ -3,5 +3,6 @@ Help: CA directory to verify peer against for proxy
 Arg: <dir>
 Added: 7.52.0
 See-also: proxy-cacert proxy capath
+Category: proxy tls
 ---
 Same as --capath but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-cert-type.d 
b/docs/cmdline-opts/proxy-cert-type.d
index 906d2a115..fb7596c17 100644
--- a/docs/cmdline-opts/proxy-cert-type.d
+++ b/docs/cmdline-opts/proxy-cert-type.d
@@ -2,5 +2,6 @@ Long: proxy-cert-type
 Arg: <type>
 Added: 7.52.0
 Help: Client certificate type for HTTPS proxy
+Category: proxy tls
 ---
 Same as --cert-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-cert.d b/docs/cmdline-opts/proxy-cert.d
index 43acd3950..7df2712f3 100644
--- a/docs/cmdline-opts/proxy-cert.d
+++ b/docs/cmdline-opts/proxy-cert.d
@@ -2,5 +2,6 @@ Long: proxy-cert
 Arg: <cert[:passwd]>
 Help: Set client certificate for proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --cert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-ciphers.d 
b/docs/cmdline-opts/proxy-ciphers.d
index dcac81284..366555673 100644
--- a/docs/cmdline-opts/proxy-ciphers.d
+++ b/docs/cmdline-opts/proxy-ciphers.d
@@ -2,5 +2,6 @@ Long: proxy-ciphers
 Arg: <list>
 Help: SSL ciphers to use for proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --ciphers but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-crlfile.d 
b/docs/cmdline-opts/proxy-crlfile.d
index 1d6247f47..580dc50ce 100644
--- a/docs/cmdline-opts/proxy-crlfile.d
+++ b/docs/cmdline-opts/proxy-crlfile.d
@@ -2,5 +2,6 @@ Long: proxy-crlfile
 Arg: <file>
 Help: Set a CRL list for proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --crlfile but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-digest.d b/docs/cmdline-opts/proxy-digest.d
index ccf46636c..52f1fcc67 100644
--- a/docs/cmdline-opts/proxy-digest.d
+++ b/docs/cmdline-opts/proxy-digest.d
@@ -1,6 +1,7 @@
 Long: proxy-digest
 Help: Use Digest authentication on the proxy
 See-also: proxy proxy-anyauth proxy-basic
+Category: proxy tls
 ---
 Tells curl to use HTTP Digest authentication when communicating with the given
 proxy. Use --digest for enabling HTTP Digest with a remote host.
diff --git a/docs/cmdline-opts/proxy-header.d b/docs/cmdline-opts/proxy-header.d
index c1b0bb7c4..9f1121d2f 100644
--- a/docs/cmdline-opts/proxy-header.d
+++ b/docs/cmdline-opts/proxy-header.d
@@ -3,6 +3,7 @@ Arg: <header/@file>
 Help: Pass custom header(s) to proxy
 Protocols: HTTP
 Added: 7.37.0
+Category: proxy
 ---
 Extra header to include in the request when sending HTTP to a proxy. You may
 specify any number of extra headers. This is the equivalent option to --header
diff --git a/docs/cmdline-opts/proxy-insecure.d 
b/docs/cmdline-opts/proxy-insecure.d
index 762828f43..e123f4019 100644
--- a/docs/cmdline-opts/proxy-insecure.d
+++ b/docs/cmdline-opts/proxy-insecure.d
@@ -1,5 +1,6 @@
 Long: proxy-insecure
 Help: Do HTTPS proxy connections without verifying the proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --insecure but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-key-type.d 
b/docs/cmdline-opts/proxy-key-type.d
index ce7482ae9..1906872ef 100644
--- a/docs/cmdline-opts/proxy-key-type.d
+++ b/docs/cmdline-opts/proxy-key-type.d
@@ -2,5 +2,6 @@ Long: proxy-key-type
 Arg: <type>
 Help: Private key file type for proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --key-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-key.d b/docs/cmdline-opts/proxy-key.d
index e61eb18a9..57d469f43 100644
--- a/docs/cmdline-opts/proxy-key.d
+++ b/docs/cmdline-opts/proxy-key.d
@@ -1,5 +1,6 @@
 Long: proxy-key
 Help: Private key for HTTPS proxy
 Arg: <key>
+Category: proxy tls
 ---
 Same as --key but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-negotiate.d 
b/docs/cmdline-opts/proxy-negotiate.d
index 775f62a9a..72f35960e 100644
--- a/docs/cmdline-opts/proxy-negotiate.d
+++ b/docs/cmdline-opts/proxy-negotiate.d
@@ -2,6 +2,7 @@ Long: proxy-negotiate
 Help: Use HTTP Negotiate (SPNEGO) authentication on the proxy
 Added: 7.17.1
 See-also: proxy-anyauth proxy-basic
+Category: proxy auth
 ---
 Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating
 with the given proxy. Use --negotiate for enabling HTTP Negotiate (SPNEGO)
diff --git a/docs/cmdline-opts/proxy-ntlm.d b/docs/cmdline-opts/proxy-ntlm.d
index c30db53b9..cb1ba7b00 100644
--- a/docs/cmdline-opts/proxy-ntlm.d
+++ b/docs/cmdline-opts/proxy-ntlm.d
@@ -1,6 +1,7 @@
 Long: proxy-ntlm
 Help: Use NTLM authentication on the proxy
 See-also: proxy-negotiate proxy-anyauth
+Category: proxy auth
 ---
 Tells curl to use HTTP NTLM authentication when communicating with the given
 proxy. Use --ntlm for enabling NTLM with a remote host.
diff --git a/docs/cmdline-opts/proxy-pass.d b/docs/cmdline-opts/proxy-pass.d
index 3371714ba..627451bbb 100644
--- a/docs/cmdline-opts/proxy-pass.d
+++ b/docs/cmdline-opts/proxy-pass.d
@@ -2,5 +2,6 @@ Long: proxy-pass
 Arg: <phrase>
 Help: Pass phrase for the private key for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls auth
 ---
 Same as --pass but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-pinnedpubkey.d 
b/docs/cmdline-opts/proxy-pinnedpubkey.d
index abd6dc4aa..2ab79f19e 100644
--- a/docs/cmdline-opts/proxy-pinnedpubkey.d
+++ b/docs/cmdline-opts/proxy-pinnedpubkey.d
@@ -2,6 +2,7 @@ Long: proxy-pinnedpubkey
 Arg: <hashes>
 Help: FILE/HASHES public key to verify proxy with
 Protocols: TLS
+Category: proxy tls
 ---
 Tells curl to use the specified public key file (or hashes) to verify the
 proxy. This can be a path to a file which contains a single public key in PEM
diff --git a/docs/cmdline-opts/proxy-service-name.d 
b/docs/cmdline-opts/proxy-service-name.d
index 9a73f2be6..f78072906 100644
--- a/docs/cmdline-opts/proxy-service-name.d
+++ b/docs/cmdline-opts/proxy-service-name.d
@@ -2,5 +2,6 @@ Long: proxy-service-name
 Arg: <name>
 Help: SPNEGO proxy service name
 Added: 7.43.0
+Category: proxy tls
 ---
 This option allows you to change the service name for proxy negotiation.
diff --git a/docs/cmdline-opts/proxy-ssl-allow-beast.d 
b/docs/cmdline-opts/proxy-ssl-allow-beast.d
index de96b8436..138001b36 100644
--- a/docs/cmdline-opts/proxy-ssl-allow-beast.d
+++ b/docs/cmdline-opts/proxy-ssl-allow-beast.d
@@ -1,5 +1,6 @@
 Long: proxy-ssl-allow-beast
 Help: Allow security flaw for interop for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --ssl-allow-beast but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tls13-ciphers.d 
b/docs/cmdline-opts/proxy-tls13-ciphers.d
index 08961b72e..19add2260 100644
--- a/docs/cmdline-opts/proxy-tls13-ciphers.d
+++ b/docs/cmdline-opts/proxy-tls13-ciphers.d
@@ -2,6 +2,7 @@ Long: proxy-tls13-ciphers
 Arg: <ciphersuite list>
 help: TLS 1.3 proxy cipher suites
 Protocols: TLS
+Category: proxy tls
 ---
 Specifies which cipher suites to use in the connection to your HTTPS proxy
 when it negotiates TLS 1.3. The list of ciphers suites must specify valid
diff --git a/docs/cmdline-opts/proxy-tlsauthtype.d 
b/docs/cmdline-opts/proxy-tlsauthtype.d
index 7d0ce8e1a..5649a0f5f 100644
--- a/docs/cmdline-opts/proxy-tlsauthtype.d
+++ b/docs/cmdline-opts/proxy-tlsauthtype.d
@@ -2,5 +2,6 @@ Long: proxy-tlsauthtype
 Arg: <type>
 Help: TLS authentication type for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls auth
 ---
 Same as --tlsauthtype but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlspassword.d 
b/docs/cmdline-opts/proxy-tlspassword.d
index cf003844e..38a33d45d 100644
--- a/docs/cmdline-opts/proxy-tlspassword.d
+++ b/docs/cmdline-opts/proxy-tlspassword.d
@@ -2,5 +2,6 @@ Long: proxy-tlspassword
 Arg: <string>
 Help: TLS password for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls auth
 ---
 Same as --tlspassword but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsuser.d 
b/docs/cmdline-opts/proxy-tlsuser.d
index 758a7c953..587f7f510 100644
--- a/docs/cmdline-opts/proxy-tlsuser.d
+++ b/docs/cmdline-opts/proxy-tlsuser.d
@@ -2,5 +2,6 @@ Long: proxy-tlsuser
 Arg: <name>
 Help: TLS username for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls auth
 ---
 Same as --tlsuser but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsv1.d b/docs/cmdline-opts/proxy-tlsv1.d
index d024eeac3..5003f5f70 100644
--- a/docs/cmdline-opts/proxy-tlsv1.d
+++ b/docs/cmdline-opts/proxy-tlsv1.d
@@ -1,5 +1,6 @@
 Long: proxy-tlsv1
 Help: Use TLSv1 for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls auth
 ---
 Same as --tlsv1 but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-user.d b/docs/cmdline-opts/proxy-user.d
index 152466daa..82fc5170f 100644
--- a/docs/cmdline-opts/proxy-user.d
+++ b/docs/cmdline-opts/proxy-user.d
@@ -2,6 +2,7 @@ Long: proxy-user
 Short: U
 Arg: <user:password>
 Help: Proxy user and password
+Category: proxy auth
 ---
 Specify the user name and password to use for proxy authentication.
 
diff --git a/docs/cmdline-opts/proxy.d b/docs/cmdline-opts/proxy.d
index 6506692be..0592f13ba 100644
--- a/docs/cmdline-opts/proxy.d
+++ b/docs/cmdline-opts/proxy.d
@@ -2,6 +2,7 @@ Long: proxy
 Short: x
 Arg: [protocol://]host[:port]
 Help: Use this proxy
+Category: proxy
 ---
 Use the specified proxy.
 
diff --git a/docs/cmdline-opts/proxy1.0.d b/docs/cmdline-opts/proxy1.0.d
index 4a931bd15..b8a232bf7 100644
--- a/docs/cmdline-opts/proxy1.0.d
+++ b/docs/cmdline-opts/proxy1.0.d
@@ -1,6 +1,7 @@
 Long: proxy1.0
 Arg: <host[:port]>
 Help: Use HTTP/1.0 proxy on given port
+Category: proxy
 ---
 Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
 assumed at port 1080.
diff --git a/docs/cmdline-opts/proxytunnel.d b/docs/cmdline-opts/proxytunnel.d
index 1f587f120..94dae992f 100644
--- a/docs/cmdline-opts/proxytunnel.d
+++ b/docs/cmdline-opts/proxytunnel.d
@@ -2,6 +2,7 @@ Long: proxytunnel
 Short: p
 Help: Operate through an HTTP proxy tunnel (using CONNECT)
 See-also: proxy
+Category: proxy
 ---
 When an HTTP proxy is used --proxy, this option will make curl tunnel through
 the proxy. The tunnel approach is made with the HTTP proxy CONNECT request and
diff --git a/docs/cmdline-opts/pubkey.d b/docs/cmdline-opts/pubkey.d
index b2e11c024..692daf6b0 100644
--- a/docs/cmdline-opts/pubkey.d
+++ b/docs/cmdline-opts/pubkey.d
@@ -2,6 +2,7 @@ Long: pubkey
 Arg: <key>
 Protocols: SFTP SCP
 Help: SSH Public key file name
+Category: sftp scp auth
 ---
 Public key file name. Allows you to provide your public key in this separate
 file.
diff --git a/docs/cmdline-opts/quote.d b/docs/cmdline-opts/quote.d
index 3da34f487..a33ed3571 100644
--- a/docs/cmdline-opts/quote.d
+++ b/docs/cmdline-opts/quote.d
@@ -2,6 +2,7 @@ Long: quote
 Short: Q
 Help: Send command(s) to server before transfer
 Protocols: FTP SFTP
+Category: ftp sftp
 ---
 
 Send an arbitrary command to the remote FTP or SFTP server. Quote commands are
diff --git a/docs/cmdline-opts/random-file.d b/docs/cmdline-opts/random-file.d
index 51626f88d..c57f52364 100644
--- a/docs/cmdline-opts/random-file.d
+++ b/docs/cmdline-opts/random-file.d
@@ -1,6 +1,7 @@
 Long: random-file
 Arg: <file>
 Help: File for reading random data from
+Category: misc
 ---
 Specify the path name to file containing what will be considered as random
 data. The data may be used to seed the random engine for SSL connections.  See
diff --git a/docs/cmdline-opts/range.d b/docs/cmdline-opts/range.d
index b888dd181..17c6c2aba 100644
--- a/docs/cmdline-opts/range.d
+++ b/docs/cmdline-opts/range.d
@@ -3,6 +3,7 @@ Short: r
 Help: Retrieve only the bytes within RANGE
 Arg: <range>
 Protocols: HTTP FTP SFTP FILE
+Category: http ftp sftp file
 ---
 Retrieve a byte range (i.e. a partial document) from an HTTP/1.1, FTP or SFTP
 server or a local FILE. Ranges can be specified in a number of ways.
diff --git a/docs/cmdline-opts/raw.d b/docs/cmdline-opts/raw.d
index c3328e69a..90e777263 100644
--- a/docs/cmdline-opts/raw.d
+++ b/docs/cmdline-opts/raw.d
@@ -2,6 +2,7 @@ Long: raw
 Help: Do HTTP "raw"; no transfer decoding
 Added: 7.16.2
 Protocols: HTTP
+Category: http
 ---
 When used, it disables all internal HTTP decoding of content or transfer
 encodings and instead makes them passed on unaltered, raw.
diff --git a/docs/cmdline-opts/referer.d b/docs/cmdline-opts/referer.d
index cd84e9d5a..8b2057b94 100644
--- a/docs/cmdline-opts/referer.d
+++ b/docs/cmdline-opts/referer.d
@@ -4,6 +4,7 @@ Arg: <URL>
 Protocols: HTTP
 Help: Referrer URL
 See-also: user-agent header
+Category: http
 ---
 Sends the "Referrer Page" information to the HTTP server. This can also be set
 with the --header flag of course.  When used with --location you can append
diff --git a/docs/cmdline-opts/remote-header-name.d 
b/docs/cmdline-opts/remote-header-name.d
index 771b6d469..700da69fc 100644
--- a/docs/cmdline-opts/remote-header-name.d
+++ b/docs/cmdline-opts/remote-header-name.d
@@ -2,6 +2,7 @@ Long: remote-header-name
 Short: J
 Protocols: HTTP
 Help: Use the header-provided filename
+Category: output
 ---
 This option tells the --remote-name option to use the server-specified
 Content-Disposition filename instead of extracting a filename from the URL.
diff --git a/docs/cmdline-opts/remote-name-all.d 
b/docs/cmdline-opts/remote-name-all.d
index f7a199679..299684c51 100644
--- a/docs/cmdline-opts/remote-name-all.d
+++ b/docs/cmdline-opts/remote-name-all.d
@@ -1,6 +1,7 @@
 Long: remote-name-all
 Help: Use the remote file name for all URLs
 Added: 7.19.0
+Category: output
 ---
 This option changes the default action for all given URLs to be dealt with as
 if --remote-name were used for each one. So if you want to disable that for a
diff --git a/docs/cmdline-opts/remote-name.d b/docs/cmdline-opts/remote-name.d
index 9fed64bf4..184c32e47 100644
--- a/docs/cmdline-opts/remote-name.d
+++ b/docs/cmdline-opts/remote-name.d
@@ -1,6 +1,7 @@
 Long: remote-name
 Short: O
 Help: Write output to a file named as the remote file
+Category: important output
 ---
 Write output to a local file named like the remote file we get. (Only the file
 part of the remote file is used, the path is cut off.)
diff --git a/docs/cmdline-opts/remote-time.d b/docs/cmdline-opts/remote-time.d
index 7f6809dc3..96fb4fbe9 100644
--- a/docs/cmdline-opts/remote-time.d
+++ b/docs/cmdline-opts/remote-time.d
@@ -1,6 +1,7 @@
 Long: remote-time
 Short: R
 Help: Set the remote file's time on the local output
+Category: output
 ---
 When used, this will make curl attempt to figure out the timestamp of the
 remote file, and if that is available make the local file get that same
diff --git a/docs/cmdline-opts/request-target.d 
b/docs/cmdline-opts/request-target.d
index b46b4af02..df423f87d 100644
--- a/docs/cmdline-opts/request-target.d
+++ b/docs/cmdline-opts/request-target.d
@@ -2,6 +2,7 @@ Long: request-target
 Help: Specify the target for this request
 Protocols: HTTP
 Added: 7.55.0
+Category: http
 ---
 Tells curl to use an alternative "target" (path) instead of using the path as
 provided in the URL. Particularly useful when wanting to issue HTTP requests
diff --git a/docs/cmdline-opts/request.d b/docs/cmdline-opts/request.d
index 3919d426a..47c4c8b04 100644
--- a/docs/cmdline-opts/request.d
+++ b/docs/cmdline-opts/request.d
@@ -2,6 +2,7 @@ Long: request
 Short: X
 Arg: <command>
 Help: Specify request command to use
+Category: connection
 ---
 (HTTP) Specifies a custom request method to use when communicating with the
 HTTP server.  The specified request method will be used instead of the method
diff --git a/docs/cmdline-opts/resolve.d b/docs/cmdline-opts/resolve.d
index c1692f0f8..41f6a1bd5 100644
--- a/docs/cmdline-opts/resolve.d
+++ b/docs/cmdline-opts/resolve.d
@@ -2,6 +2,7 @@ Long: resolve
 Arg: <host:port:addr[,addr]...>
 Help: Resolve the host+port to this address
 Added: 7.21.3
+Category: connection
 ---
 Provide a custom address for a specific host and port pair. Using this, you
 can make the curl requests(s) use a specified address and prevent the
diff --git a/docs/cmdline-opts/retry-all-errors.d 
b/docs/cmdline-opts/retry-all-errors.d
index 4554f5938..6bda52b6e 100644
--- a/docs/cmdline-opts/retry-all-errors.d
+++ b/docs/cmdline-opts/retry-all-errors.d
@@ -1,6 +1,7 @@
 Long: retry-all-errors
 Help: Retry all errors (use with --retry)
 Added: 7.71.0
+Category: curl
 ---
 Retry on any error. This option is used together with --retry.
 
diff --git a/docs/cmdline-opts/retry-connrefused.d 
b/docs/cmdline-opts/retry-connrefused.d
index 6a78e1fda..be34f973d 100644
--- a/docs/cmdline-opts/retry-connrefused.d
+++ b/docs/cmdline-opts/retry-connrefused.d
@@ -1,6 +1,7 @@
 Long: retry-connrefused
 Help: Retry on connection refused (use with --retry)
 Added: 7.52.0
+Category: curl
 ---
 In addition to the other conditions, consider ECONNREFUSED as a transient
 error too for --retry. This option is used together with --retry.
diff --git a/docs/cmdline-opts/retry-delay.d b/docs/cmdline-opts/retry-delay.d
index 1691356d4..5645c0e6a 100644
--- a/docs/cmdline-opts/retry-delay.d
+++ b/docs/cmdline-opts/retry-delay.d
@@ -2,6 +2,7 @@ Long: retry-delay
 Arg: <seconds>
 Help: Wait time between retries
 Added: 7.12.3
+Category: curl
 ---
 Make curl sleep this amount of time before each retry when a transfer has
 failed with a transient error (it changes the default backoff time algorithm
diff --git a/docs/cmdline-opts/retry-max-time.d 
b/docs/cmdline-opts/retry-max-time.d
index 0920c9244..9d6faf304 100644
--- a/docs/cmdline-opts/retry-max-time.d
+++ b/docs/cmdline-opts/retry-max-time.d
@@ -2,6 +2,7 @@ Long: retry-max-time
 Arg: <seconds>
 Help: Retry only within this period
 Added: 7.12.3
+Category: curl
 ---
 The retry timer is reset before the first transfer attempt. Retries will be
 done as usual (see --retry) as long as the timer hasn't reached this given
diff --git a/docs/cmdline-opts/retry.d b/docs/cmdline-opts/retry.d
index 3db89b71c..70f6e7bfd 100644
--- a/docs/cmdline-opts/retry.d
+++ b/docs/cmdline-opts/retry.d
@@ -2,6 +2,7 @@ Long: retry
 Arg: <num>
 Added: 7.12.3
 Help: Retry request if transient problems occur
+Category: curl
 ---
 If a transient error is returned when curl tries to perform a transfer, it
 will retry this number of times before giving up. Setting the number to 0
diff --git a/docs/cmdline-opts/sasl-authzid.d b/docs/cmdline-opts/sasl-authzid.d
index a3bd46e70..e802c80a1 100644
--- a/docs/cmdline-opts/sasl-authzid.d
+++ b/docs/cmdline-opts/sasl-authzid.d
@@ -2,6 +2,7 @@ Long: sasl-authzid
 Arg: <identity>
 Help: Identity for SASL PLAIN authentication
 Added: 7.66.0
+Category: auth
 ---
 Use this authorisation identity (authzid), during SASL PLAIN authentication,
 in addition to the authentication identity (authcid) as specified by --user.
diff --git a/docs/cmdline-opts/sasl-ir.d b/docs/cmdline-opts/sasl-ir.d
index c0dab9463..0041c3b4e 100644
--- a/docs/cmdline-opts/sasl-ir.d
+++ b/docs/cmdline-opts/sasl-ir.d
@@ -1,5 +1,6 @@
 Long: sasl-ir
 Help: Enable initial response in SASL authentication
 Added: 7.31.0
+Category: auth
 ---
 Enable initial response in SASL authentication.
diff --git a/docs/cmdline-opts/service-name.d b/docs/cmdline-opts/service-name.d
index 4dfeb27d6..c64496b85 100644
--- a/docs/cmdline-opts/service-name.d
+++ b/docs/cmdline-opts/service-name.d
@@ -2,6 +2,7 @@ Long: service-name
 Help: SPNEGO service name
 Arg: <name>
 Added: 7.43.0
+Category: misc
 ---
 This option allows you to change the service name for SPNEGO.
 
diff --git a/docs/cmdline-opts/show-error.d b/docs/cmdline-opts/show-error.d
index 0dbf99d40..2124409e5 100644
--- a/docs/cmdline-opts/show-error.d
+++ b/docs/cmdline-opts/show-error.d
@@ -2,5 +2,6 @@ Long: show-error
 Short: S
 Help: Show error even when -s is used
 See-also: no-progress-meter
+Category: curl
 ---
 When used with --silent, it makes curl show an error message if it fails.
diff --git a/docs/cmdline-opts/silent.d b/docs/cmdline-opts/silent.d
index 065d8ec4e..58a522335 100644
--- a/docs/cmdline-opts/silent.d
+++ b/docs/cmdline-opts/silent.d
@@ -2,6 +2,7 @@ Long: silent
 Short: s
 Help: Silent mode
 See-also: verbose stderr no-progress-meter
+Category: important verbose
 ---
 Silent or quiet mode. Don't show progress meter or error messages.  Makes Curl
 mute. It will still output the data you ask for, potentially even to the
diff --git a/docs/cmdline-opts/socks4.d b/docs/cmdline-opts/socks4.d
index 11f6ae033..bc095d546 100644
--- a/docs/cmdline-opts/socks4.d
+++ b/docs/cmdline-opts/socks4.d
@@ -2,6 +2,7 @@ Long: socks4
 Arg: <host[:port]>
 Help: SOCKS4 proxy on given host + port
 Added: 7.15.2
+Category: proxy
 ---
 Use the specified SOCKS4 proxy. If the port number is not specified, it is
 assumed at port 1080.
diff --git a/docs/cmdline-opts/socks4a.d b/docs/cmdline-opts/socks4a.d
index ae254ae0e..d3177a9d7 100644
--- a/docs/cmdline-opts/socks4a.d
+++ b/docs/cmdline-opts/socks4a.d
@@ -2,6 +2,7 @@ Long: socks4a
 Arg: <host[:port]>
 Help: SOCKS4a proxy on given host + port
 Added: 7.18.0
+Category: proxy
 ---
 Use the specified SOCKS4a proxy. If the port number is not specified, it is
 assumed at port 1080.
diff --git a/docs/cmdline-opts/socks5-basic.d b/docs/cmdline-opts/socks5-basic.d
index 67d16b3a6..52d1e6619 100644
--- a/docs/cmdline-opts/socks5-basic.d
+++ b/docs/cmdline-opts/socks5-basic.d
@@ -1,6 +1,7 @@
 Long: socks5-basic
 Help: Enable username/password auth for SOCKS5 proxies
 Added: 7.55.0
+Category: proxy auth
 ---
 Tells curl to use username/password authentication when connecting to a SOCKS5
 proxy.  The username/password authentication is enabled by default.  Use
diff --git a/docs/cmdline-opts/socks5-gssapi-nec.d 
b/docs/cmdline-opts/socks5-gssapi-nec.d
index 477e218e3..b538f33f3 100644
--- a/docs/cmdline-opts/socks5-gssapi-nec.d
+++ b/docs/cmdline-opts/socks5-gssapi-nec.d
@@ -1,6 +1,7 @@
 Long: socks5-gssapi-nec
 Help: Compatibility with NEC SOCKS5 server
 Added: 7.19.4
+Category: proxy auth
 ---
 As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961
 says in section 4.3/4.4 it should be protected, but the NEC reference
diff --git a/docs/cmdline-opts/socks5-gssapi-service.d 
b/docs/cmdline-opts/socks5-gssapi-service.d
index eb3b2407b..e61d0f5ab 100644
--- a/docs/cmdline-opts/socks5-gssapi-service.d
+++ b/docs/cmdline-opts/socks5-gssapi-service.d
@@ -2,6 +2,7 @@ Long: socks5-gssapi-service
 Arg: <name>
 Help: SOCKS5 proxy service name for GSS-API
 Added: 7.19.4
+Category: proxy auth
 ---
 The default service name for a socks server is rcmd/server-fqdn. This option
 allows you to change it.
diff --git a/docs/cmdline-opts/socks5-gssapi.d 
b/docs/cmdline-opts/socks5-gssapi.d
index 0070f37eb..72ae7aeb2 100644
--- a/docs/cmdline-opts/socks5-gssapi.d
+++ b/docs/cmdline-opts/socks5-gssapi.d
@@ -1,6 +1,7 @@
 Long: socks5-gssapi
 Help: Enable GSS-API auth for SOCKS5 proxies
 Added: 7.55.0
+Category: proxy auth
 ---
 Tells curl to use GSS-API authentication when connecting to a SOCKS5 proxy.
 The GSS-API authentication is enabled by default (if curl is compiled with
diff --git a/docs/cmdline-opts/socks5-hostname.d 
b/docs/cmdline-opts/socks5-hostname.d
index 9d9d946e5..247d7660e 100644
--- a/docs/cmdline-opts/socks5-hostname.d
+++ b/docs/cmdline-opts/socks5-hostname.d
@@ -2,6 +2,7 @@ Long: socks5-hostname
 Arg: <host[:port]>
 Help: SOCKS5 proxy, pass host name to proxy
 Added: 7.18.0
+Category: proxy
 ---
 Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If
 the port number is not specified, it is assumed at port 1080.
diff --git a/docs/cmdline-opts/socks5.d b/docs/cmdline-opts/socks5.d
index 22fae7629..bbe92f0a1 100644
--- a/docs/cmdline-opts/socks5.d
+++ b/docs/cmdline-opts/socks5.d
@@ -2,6 +2,7 @@ Long: socks5
 Arg: <host[:port]>
 Help: SOCKS5 proxy on given host + port
 Added: 7.18.0
+Category: proxy
 ---
 Use the specified SOCKS5 proxy - but resolve the host name locally. If the
 port number is not specified, it is assumed at port 1080.
diff --git a/docs/cmdline-opts/speed-limit.d b/docs/cmdline-opts/speed-limit.d
index e2b81c79a..3f9ad3a46 100644
--- a/docs/cmdline-opts/speed-limit.d
+++ b/docs/cmdline-opts/speed-limit.d
@@ -2,6 +2,7 @@ Long: speed-limit
 Short: Y
 Arg: <speed>
 Help: Stop transfers slower than this
+Category: connection
 ---
 If a download is slower than this given speed (in bytes per second) for
 speed-time seconds it gets aborted. speed-time is set with --speed-time and is
diff --git a/docs/cmdline-opts/speed-time.d b/docs/cmdline-opts/speed-time.d
index 98d6ae13c..81acabec4 100644
--- a/docs/cmdline-opts/speed-time.d
+++ b/docs/cmdline-opts/speed-time.d
@@ -2,6 +2,7 @@ Long: speed-time
 Short: y
 Arg: <seconds>
 Help: Trigger 'speed-limit' abort after this time
+Category: connection
 ---
 If a download is slower than speed-limit bytes per second during a speed-time
 period, the download gets aborted. If speed-time is used, the default
diff --git a/docs/cmdline-opts/ssl-allow-beast.d 
b/docs/cmdline-opts/ssl-allow-beast.d
index 973fcd451..f18fe7470 100644
--- a/docs/cmdline-opts/ssl-allow-beast.d
+++ b/docs/cmdline-opts/ssl-allow-beast.d
@@ -1,6 +1,7 @@
 Long: ssl-allow-beast
 Help: Allow security flaw to improve interop
 Added: 7.25.0
+Category: tls
 ---
 This option tells curl to not work around a security flaw in the SSL3 and
 TLS1.0 protocols known as BEAST.  If this option isn't used, the SSL layer may
diff --git a/docs/cmdline-opts/ssl-no-revoke.d 
b/docs/cmdline-opts/ssl-no-revoke.d
index f94b11143..3b1614243 100644
--- a/docs/cmdline-opts/ssl-no-revoke.d
+++ b/docs/cmdline-opts/ssl-no-revoke.d
@@ -1,6 +1,7 @@
 Long: ssl-no-revoke
 Help: Disable cert revocation checks (Schannel)
 Added: 7.44.0
+Category: tls
 ---
 (Schannel) This option tells curl to disable certificate revocation checks.
 WARNING: this option loosens the SSL security, and by using this flag you ask
diff --git a/docs/cmdline-opts/ssl-reqd.d b/docs/cmdline-opts/ssl-reqd.d
index 3c6f8a257..2e573e39d 100644
--- a/docs/cmdline-opts/ssl-reqd.d
+++ b/docs/cmdline-opts/ssl-reqd.d
@@ -2,6 +2,7 @@ Long: ssl-reqd
 Help: Require SSL/TLS
 Protocols: FTP IMAP POP3 SMTP
 Added: 7.20.0
+Category: tls
 ---
 Require SSL/TLS for the connection.  Terminates the connection if the server
 doesn't support SSL/TLS.
diff --git a/docs/cmdline-opts/ssl-revoke-best-effort.d 
b/docs/cmdline-opts/ssl-revoke-best-effort.d
index e339b8af0..af22da461 100644
--- a/docs/cmdline-opts/ssl-revoke-best-effort.d
+++ b/docs/cmdline-opts/ssl-revoke-best-effort.d
@@ -1,6 +1,7 @@
 Long: ssl-revoke-best-effort
 Help: Ignore missing/offline cert CRL dist points
 Added: 7.70.0
+Category: tls
 ---
 (Schannel) This option tells curl to ignore certificate revocation checks when
 they failed due to missing/offline distribution points for the revocation check
diff --git a/docs/cmdline-opts/ssl.d b/docs/cmdline-opts/ssl.d
index dabd83761..8df460106 100644
--- a/docs/cmdline-opts/ssl.d
+++ b/docs/cmdline-opts/ssl.d
@@ -2,6 +2,7 @@ Long: ssl
 Help: Try SSL/TLS
 Protocols: FTP IMAP POP3 SMTP
 Added: 7.20.0
+Category: tls
 ---
 
 Try to use SSL/TLS for the connection.  Reverts to a non-secure connection if
diff --git a/docs/cmdline-opts/sslv2.d b/docs/cmdline-opts/sslv2.d
index 67d2b8506..773ab691e 100644
--- a/docs/cmdline-opts/sslv2.d
+++ b/docs/cmdline-opts/sslv2.d
@@ -7,6 +7,7 @@ Mutexed: sslv3 tlsv1 tlsv1.1 tlsv1.2
 Requires: TLS
 See-also: http1.1 http2
 Help: Use SSLv2
+Category: tls
 ---
 Forces curl to use SSL version 2 when negotiating with a remote SSL
 server. Sometimes curl is built without SSLv2 support. SSLv2 is widely
diff --git a/docs/cmdline-opts/sslv3.d b/docs/cmdline-opts/sslv3.d
index 101ad1004..7beed8f81 100644
--- a/docs/cmdline-opts/sslv3.d
+++ b/docs/cmdline-opts/sslv3.d
@@ -7,6 +7,7 @@ Mutexed: sslv2 tlsv1 tlsv1.1 tlsv1.2
 Requires: TLS
 See-also: http1.1 http2
 Help: Use SSLv3
+Category: tls
 ---
 Forces curl to use SSL version 3 when negotiating with a remote SSL
 server. Sometimes curl is built without SSLv3 support. SSLv3 is widely
diff --git a/docs/cmdline-opts/stderr.d b/docs/cmdline-opts/stderr.d
index e8cf7ba68..6da040159 100644
--- a/docs/cmdline-opts/stderr.d
+++ b/docs/cmdline-opts/stderr.d
@@ -1,6 +1,7 @@
 Long: stderr
 Help: Where to redirect stderr
 See-also: verbose silent
+Category: verbose
 ---
 Redirect all writes to stderr to the specified file instead. If the file name
 is a plain '-', it is instead written to stdout.
diff --git a/docs/cmdline-opts/styled-output.d 
b/docs/cmdline-opts/styled-output.d
index e4751aecb..8aa4a0f05 100644
--- a/docs/cmdline-opts/styled-output.d
+++ b/docs/cmdline-opts/styled-output.d
@@ -1,6 +1,7 @@
 Long: styled-output
 Help: Enable styled output for HTTP headers
 Added: 7.61.0
+Category: verbose
 ---
 Enables the automatic use of bold font styles when writing HTTP headers to the
 terminal. Use --no-styled-output to switch them off.
diff --git a/docs/cmdline-opts/suppress-connect-headers.d 
b/docs/cmdline-opts/suppress-connect-headers.d
index d208b8917..2ab9f3f48 100644
--- a/docs/cmdline-opts/suppress-connect-headers.d
+++ b/docs/cmdline-opts/suppress-connect-headers.d
@@ -1,6 +1,7 @@
 Long: suppress-connect-headers
 Help: Suppress proxy CONNECT response headers
 See-also: dump-header include proxytunnel
+Category: misc
 ---
 When --proxytunnel is used and a CONNECT request is made don't output proxy
 CONNECT response headers. This option is meant to be used with --dump-header or
diff --git a/docs/cmdline-opts/tcp-fastopen.d b/docs/cmdline-opts/tcp-fastopen.d
index 08e141df7..faef499f3 100644
--- a/docs/cmdline-opts/tcp-fastopen.d
+++ b/docs/cmdline-opts/tcp-fastopen.d
@@ -1,5 +1,6 @@
 Long: tcp-fastopen
 Added: 7.49.0
 Help: Use TCP Fast Open
+Category: connection
 ---
 Enable use of TCP Fast Open (RFC7413).
diff --git a/docs/cmdline-opts/tcp-nodelay.d b/docs/cmdline-opts/tcp-nodelay.d
index f047a7c6f..f1cf644a4 100644
--- a/docs/cmdline-opts/tcp-nodelay.d
+++ b/docs/cmdline-opts/tcp-nodelay.d
@@ -1,6 +1,7 @@
 Long: tcp-nodelay
 Help: Use the TCP_NODELAY option
 Added: 7.11.2
+Category: connection
 ---
 Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for
 details about this option.
diff --git a/docs/cmdline-opts/telnet-option.d 
b/docs/cmdline-opts/telnet-option.d
index a67cb627b..789de3ea1 100644
--- a/docs/cmdline-opts/telnet-option.d
+++ b/docs/cmdline-opts/telnet-option.d
@@ -2,6 +2,7 @@ Long: telnet-option
 Short: t
 Arg: <opt=val>
 Help: Set telnet option
+Category: telnet
 ---
 Pass options to the telnet protocol. Supported options are:
 
diff --git a/docs/cmdline-opts/tftp-blksize.d b/docs/cmdline-opts/tftp-blksize.d
index c184328de..6e67ed2e1 100644
--- a/docs/cmdline-opts/tftp-blksize.d
+++ b/docs/cmdline-opts/tftp-blksize.d
@@ -3,6 +3,7 @@ Arg: <value>
 Help: Set TFTP BLKSIZE option
 Protocols: TFTP
 Added: 7.20.0
+Category: tftp
 ---
 Set TFTP BLKSIZE option (must be >512). This is the block size that curl will
 try to use when transferring data to or from a TFTP server. By default 512
diff --git a/docs/cmdline-opts/tftp-no-options.d 
b/docs/cmdline-opts/tftp-no-options.d
index e2a4dacd5..023327301 100644
--- a/docs/cmdline-opts/tftp-no-options.d
+++ b/docs/cmdline-opts/tftp-no-options.d
@@ -2,6 +2,7 @@ Long: tftp-no-options
 Help: Do not send any TFTP options
 Protocols: TFTP
 Added: 7.48.0
+Category: tftp
 ---
 Tells curl not to send TFTP options requests.
 
diff --git a/docs/cmdline-opts/time-cond.d b/docs/cmdline-opts/time-cond.d
index 830b4e1a2..f733eeb0b 100644
--- a/docs/cmdline-opts/time-cond.d
+++ b/docs/cmdline-opts/time-cond.d
@@ -3,6 +3,7 @@ Short: z
 Arg: <time>
 Help: Transfer based on a time condition
 Protocols: HTTP FTP
+Category: http ftp
 ---
 Request a file that has been modified later than the given time and date, or
 one that has been modified before that time. The <date expression> can be all
diff --git a/docs/cmdline-opts/tls-max.d b/docs/cmdline-opts/tls-max.d
index 475c12fe8..07eb65465 100644
--- a/docs/cmdline-opts/tls-max.d
+++ b/docs/cmdline-opts/tls-max.d
@@ -6,6 +6,7 @@ Added: 7.54.0
 Requires: TLS
 See-also: tlsv1.0 tlsv1.1 tlsv1.2 tlsv1.3
 Help: Set maximum allowed TLS version
+Category: tls
 ---
 VERSION defines maximum supported TLS version. The minimum acceptable version
 is set by tlsv1.0, tlsv1.1, tlsv1.2 or tlsv1.3.
diff --git a/docs/cmdline-opts/tls13-ciphers.d 
b/docs/cmdline-opts/tls13-ciphers.d
index db8033525..0f906ce40 100644
--- a/docs/cmdline-opts/tls13-ciphers.d
+++ b/docs/cmdline-opts/tls13-ciphers.d
@@ -2,6 +2,7 @@ Long: tls13-ciphers
 Arg: <ciphersuite list>
 help: TLS 1.3 cipher suites to use
 Protocols: TLS
+Category: tls
 ---
 Specifies which cipher suites to use in the connection if it negotiates TLS
 1.3. The list of ciphers suites must specify valid ciphers. Read up on TLS 1.3
diff --git a/docs/cmdline-opts/tlsauthtype.d b/docs/cmdline-opts/tlsauthtype.d
index ede21c2f7..5b283cf9b 100644
--- a/docs/cmdline-opts/tlsauthtype.d
+++ b/docs/cmdline-opts/tlsauthtype.d
@@ -2,6 +2,7 @@ Long: tlsauthtype
 Arg: <type>
 Help: TLS authentication type
 Added: 7.21.4
+Category: tls auth
 ---
 Set TLS authentication type. Currently, the only supported option is "SRP",
 for TLS-SRP (RFC 5054). If --tlsuser and --tlspassword are specified but
diff --git a/docs/cmdline-opts/tlspassword.d b/docs/cmdline-opts/tlspassword.d
index b2e65362e..5c6a0fa51 100644
--- a/docs/cmdline-opts/tlspassword.d
+++ b/docs/cmdline-opts/tlspassword.d
@@ -1,6 +1,7 @@
 Long: tlspassword
 Help: TLS password
 Added: 7.21.4
+Category: tls auth
 ---
 Set password for use with the TLS authentication method specified with
 --tlsauthtype. Requires that --tlsuser also be set.
diff --git a/docs/cmdline-opts/tlsuser.d b/docs/cmdline-opts/tlsuser.d
index 7192b9f1d..ada152608 100644
--- a/docs/cmdline-opts/tlsuser.d
+++ b/docs/cmdline-opts/tlsuser.d
@@ -2,6 +2,7 @@ Long: tlsuser
 Arg: <name>
 Help: TLS user name
 Added: 7.21.4
+Category: tls auth
 ---
 Set username for use with the TLS authentication method specified with
 --tlsauthtype. Requires that --tlspassword also is set.
diff --git a/docs/cmdline-opts/tlsv1.0.d b/docs/cmdline-opts/tlsv1.0.d
index 2b1f0156a..4f0176f31 100644
--- a/docs/cmdline-opts/tlsv1.0.d
+++ b/docs/cmdline-opts/tlsv1.0.d
@@ -2,6 +2,7 @@ Long: tlsv1.0
 Help: Use TLSv1.0 or greater
 Protocols: TLS
 Added: 7.34.0
+Category: tls
 ---
 Forces curl to use TLS version 1.0 or later when connecting to a remote TLS 
server.
 
diff --git a/docs/cmdline-opts/tlsv1.1.d b/docs/cmdline-opts/tlsv1.1.d
index 405d552bb..b3649f7f4 100644
--- a/docs/cmdline-opts/tlsv1.1.d
+++ b/docs/cmdline-opts/tlsv1.1.d
@@ -2,6 +2,7 @@ Long: tlsv1.1
 Help: Use TLSv1.1 or greater
 Protocols: TLS
 Added: 7.34.0
+Category: tls
 ---
 Forces curl to use TLS version 1.1 or later when connecting to a remote TLS 
server.
 
diff --git a/docs/cmdline-opts/tlsv1.2.d b/docs/cmdline-opts/tlsv1.2.d
index bdf1fcf62..dffbccb9d 100644
--- a/docs/cmdline-opts/tlsv1.2.d
+++ b/docs/cmdline-opts/tlsv1.2.d
@@ -2,6 +2,7 @@ Long: tlsv1.2
 Help: Use TLSv1.2 or greater
 Protocols: TLS
 Added: 7.34.0
+Category: tls
 ---
 Forces curl to use TLS version 1.2 or later when connecting to a remote TLS 
server.
 
diff --git a/docs/cmdline-opts/tlsv1.3.d b/docs/cmdline-opts/tlsv1.3.d
index 19da857b7..37d953552 100644
--- a/docs/cmdline-opts/tlsv1.3.d
+++ b/docs/cmdline-opts/tlsv1.3.d
@@ -2,6 +2,7 @@ Long: tlsv1.3
 Help: Use TLSv1.3 or greater
 Protocols: TLS
 Added: 7.52.0
+Category: tls
 ---
 Forces curl to use TLS version 1.3 or later when connecting to a remote TLS
 server.
diff --git a/docs/cmdline-opts/tlsv1.d b/docs/cmdline-opts/tlsv1.d
index 4cb405697..d4c0c5160 100644
--- a/docs/cmdline-opts/tlsv1.d
+++ b/docs/cmdline-opts/tlsv1.d
@@ -7,6 +7,7 @@ Mutexed: tlsv1.1 tlsv1.2 tlsv1.3
 Requires: TLS
 See-also: http1.1 http2
 Help: Use TLSv1.0 or greater
+Category: tls
 ---
 Tells curl to use at least TLS version 1.x when negotiating with a remote TLS
 server. That means TLS version 1.0 or higher
diff --git a/docs/cmdline-opts/tr-encoding.d b/docs/cmdline-opts/tr-encoding.d
index 01bb62bb3..ce1d00325 100644
--- a/docs/cmdline-opts/tr-encoding.d
+++ b/docs/cmdline-opts/tr-encoding.d
@@ -2,6 +2,7 @@ Long: tr-encoding
 Added: 7.21.6
 Help: Request compressed transfer encoding
 Protocols: HTTP
+Category: http
 ---
 Request a compressed Transfer-Encoding response using one of the algorithms
 curl supports, and uncompress the data while receiving it.
diff --git a/docs/cmdline-opts/trace-ascii.d b/docs/cmdline-opts/trace-ascii.d
index fceaa7126..fa7e16ccc 100644
--- a/docs/cmdline-opts/trace-ascii.d
+++ b/docs/cmdline-opts/trace-ascii.d
@@ -2,6 +2,7 @@ Long: trace-ascii
 Arg: <file>
 Help: Like --trace, but without hex output
 Mutexed: trace verbose
+Category: verbose
 ---
 Enables a full trace dump of all incoming and outgoing data, including
 descriptive information, to the given output file. Use "-" as filename to have
diff --git a/docs/cmdline-opts/trace-time.d b/docs/cmdline-opts/trace-time.d
index 27dcc42cf..19a31a70e 100644
--- a/docs/cmdline-opts/trace-time.d
+++ b/docs/cmdline-opts/trace-time.d
@@ -1,5 +1,6 @@
 Long: trace-time
 Help: Add time stamps to trace/verbose output
 Added: 7.14.0
+Category: verbose
 ---
 Prepends a time stamp to each trace or verbose line that curl displays.
diff --git a/docs/cmdline-opts/trace.d b/docs/cmdline-opts/trace.d
index 334ea5ad6..502dafd71 100644
--- a/docs/cmdline-opts/trace.d
+++ b/docs/cmdline-opts/trace.d
@@ -2,6 +2,7 @@ Long: trace
 Arg: <file>
 Help: Write a debug trace to FILE
 Mutexed: verbose trace-ascii
+Category: verbose
 ---
 Enables a full trace dump of all incoming and outgoing data, including
 descriptive information, to the given output file. Use "-" as filename to have
diff --git a/docs/cmdline-opts/unix-socket.d b/docs/cmdline-opts/unix-socket.d
index 812d20f3b..e4ea91d01 100644
--- a/docs/cmdline-opts/unix-socket.d
+++ b/docs/cmdline-opts/unix-socket.d
@@ -3,5 +3,6 @@ Arg: <path>
 Help: Connect through this Unix domain socket
 Added: 7.40.0
 Protocols: HTTP
+Category: connection
 ---
 Connect through this Unix domain socket, instead of using the network.
diff --git a/docs/cmdline-opts/upload-file.d b/docs/cmdline-opts/upload-file.d
index 6f01dbf35..63584b797 100644
--- a/docs/cmdline-opts/upload-file.d
+++ b/docs/cmdline-opts/upload-file.d
@@ -2,6 +2,7 @@ Long: upload-file
 Short: T
 Arg: <file>
 Help: Transfer local FILE to destination
+Category: important upload
 ---
 This transfers the specified local file to the remote URL. If there is no file
 part in the specified URL, curl will append the local file name. NOTE that you
diff --git a/docs/cmdline-opts/url.d b/docs/cmdline-opts/url.d
index 991f1f27c..30f0bf72e 100644
--- a/docs/cmdline-opts/url.d
+++ b/docs/cmdline-opts/url.d
@@ -1,6 +1,7 @@
 Long: url
 Arg: <url>
 Help: URL to work with
+Category: curl
 ---
 Specify a URL to fetch. This option is mostly handy when you want to specify
 URL(s) in a config file.
diff --git a/docs/cmdline-opts/use-ascii.d b/docs/cmdline-opts/use-ascii.d
index d59fad922..3a5a6a4f8 100644
--- a/docs/cmdline-opts/use-ascii.d
+++ b/docs/cmdline-opts/use-ascii.d
@@ -2,6 +2,7 @@ Short: B
 Long: use-ascii
 Help: Use ASCII/text transfer
 Protocols: FTP LDAP
+Category: misc
 ---
 Enable ASCII transfer. For FTP, this can also be enforced by using a URL that
 ends with ";type=A". This option causes data sent to stdout to be in text mode
diff --git a/docs/cmdline-opts/user-agent.d b/docs/cmdline-opts/user-agent.d
index c6dd2e584..ec2ca82bb 100644
--- a/docs/cmdline-opts/user-agent.d
+++ b/docs/cmdline-opts/user-agent.d
@@ -3,6 +3,7 @@ Long: user-agent
 Arg: <name>
 Help: Send User-Agent <name> to server
 Protocols: HTTP
+Category: important http
 ---
 
 Specify the User-Agent string to send to the HTTP server. To encode blanks in
diff --git a/docs/cmdline-opts/user.d b/docs/cmdline-opts/user.d
index 7001d28ab..b588700c0 100644
--- a/docs/cmdline-opts/user.d
+++ b/docs/cmdline-opts/user.d
@@ -2,6 +2,7 @@ Long: user
 Short: u
 Arg: <user:password>
 Help: Server user and password
+Category: important auth
 ---
 Specify the user name and password to use for server authentication. Overrides
 --netrc and --netrc-optional.
diff --git a/docs/cmdline-opts/verbose.d b/docs/cmdline-opts/verbose.d
index 5d3352183..8db1ea222 100644
--- a/docs/cmdline-opts/verbose.d
+++ b/docs/cmdline-opts/verbose.d
@@ -3,6 +3,7 @@ Long: verbose
 Mutexed: trace trace-ascii
 Help: Make the operation more talkative
 See-also: include
+Category: important verbose
 ---
 Makes curl verbose during the operation. Useful for debugging and seeing
 what's going on "under the hood". A line starting with '>' means "header data"
diff --git a/docs/cmdline-opts/version.d b/docs/cmdline-opts/version.d
index 16c1843f1..52c29f177 100644
--- a/docs/cmdline-opts/version.d
+++ b/docs/cmdline-opts/version.d
@@ -1,6 +1,7 @@
 Long: version
 Short: V
 Help: Show version number and quit
+Category: important curl
 ---
 Displays information about curl and the libcurl version it uses.
 
diff --git a/docs/cmdline-opts/write-out.d b/docs/cmdline-opts/write-out.d
index 686bda6ea..013319cc2 100644
--- a/docs/cmdline-opts/write-out.d
+++ b/docs/cmdline-opts/write-out.d
@@ -2,6 +2,7 @@ Long: write-out
 Short: w
 Arg: <format>
 Help: Use output FORMAT after completion
+Category: verbose
 ---
 Make curl display information on stdout after a completed transfer. The format
 is a string that may contain plain text mixed with any number of
diff --git a/docs/cmdline-opts/xattr.d b/docs/cmdline-opts/xattr.d
index b7553daeb..4b64c6cbf 100644
--- a/docs/cmdline-opts/xattr.d
+++ b/docs/cmdline-opts/xattr.d
@@ -1,5 +1,6 @@
 Long: xattr
 Help: Store metadata in extended file attributes
+Category: misc
 ---
 When saving output to a file, this option tells curl to store certain file
 metadata in extended file attributes. Currently, the URL is stored in the

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]