From 8bdd540df72c3a609e9d51a5c52cf2d65f96d79b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sun, 12 Apr 2020 09:30:56 +0200 Subject: [PATCH] trigger: evaluate arguments of command when the trigger is created (closes #1472) --- ChangeLog.adoc | 1 + ReleaseNotes.adoc | 25 +++++ doc/de/autogen/user/trigger_commands.adoc | 114 ++++++++++----------- doc/de/weechat_user.de.adoc | 12 ++- doc/en/autogen/user/trigger_commands.adoc | 2 +- doc/en/weechat_user.en.adoc | 11 +- doc/fr/autogen/user/trigger_commands.adoc | 2 +- doc/fr/weechat_user.fr.adoc | 11 +- doc/it/autogen/user/trigger_commands.adoc | 2 +- doc/it/weechat_user.it.adoc | 11 +- doc/ja/autogen/user/trigger_commands.adoc | 116 +++++++++++----------- doc/ja/weechat_user.ja.adoc | 12 ++- doc/pl/autogen/user/trigger_commands.adoc | 114 ++++++++++----------- doc/pl/weechat_user.pl.adoc | 12 ++- po/cs.po | 5 +- po/de.po | 6 +- po/es.po | 5 +- po/fr.po | 10 +- po/hu.po | 5 +- po/it.po | 5 +- po/ja.po | 6 +- po/pl.po | 6 +- po/pt.po | 5 +- po/pt_BR.po | 5 +- po/ru.po | 5 +- po/tr.po | 5 +- po/weechat.pot | 5 +- src/plugins/trigger/trigger-command.c | 3 +- src/plugins/trigger/trigger.c | 25 ++++- 29 files changed, 308 insertions(+), 238 deletions(-) diff --git a/ChangeLog.adoc b/ChangeLog.adoc index dbabac6d7..14836832b 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -21,6 +21,7 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes] New features:: * buflist: evaluate option buflist.look.sort so that sort can be customized for each of the three buflist bar items (issue #1465) + * trigger: evaluate arguments of command when the trigger is created (issue #1472) Bug fixes:: diff --git a/ReleaseNotes.adoc b/ReleaseNotes.adoc index 6e8906046..9859c7c51 100644 --- a/ReleaseNotes.adoc +++ b/ReleaseNotes.adoc @@ -17,6 +17,31 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog] (file _ChangeLog.adoc_ in sources). +[[v2.9]] +== Version 2.9 (under dev) + +[[v2.9_trigger_command_eval]] +=== Evaluation of trigger command arguments + +The arguments for a trigger command (except the command itself) are now evaluated. + +That means you can use for example new lines in the command description, like that: + +---- +/trigger add test command "test;test command;arg1 arg2;arg1: description 1${\n}arg2: description 2" +---- + +The command `/help test` will display this help in WeeChat: + +---- +[trigger] /test arg1 arg2 + +test command + +arg1: description 1 +arg2: description 2 +---- + [[v2.8]] == Version 2.8 (2020-03-29) diff --git a/doc/de/autogen/user/trigger_commands.adoc b/doc/de/autogen/user/trigger_commands.adoc index 0de67d1dc..0fb52a275 100644 --- a/doc/de/autogen/user/trigger_commands.adoc +++ b/doc/de/autogen/user/trigger_commands.adoc @@ -20,69 +20,69 @@ default -yes monitor [] - list: zeigt eine Liste aller Trigger (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben) - listfull: zeigt eine detaillierte Liste, mit zusätzlichen Informationen, aller Trigger an -listdefault: zeigt die standardmäßig genutzten Trigger an - add: fügt einen Trigger hinzu - addoff: fügt einen Trigger hinzu (deaktiviert) - addreplace: erzeugt neuen Trigger oder ersetzt einen schon existierenden Trigger - name: Name des Trigger + list: list triggers (without argument, this list is displayed) + listfull: list triggers with detailed info for each trigger +listdefault: list default triggers + add: add a trigger + addoff: add a trigger (disabled) + addreplace: add or replace an existing trigger + name: name of trigger hook: signal, hsignal, modifier, line, print, command, command_run, timer, config, focus, info, info_hashtable - arguments: Argumente für den Hook, abhängig vom genutzten Hook (getrennt durch Semikolon): - signal: Name(en) des signals (erforderlich) - hsignal: Name(en) des hsignal (erforderlich) - modifier: Name(en) des modifier (erforderlich) - line: Buffertyp ("formatted", "free" oder "*"), Liste von Buffermasken, Tags - print: Buffer, Tags, Nachricht, Farben entfernen - command: Befehl (erforderlich), Beschreibung, Argumente, Beschreibung der Argumente, Vervollständigung - command_run: Befehl(e) (erforderlich) - timer: Intervall (erforderlich), Anpassung an Sekunden (erforderlich), maximale Anzahl an Aufrufen - config: Name der Einstellung (erforderlich) - focus: Name(n) für sichtbaren Bereich (erforderlich) (z.B. "chat" für Chatbereich) - info: Name(n) der Information (erforderlich) - info_hashtable: Name(n) der Information (erforderlich) - conditions: evaluierte Bedingungen für den Trigger - regex: einer oder mehrere reguläre Ausdrücke um Zeichenketten in Variablen zu ersetzen - command: Befehl welcher ausgeführt werden soll (mehrere Befehle müssen durch ";" voneinander getrennt werden) -return_code: Rückgabewert für Callback (ok (standard), ok_eat, error) -post_action: Aktion welche nach der Abarbeitung des Triggers ausgeführt werden soll (none (Standardwert), disable, delete) - addinput: erstellt einen Trigger mit einer standardmäßigen Mustervorlage - input: kopiert den kompletten Trigger-Befehl in die Eingabezeile - output: schickt den Trigger-Befehl als Text in den Buffer - recreate: wie "input", allerdings wird die Einstellung "addreplace" anstelle von "add" genutzt - set: definiert, innerhalb eines Triggers, eine Einstellung neu - option: Name einer Einstellung: name, hook, arguments, conditions, regex, command, return_code - (um Hilfe über eine Einstellung zu erhalten: /help trigger.trigger..