1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-12 14:14:48 +02:00

script: add completion with languages and extensions, support search by language/extension in /script search

This commit is contained in:
Sébastien Helleu
2015-12-09 07:40:16 +01:00
parent 03a6209f73
commit e734914380
22 changed files with 211 additions and 15 deletions
+2
View File
@@ -37,6 +37,8 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
plugin (level 2 or more)
* logger: display system error when the log file can not be written
(issue #541)
* script: add completion with languages and extensions, support search by
language/extension in /script search
* script: add option script.scripts.download_timeout
* doc: add Czech man page and quickstart guide (issue #490)
* build: add scripts version.sh and build-debian.sh, separate stable from devel
@@ -66,8 +66,12 @@
| ruby | ruby_script | Liste der Skripten
| script | script_extensions | list of script extensions
| script | script_files | Dateien die sich in den Skript-Verzeichnissen befinden
| script | script_languages | list of script languages
| script | script_scripts | Liste der Skripten im Repositorium
| script | script_scripts_installed | Auflistung der installierten Skripten (vom Repositorium)
@@ -66,8 +66,12 @@
| ruby | ruby_script | list of scripts
| script | script_extensions | list of script extensions
| script | script_files | files in script directories
| script | script_languages | list of script languages
| script | script_scripts | list of scripts in repository
| script | script_scripts_installed | list of scripts installed (from repository)
@@ -66,8 +66,12 @@
| ruby | ruby_script | liste des scripts
| script | script_extensions | liste des extensions de script
| script | script_files | fichiers dans les répertoires de script
| script | script_languages | liste des langages de script
| script | script_scripts | liste des scripts du dépôt
| script | script_scripts_installed | liste des scripts installés (du dépôt)
@@ -66,8 +66,12 @@
| ruby | ruby_script | elenco degli script
| script | script_extensions | list of script extensions
| script | script_files | file nella directory degli script
| script | script_languages | list of script languages
| script | script_scripts | elenco degli script nel repository
| script | script_scripts_installed | elenco degli script installati (dal repository)
@@ -66,8 +66,12 @@
| ruby | ruby_script | スクリプトのリスト
| script | script_extensions | list of script extensions
| script | script_files | スクリプトディレクトリ内のファイル
| script | script_languages | list of script languages
| script | script_scripts | リポジトリに存在するスクリプトのリスト
| script | script_scripts_installed | インストール済みスクリプトのリスト (リポジトリから)
@@ -66,8 +66,12 @@
| ruby | ruby_script | lista skryptów
| script | script_extensions | list of script extensions
| script | script_files | pliki w katalogach skryptów
| script | script_languages | list of script languages
| script | script_scripts | lista skryptów w repozytorium
| script | script_scripts_installed | lista zainstalowanych skryptów (z repozytorium)
+9 -1
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10146,6 +10146,14 @@ msgstr ""
" /script reload urlserver\n"
" /script upgrade"
#, fuzzy
msgid "list of script languages"
msgstr "seznam skriptů"
#, fuzzy
msgid "list of script extensions"
msgstr "seznam skriptů"
#, fuzzy
msgid "list of scripts in repository"
msgstr "seznam skriptů"
+9 -1
View File
@@ -19,7 +19,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-12-03 20:51+0100\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <>\n"
@@ -11518,6 +11518,14 @@ msgstr ""
" /script reload urlserver\n"
" /script upgrade"
#, fuzzy
msgid "list of script languages"
msgstr "Liste der Skripten"
#, fuzzy
msgid "list of script extensions"
msgstr "Liste der Skripten"
msgid "list of scripts in repository"
msgstr "Liste der Skripten im Repositorium"
+9 -1
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10412,6 +10412,14 @@ msgid ""
" /script upgrade"
msgstr ""
#, fuzzy
msgid "list of script languages"
msgstr "lista de scripts"
#, fuzzy
msgid "list of script extensions"
msgstr "lista de scripts"
msgid "list of scripts in repository"
msgstr "lista de scripts en el repositorio"
+8 -2
View File
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-12-09 07:29+0100\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -11262,6 +11262,12 @@ msgstr ""
" /script reload urlserver\n"
" /script upgrade"
msgid "list of script languages"
msgstr "liste des langages de script"
msgid "list of script extensions"
msgstr "liste des extensions de script"
msgid "list of scripts in repository"
msgstr "liste des scripts du dépôt"
+9 -1
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -9458,6 +9458,14 @@ msgid ""
" /script upgrade"
msgstr ""
#, fuzzy
msgid "list of script languages"
msgstr "Aliaszok listája:\n"
#, fuzzy
msgid "list of script extensions"
msgstr "Aliaszok listája:\n"
#, fuzzy
msgid "list of scripts in repository"
msgstr "Aliaszok listája:\n"
+9 -1
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10592,6 +10592,14 @@ msgid ""
" /script upgrade"
msgstr ""
#, fuzzy
msgid "list of script languages"
msgstr "elenco degli script"
#, fuzzy
msgid "list of script extensions"
msgstr "elenco degli script"
msgid "list of scripts in repository"
msgstr "elenco degli script nel repository"
+9 -1
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/translation_ja>\n"
@@ -10836,6 +10836,14 @@ msgstr ""
" /script reload urlserver\n"
" /script upgrade"
#, fuzzy
msgid "list of script languages"
msgstr "スクリプトのリスト"
#, fuzzy
msgid "list of script extensions"
msgstr "スクリプトのリスト"
msgid "list of scripts in repository"
msgstr "リポジトリに存在するスクリプトのリスト"
+9 -1
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -11008,6 +11008,14 @@ msgstr ""
" /script reload urlserver\n"
" /script upgrade"
#, fuzzy
msgid "list of script languages"
msgstr "lista skryptów"
#, fuzzy
msgid "list of script extensions"
msgstr "lista skryptów"
msgid "list of scripts in repository"
msgstr "lista skryptów w repozytorium"
+9 -1
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-09-30 20:56+0200\n"
"Last-Translator: Eduardo Elias <camponez@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -9889,6 +9889,14 @@ msgid ""
" /script upgrade"
msgstr ""
#, fuzzy
msgid "list of script languages"
msgstr "list de scripts"
#, fuzzy
msgid "list of script extensions"
msgstr "list de scripts"
#, fuzzy
msgid "list of scripts in repository"
msgstr "list de scripts"
+9 -1
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -9489,6 +9489,14 @@ msgid ""
" /script upgrade"
msgstr ""
#, fuzzy
msgid "list of script languages"
msgstr "Список сокращений:\n"
#, fuzzy
msgid "list of script extensions"
msgstr "Список сокращений:\n"
#, fuzzy
msgid "list of scripts in repository"
msgstr "Список сокращений:\n"
+9 -1
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2015-03-10 21:33+0100\n"
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -8580,6 +8580,14 @@ msgid ""
" /script upgrade"
msgstr ""
#, fuzzy
msgid "list of script languages"
msgstr "betiklerin listesi"
#, fuzzy
msgid "list of script extensions"
msgstr "betiklerin listesi"
msgid "list of scripts in repository"
msgstr "depodaki betiklerin listesi"
+7 -1
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2015-12-02 19:24+0100\n"
"POT-Creation-Date: 2015-12-09 07:27+0100\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -8502,6 +8502,12 @@ msgid ""
" /script upgrade"
msgstr ""
msgid "list of script languages"
msgstr ""
msgid "list of script extensions"
msgstr ""
msgid "list of scripts in repository"
msgstr ""
+1 -1
View File
@@ -366,7 +366,7 @@ script_command_init ()
" /script reload urlserver\n"
" /script upgrade"),
"list -o|-i"
" || search %(script_tags)"
" || search %(script_tags)|%(script_languages)|%(script_extensions)"
" || show %(script_scripts)"
" || load %(script_files)|%*"
" || unload %(python_script)|%(perl_script)|%(ruby_script)|"
+58
View File
@@ -29,6 +29,58 @@
#include "script-repo.h"
/*
* Adds script languages (python, perl, ruby, ...) to completion list.
*/
int
script_completion_languages_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
int i;
/* make C compiler happy */
(void) data;
(void) completion_item;
(void) buffer;
for (i = 0; i < SCRIPT_NUM_LANGUAGES; i++)
{
weechat_hook_completion_list_add (completion,
script_language[i],
0, WEECHAT_LIST_POS_SORT);
}
return WEECHAT_RC_OK;
}
/*
* Adds script extensions (py, pl, rb, ...) to completion list.
*/
int
script_completion_extensions_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
int i;
/* make C compiler happy */
(void) data;
(void) completion_item;
(void) buffer;
for (i = 0; i < SCRIPT_NUM_LANGUAGES; i++)
{
weechat_hook_completion_list_add (completion,
script_extension[i],
0, WEECHAT_LIST_POS_SORT);
}
return WEECHAT_RC_OK;
}
/*
* Adds scripts to completion list.
*/
@@ -215,6 +267,12 @@ script_completion_tags_cb (void *data, const char *completion_item,
void
script_completion_init ()
{
weechat_hook_completion ("script_languages",
N_("list of script languages"),
&script_completion_languages_cb, NULL);
weechat_hook_completion ("script_extensions",
N_("list of script extensions"),
&script_completion_extensions_cb, NULL);
weechat_hook_completion ("script_scripts",
N_("list of scripts in repository"),
&script_completion_scripts_cb, NULL);
+21 -1
View File
@@ -948,13 +948,33 @@ script_repo_match_filter (struct t_script_repo *script)
if (!has_tag)
{
match = 0;
if (script->name_with_extension
&& weechat_strcasestr (script->name_with_extension, words[i]))
&& weechat_strcasestr (script->name_with_extension,
words[i]))
{
match = 1;
}
if (!match
&& (weechat_strcasecmp (script_language[script->language],
words[i]) == 0))
{
match = 1;
}
if (!match
&& (weechat_strcasecmp (script_extension[script->language],
words[i]) == 0))
{
match = 1;
}
if (!match && script->description
&& weechat_strcasestr (script->description, words[i]))
{
match = 1;
}
if (!match)
{