1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-10 11:43:13 +02:00

fset: add filtering by type ("t:xxx")

This commit is contained in:
Sébastien Helleu
2017-06-02 20:19:00 +02:00
parent 6f27eccc84
commit 500e54578b
2 changed files with 19 additions and 0 deletions
+2
View File
@@ -493,6 +493,8 @@ fset_command_init ()
"formats are:\n"
" * show all options (no filter)\n"
" f:xxx show only configuration file \"xxx\"\n"
" t:xxx show only type \"xxx\" (beginning of type "
"name is allowed, both English and translated types are allowed)\n"
" d show only changed options\n"
" d:xxx show only changed options with \"xxx\" in name\n"
" d=xxx show only changed options with \"xxx\" in value\n"
+17
View File
@@ -215,6 +215,8 @@ int
fset_option_match_filters (const char *config_name, const char *section_name,
struct t_fset_option *fset_option)
{
int length;
if (!weechat_config_boolean (fset_config_look_show_plugin_description)
&& (strcmp (config_name, "plugins") == 0)
&& (strcmp (section_name, "desc") == 0))
@@ -230,6 +232,21 @@ fset_option_match_filters (const char *config_name, const char *section_name,
/* filter by config name */
return (weechat_strcasecmp (config_name, fset_option_filter + 2) == 0) ? 1 : 0;
}
if (strncmp (fset_option_filter, "t:", 2) == 0)
{
/* filter by type */
length = strlen (fset_option_filter + 2);
return ((length > 0)
&& ((weechat_strncasecmp (
fset_option_type_string[fset_option->type],
fset_option_filter + 2,
length) == 0)
|| (weechat_strncasecmp (
_(fset_option_type_string[fset_option->type]),
fset_option_filter + 2,
length) == 0))) ? 1 : 0;
}
else if (strncmp (fset_option_filter, "d==", 3) == 0)
{
/* filter by modified values, exact value */