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

core: add option weechat.completion.cycle

This commit is contained in:
Sébastien Helleu
2025-09-11 21:10:52 +02:00
parent 767ea84909
commit e2ae308e3b
18 changed files with 103 additions and 16 deletions
+4
View File
@@ -8,6 +8,10 @@ SPDX-License-Identifier: GPL-3.0-or-later
## Version 4.8.0 (under dev)
### Added
- core: add option weechat.completion.cycle
### Changed
- api: add support of date like ISO 8601 but with spaces and lower `t` and `z` in function util_parse_time ([#886](https://github.com/weechat/weechat/issues/886))
+6 -1
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-05-04 09:24+0200\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5395,6 +5395,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
#, fuzzy
msgid ""
"default completion template (please see documentation for template codes and "
+6 -1
View File
@@ -28,7 +28,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-05-05 09:24+0200\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
@@ -6149,6 +6149,11 @@ msgstr ""
"Verzeichnissen, die mit \"/\" beginnen, funktioniert außerhalb von Befehlen "
"nicht mehr"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+6 -1
View File
@@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5535,6 +5535,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
#, fuzzy
msgid ""
"default completion template (please see documentation for template codes and "
+9 -2
View File
@@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-08-16 19:26+0200\n"
"PO-Revision-Date: 2025-08-16 19:27+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-09-11 21:09+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -6021,6 +6021,13 @@ msgstr ""
"plus de complétion automatique des chemins commençant par \"/\" (en dehors "
"des paramètres de commandes)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
"si activé, redémarrer au début (première complétion trouvée) lorsque la "
"dernière complétion est atteinte, sinon stopper à la dernière complétion"
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+6 -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: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5109,6 +5109,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+6 -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: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5518,6 +5518,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+6 -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: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
@@ -5698,6 +5698,11 @@ msgstr ""
"も優先度が高く、最初に評価されます); 注意: このオプションが有効な場合、\"/\" "
"で始まるパスの自動補完は行われません (外部コマンドの引数)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+6 -1
View File
@@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5995,6 +5995,11 @@ msgstr ""
"włączenie tej opcji wyłącza automatyczne dopełnianie ścieżek zaczynających "
"się od \"/\" (poza argumentami komend)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+6 -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: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese <>\n"
@@ -5737,6 +5737,11 @@ msgstr ""
"quando esta opção está ativada, já não é possível completar os caminhos "
"começados por \"/\" (fora dos argumentos dos comandos)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+6 -1
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5438,6 +5438,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
#, fuzzy
msgid ""
"default completion template (please see documentation for template codes and "
+6 -1
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5143,6 +5143,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+6 -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: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-07-09 15:48+0400\n"
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5815,6 +5815,11 @@ msgstr ""
"опција укључи, више се не врши аутоматско довршавање путања које почињу са "
"„/” (ван аргумената команде)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+6 -1
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\n"
"PO-Revision-Date: 2025-07-06 09:25+0200\n"
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5604,6 +5604,11 @@ msgstr ""
"seçenek etkinleştirildiğinde \"/\" ile başlayan yollar için kendiliğinden "
"tamamlama artık kullanılamaz (komut argümanları dışında)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+6 -1
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-08-16 19:26+0200\n"
"POT-Creation-Date: 2025-09-11 21:08+0200\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"
@@ -4770,6 +4770,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
+9
View File
@@ -305,6 +305,7 @@ struct t_config_option *config_color_status_time = NULL;
struct t_config_option *config_completion_base_word_until_cursor = NULL;
struct t_config_option *config_completion_case_sensitive = NULL;
struct t_config_option *config_completion_command_inline = NULL;
struct t_config_option *config_completion_cycle = NULL;
struct t_config_option *config_completion_default_template = NULL;
struct t_config_option *config_completion_nick_add_space = NULL;
struct t_config_option *config_completion_nick_case_sensitive = NULL;
@@ -5185,6 +5186,14 @@ config_weechat_init_options (void)
"commands arguments)"),
NULL, 0, 0, "on", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_completion_cycle = config_file_new_option (
weechat_config_file, weechat_config_section_completion,
"cycle", "boolean",
N_("if enabled, restart from beginning (first completion found) "
"when the last completion is reached, otherwise stop at last "
"completion"),
NULL, 0, 0, "on", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_completion_default_template = config_file_new_option (
weechat_config_file, weechat_config_section_completion,
"default_template", "string",
+1
View File
@@ -354,6 +354,7 @@ extern struct t_config_option *config_color_status_time;
extern struct t_config_option *config_completion_base_word_until_cursor;
extern struct t_config_option *config_completion_case_sensitive;
extern struct t_config_option *config_completion_command_inline;
extern struct t_config_option *config_completion_cycle;
extern struct t_config_option *config_completion_default_template;
extern struct t_config_option *config_completion_nick_add_space;
extern struct t_config_option *config_completion_nick_case_sensitive;
+2 -1
View File
@@ -1384,7 +1384,8 @@ gui_completion_complete (struct t_gui_completion *completion)
* if we was on last completion in list, then complete again, starting from
* first matching item
*/
if (completion->word_found && (completion->position >= 0))
if (CONFIG_BOOLEAN(config_completion_cycle)
&& completion->word_found && (completion->position >= 0))
{
free (completion->word_found);
completion->word_found = NULL;