diff --git a/ChangeLog.adoc b/ChangeLog.adoc index 621602f56..d12c678f5 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -27,6 +27,7 @@ New features:: Improvements:: * api: add argument "recurse_subdirs" in function exec_on_files() + * script: add local variable "filter" in the script buffer (issue #1037) Bug fixes:: diff --git a/src/plugins/script/script-buffer.c b/src/plugins/script/script-buffer.c index 0d2461fc7..5c3dcd761 100644 --- a/src/plugins/script/script-buffer.c +++ b/src/plugins/script/script-buffer.c @@ -1117,6 +1117,20 @@ script_buffer_set_keys () } } +/* + * Sets the local variable "filter" in the script buffer. + */ + +void +script_buffer_set_localvar_filter () +{ + if (!script_buffer) + return; + + weechat_buffer_set (script_buffer, "localvar_set_filter", + (script_repo_filter) ? script_repo_filter : "*"); +} + /* * Opens script buffer. */ @@ -1139,6 +1153,7 @@ script_buffer_open () weechat_buffer_set (script_buffer, "title", _("Scripts")); script_buffer_set_keys (); weechat_buffer_set (script_buffer, "localvar_set_type", "script"); + script_buffer_set_localvar_filter (); script_buffer_selected_line = 0; script_buffer_detail_script = NULL; diff --git a/src/plugins/script/script-buffer.h b/src/plugins/script/script-buffer.h index 9e8b28839..b05e9ef10 100644 --- a/src/plugins/script/script-buffer.h +++ b/src/plugins/script/script-buffer.h @@ -47,6 +47,7 @@ extern int script_buffer_close_cb (const void *pointer, void *data, struct t_gui_buffer *buffer); extern void script_buffer_set_callbacks (); extern void script_buffer_set_keys (); +extern void script_buffer_set_localvar_filter (); extern void script_buffer_open (); #endif /* WEECHAT_SCRIPT_BUFFER_H */ diff --git a/src/plugins/script/script-repo.c b/src/plugins/script/script-repo.c index c29e9876e..9cc486fd5 100644 --- a/src/plugins/script/script-repo.c +++ b/src/plugins/script/script-repo.c @@ -910,6 +910,8 @@ script_repo_set_filter (const char *filter) if (script_repo_filter) free (script_repo_filter); script_repo_filter = (filter) ? strdup (filter) : NULL; + + script_buffer_set_localvar_filter (); } /*