cmdline-opts: category cleanup

Option cleanups:

 --get is not upload
 --form* are post
 - added several options into ldap, smtp, imap and pop3
 - shortened the category descriptions in the list

category curl fixes:

 --create-dirs removed from 'curl'
 --ftp-create-dirs removed from 'curl'
 --netrc moved to 'auth' from 'curl'
 --netrc-file moved to 'auth' from 'curl'
 --netrc-optional moved to 'auth' from 'curl'
 --no-buffer moved to 'output' from 'curl'
 --no-clobber removed from 'curl'
 --output removed from 'curl'
 --output-dir removed from 'curl'
 --remove-on-error removed from 'curl'

Add a "global" category:

- Made all "global" options set this category

Add a "deprecated" category:

- Moved the deprecated options to it (maybe they should not be in any
 category long term)

Add a 'timeout' category

- Put a number of appropriate options in it

Add an 'ldap' category

- Put the LDAP related option in there

Remove categories "ECH" and "ipfs"

- They should not be categories. Had only one single option each.

Remove category "misc"

- It should not be a category as it is impossible to know when to browse
  it.

--use-ascii moved to ftp and output
--xattr moved to output
--service-name moved to auth

Managen fixes:

- errors if an option is given a category name that is not already setup
  for in code

- verifies that options set `scope: global` also is put in category
  `global´

Closes #14101
This commit is contained in:
Daniel Stenberg 2024-07-04 13:38:18 +02:00
parent 18c61aa036
commit 2abfc759b9
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
64 changed files with 239 additions and 204 deletions

View file

@ -29,12 +29,10 @@ void tool_help(char *category);
void tool_list_engines(void);
void tool_version_info(void);
typedef unsigned int curlhelp_t;
struct helptxt {
const char *opt;
const char *desc;
curlhelp_t categories;
unsigned int categories;
};
/*
@ -43,32 +41,34 @@ struct helptxt {
make -C docs/cmdline-opts listcats
*/
#define CURLHELP_HIDDEN 1u << 0u
#define CURLHELP_AUTH 1u << 1u
#define CURLHELP_CONNECTION 1u << 2u
#define CURLHELP_CURL 1u << 3u
#define CURLHELP_DNS 1u << 4u
#define CURLHELP_FILE 1u << 5u
#define CURLHELP_FTP 1u << 6u
#define CURLHELP_HTTP 1u << 7u
#define CURLHELP_IMAP 1u << 8u
#define CURLHELP_IMPORTANT 1u << 9u
#define CURLHELP_IPFS 1u << 10u
#define CURLHELP_MISC 1u << 11u
#define CURLHELP_OUTPUT 1u << 12u
#define CURLHELP_POP3 1u << 13u
#define CURLHELP_POST 1u << 14u
#define CURLHELP_PROXY 1u << 15u
#define CURLHELP_SCP 1u << 16u
#define CURLHELP_SFTP 1u << 17u
#define CURLHELP_SMTP 1u << 18u
#define CURLHELP_SSH 1u << 19u
#define CURLHELP_TELNET 1u << 20u
#define CURLHELP_TFTP 1u << 21u
#define CURLHELP_TLS 1u << 22u
#define CURLHELP_UPLOAD 1u << 23u
#define CURLHELP_VERBOSE 1u << 24u
#define CURLHELP_ECH 1u << 25u
#define CURLHELP_AUTH (1u << 0u)
#define CURLHELP_CONNECTION (1u << 1u)
#define CURLHELP_CURL (1u << 2u)
#define CURLHELP_DEPRECATED (1u << 3u)
#define CURLHELP_DNS (1u << 4u)
#define CURLHELP_FILE (1u << 5u)
#define CURLHELP_FTP (1u << 6u)
#define CURLHELP_GLOBAL (1u << 7u)
#define CURLHELP_HTTP (1u << 8u)
#define CURLHELP_IMAP (1u << 9u)
#define CURLHELP_IMPORTANT (1u << 10u)
#define CURLHELP_LDAP (1u << 11u)
#define CURLHELP_OUTPUT (1u << 12u)
#define CURLHELP_POP3 (1u << 13u)
#define CURLHELP_POST (1u << 14u)
#define CURLHELP_PROXY (1u << 15u)
#define CURLHELP_SCP (1u << 16u)
#define CURLHELP_SFTP (1u << 17u)
#define CURLHELP_SMTP (1u << 18u)
#define CURLHELP_SSH (1u << 19u)
#define CURLHELP_TELNET (1u << 20u)
#define CURLHELP_TFTP (1u << 21u)
#define CURLHELP_TIMEOUT (1u << 22u)
#define CURLHELP_TLS (1u << 23u)
#define CURLHELP_UPLOAD (1u << 24u)
#define CURLHELP_VERBOSE (1u << 25u)
#define CURLHELP_ALL (0xfffffffu)
extern const struct helptxt helptext[];