GLib.OptionContext¶
record (struct)
A GOptionContext struct defines which options
are accepted by the commandline option parser. The struct has only private
fields and should not be directly accessed.
Methods¶
add_group¶
Adds a OptionGroup to the context, so that parsing with context
will recognize the options in the group. Note that this will take
ownership of the group and thus the group should not be freed.
Parameters:
group— the group to add
add_main_entries¶
def add_main_entries(self, entries: list[OptionEntry], translation_domain: str | None = ...) -> None
A convenience function which creates a main group if it doesn't
exist, adds the entries to it and sets the translation domain.
Parameters:
entries— aNone-terminated array ofGOptionEntrystranslation_domain— a translation domain to use for translating the--helpoutput for the options inentrieswith gettext(), orNone
free¶
Frees context and all the groups which have been added to it.
Please note that parsed arguments need to be freed separately (see
OptionEntry).
get_description¶
Returns the description. See OptionContext.set_description.
get_help¶
Returns a formatted, translated help text for the given context.
To obtain the text produced by --help, call
g_option_context_get_help (context, TRUE, NULL).
To obtain the text produced by --help-all, call
g_option_context_get_help (context, FALSE, NULL).
To obtain the help text for an option group, call
g_option_context_get_help (context, FALSE, group).
Parameters:
main_help— ifTrue, only include the main groupgroup— theOptionGroupto create help for, orNone
get_help_enabled¶
Returns whether automatic --help generation
is turned on for context. See OptionContext.set_help_enabled.
get_ignore_unknown_options¶
Returns whether unknown options are ignored or not. See
OptionContext.set_ignore_unknown_options.
get_main_group¶
Returns a pointer to the main group of context.
get_strict_posix¶
Returns whether strict POSIX code is enabled.
See OptionContext.set_strict_posix for more information.
get_summary¶
Returns the summary. See OptionContext.set_summary.
parse¶
Parses the command line arguments, recognizing options
which have been added to context. A side-effect of
calling this function is that set_prgname will be
called.
If the parsing is successful, any parsed arguments are
removed from the array and argc and argv are updated
accordingly. A '--' option is stripped from argv
unless there are unparsed options before and after it,
or some of the options after it start with '-'. In case
of an error, argc and argv are left unmodified.
If automatic --help support is enabled
(see OptionContext.set_help_enabled), and the
argv array contains one of the recognized help options,
this function will produce help output to stdout and
call exit (0).
Note that function depends on the current locale for automatic character set conversion of string and filename arguments.
Parameters:
argv— a pointer to the array of command line arguments
parse_strv¶
Parses the command line arguments.
This function is similar to OptionContext.parse except that it
respects the normal memory rules when dealing with a strv instead of
assuming that the passed-in array is the argv of the main function.
In particular, strings that are removed from the arguments list will
be freed using free.
On Windows, the strings are expected to be in UTF-8. This is in
contrast to OptionContext.parse which expects them to be in the
system codepage, which is how they are passed as argv to main().
See g_win32_get_command_line() for a solution.
This function is useful if you are trying to use OptionContext with
Gio.Application.
Parameters:
arguments— a pointer to the command line arguments (which must be in UTF-8 on Windows). Starting with GLib 2.62,argumentscan beNone, which matchesOptionContext.parse.
set_description¶
Adds a string to be displayed in --help output after the list
of options. This text often includes a bug reporting address.
Note that the summary is translated (see
OptionContext.set_translate_func).
Parameters:
description— a string to be shown in--helpoutput after the list of options, orNone
set_help_enabled¶
Enables or disables automatic generation of --help output.
By default, OptionContext.parse recognizes --help, -h,
-?, --help-all and --help-groupname and creates suitable
output to stdout.
Parameters:
help_enabled—Trueto enable--help,Falseto disable it
set_ignore_unknown_options¶
Sets whether to ignore unknown options or not. If an argument is
ignored, it is left in the argv array after parsing. By default,
OptionContext.parse treats unknown options as error.
This setting does not affect non-option arguments (i.e. arguments which don't start with a dash). But note that GOption cannot reliably determine whether a non-option belongs to a preceding unknown option.
Parameters:
ignore_unknown—Trueto ignore unknown options,Falseto produce an error when unknown options are met
set_main_group¶
Sets a OptionGroup as main group of the context.
This has the same effect as calling OptionContext.add_group,
the only difference is that the options in the main group are
treated differently when generating --help output.
Parameters:
group— the group to set as main group
set_strict_posix¶
Sets strict POSIX mode.
By default, this mode is disabled.
In strict POSIX mode, the first non-argument parameter encountered (eg: filename) terminates argument processing. Remaining arguments are treated as non-options and are not attempted to be parsed.
If strict POSIX mode is disabled then parsing is done in the GNU way where option arguments can be freely mixed with non-options.
As an example, consider "ls foo -l". With GNU style parsing, this will list "foo" in long mode. In strict POSIX style, this will list the files named "foo" and "-l".
It may be useful to force strict POSIX mode when creating "verb style" command line tools. For example, the "gsettings" command line tool supports the global option "--schemadir" as well as many subcommands ("get", "set", etc.) which each have their own set of arguments. Using strict POSIX mode will allow parsing the global options up to the verb name while leaving the remaining options to be parsed by the relevant subcommand (which can be determined by examining the verb name, which should be present in argv[1] after parsing).
Parameters:
strict_posix— the new value
set_summary¶
Adds a string to be displayed in --help output before the list
of options. This is typically a summary of the program functionality.
Note that the summary is translated (see
OptionContext.set_translate_func and
OptionContext.set_translation_domain).
Parameters:
summary— a string to be shown in--helpoutput before the list of options, orNone
set_translate_func¶
Sets the function which is used to translate the contexts
user-visible strings, for --help output. If func is None,
strings are not translated.
Note that option groups have their own translation functions,
this function only affects the parameter_string (see g_option_context_new()),
the summary (see OptionContext.set_summary) and the description
(see OptionContext.set_description).
If you are using gettext(), you only need to set the translation
domain, see OptionContext.set_translation_domain.
Parameters:
func— theGTranslateFunc, orNone
set_translation_domain¶
A convenience function to use gettext() for translating user-visible strings.
Parameters:
domain— the domain to use