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

exec: display output of commands in real time, add options -flush/-noflush in command /exec

This commit is contained in:
Sébastien Helleu
2014-04-03 11:55:04 +02:00
parent 936d5559f4
commit 7c55cbb38b
22 changed files with 391 additions and 285 deletions
+47 -45
View File
@@ -3,7 +3,7 @@
----
/exec -list
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
-in <id> <text>
-inclose <id> [<text>]
-signal <id> <signal>
@@ -12,52 +12,54 @@
-set <id> <property> <value>
-del <id>|-all [<id>...]
-list: zeigt laufende Befehle an
-sh: es wird die shell um Befehle auszuführen (WARNUNG: Diese Option sollte nur verwendet werden, falls alle Argumente unbedenklich sind, siehe Option -nosh)
-nosh: die shell wird nicht verwendet um Befehle auszuführen (wird benötigt, falls der Befehl mit sensiblen Daten hantiert. Zum Beispiel der Inhalt einer Nachricht eines anderen Users)
-bg: führt Prozess im Hintergrund aus: gibt weder eine Prozessausgabe noch einen Rückgabewert aus (nicht kompatibel mit Optionen -o/-n)
-nobg: gibt Prozessausgabe und Rückgabewert aus (Standardverhalten)
-stdin: erstellt eine PIPE um Daten zu dem Prozess zu senden (mittels /exec -in/-inclose)
-nostdin: es wird keine PIPE für stdin erstellt (Standardverhalten)
-buffer: zeigt/sendet Ausgabe des Befehls an diesen Buffer (wird der angegebene Buffer nicht gefunden wird ein neuer Bufger mit dem Namen "exec.exec.xxx" erstellt)
-l: gibt die Ausgabe des Befehls lokal im Buffer aus (Standardverhalten)
-o: gibt die Ausgabe des Befehls im Buffer aus (nicht kompatibel mit Option -bg)
-n: gibt die Ausgabe des Befehls in einem neuen Buffer aus (nicht kompatibel mit Option -bg)
-nf: gibt die Ausgabe des Befehls in einem neuen Buffer, mit einem freien Inhalt (kein Zeilenumbruch, keine Limitierung in der Anzahl der Zeilen), aus (nicht kompatibel mit Option -bg)
-cl: der neue Buffer wird vor einer Ausgabe gelöscht
-nocl: Ausgabe wird an neuen Buffer angehangen, ohne diesen vorher zu löschen (Standardverhalten)
-sw: es wird zum Ausgabebuffer gewechselt (Standardverhalten)
-nosw: es wird nicht zum Ausgabebuffer gewechselt
-ln: legt eine Zeilennummerierung an (Standardverhalten, nur für neue Buffer)
-noln: es wird keine Zeilennummerierung angezeigt
-color: es wird eine der folgenden Aktionen bei ANSI Zeichenkodierungen in der Ausgabe durchgeführt:
ansi: ANSI-Kodierung wird beibehalten
auto: konvertiert ANSI-Farben nach WeeChat/IRC (Standardverhalten)
irc: konvertiert ANSI-Farben nach IRC Farben
weechat: konvertiert ANSI-Farben nach WeeChat-Farben
strip: ANSI-Farben werden entfernt
-rc: der Rückgabewert wird ausgegeben (Standardverhalten)
-norc: der Rückgabewert wird unterdrückt
-timeout: gibt eine Zeitbeschränkung für den auszuführenden Befehl an (in Sekunden)
-name: dem Befehl wird ein Name zugewiesen (um den Befehl später mittels /exec zu nutzen)
-pipe: sendet die Ausgabe an einen Befehl von WeeChat/Erweiterung (Zeile für Zeile); sollen Leerzeichen im Befehl/Argument verwendet werden, müssen diese mit Anführungszeichen eingeschlossen werden; Variable $line wird durch die entsprechende Zeile ersetzt (standardmäßig wird die Zeile, getrennt durch ein Leerzeichen, dem Befehl nachgestellt (nicht kompatibel mit den Optionen -bg/-o/-n)
-hsignal: sendet die Ausgabe als hsignal (um es z.B. mittels /trigger zu verwenden) (nicht kompatibel mit den Optionen -bg/-o/-n)
command: Befehl der ausgeführt werden soll; beginnt der Befehl mit "url:", wird die shell deaktiviert und der Inhalt der URL wird heruntergeladen und im Buffer ausgegeben
id: identifiziert eindeutig einen Befehl: entweder durch eine Nummer oder einen Namen (sofern ein Name mittels "-name xxx" zugewiesen wurde)
-in: sendet Text an die Standardeingabe des Prozesses
-inclose: wie -in aber stdin wird danach geschlossen (und der Text ist optional: ohne Text wird stdin umgehend geschlossen
-signal: schickt ein Signal an den Prozess; das Signal kann entweder ein Integerwert oder eines der folgenden Schlüsselworte sein: hup, int, quit, kill, term, usr1, usr2
-kill: Alias für "-signal <id> kill"
-killall: beendet alle laufenden Prozesse
-set: nutzt eine Hook-Fähigkeit (siehe Funktion hook_set in Anleitung für API Erweiterung)
property: Hook-Fähigkeit
value: neuer Wert für Hook-Fähigkeit
-del: entfernt einen beendeten Befehl
-all: entfernt alle beendeten Befehle
-list: list commands
-sh: use the shell to execute the command (WARNING: use this option ONLY if all arguments are safe, see option -nosh)
-nosh: do not use the shell to execute the command (required if the command has some unsafe data, for example the content of a message from another user) (default)
-bg: run process in background: do not display process output neither return code (not compatible with options -o/-n)
-nobg: catch process output and display return code (default)
-stdin: create a pipe for sending data to the process (with /exec -in/-inclose)
-nostdin: do not create a pipe for stdin (default)
-buffer: display/send output of command on this buffer (if the buffer is not found, a new buffer with name "exec.exec.xxx" is created)
-l: display locally output of command on buffer (default)
-o: send output of command to the buffer (not compatible with option -bg)
-n: display output of command in a new buffer (not compatible with option -bg)
-nf: display output of command in a new buffer with free content (no word-wrap, no limit on number of lines) (not compatible with option -bg)
-cl: clear the new buffer before displaying output
-nocl: append to the new buffer without clear (default)
-sw: switch to the output buffer (default)
-nosw: don't switch to the output buffer
-ln: display line numbers (default in new buffer only)
-noln: don't display line numbers
-flush: display output of command in real time (default)
-noflush: display output of command after its end
-color: action on ANSI colors in output:
ansi: keep ANSI codes as-is
auto: convert ANSI colors to WeeChat/IRC (default)
irc: convert ANSI colors to IRC colors
weechat: convert ANSI colors to WeeChat colors
strip: remove ANSI colors
-rc: display return code (default)
-norc: don't display return code
-timeout: set a timeout for the command (in seconds)
-name: set a name for the command (to name it later with /exec)
-pipe: send the output to a WeeChat/plugin command (line by line); if there are spaces in command/arguments, enclose them with double quotes; variable $line is replaced by the line (by default the line is added after the command, separated by a space) (not compatible with options -bg/-o/-n)
-hsignal: send the output as a hsignal (to be used for example in a trigger) (not compatible with options -bg/-o/-n)
command: the command to execute; if beginning with "url:", the shell is disabled and the content of URL is downloaded and sent as output
id: command identifier: either its number or name (if set with "-name xxx")
-in: send text on standard input of process
-inclose: same as -in, but stdin is closed after (and text is optional: without text, the stdin is just closed)
-signal: send a signal to the process; the signal can be an integer or one of these names: hup, int, quit, kill, term, usr1, usr2
-kill: alias of "-signal <id> kill"
-killall: kill all running processes
-set: set a hook property (see function hook_set in plugin API reference)
property: hook property
value: new value for hook property
-del: delete a terminated command
-all: delete all terminated commands
Standardoptionen können in der Option exec.command.default_options bestimmt werden.
Default options can be set in the option exec.command.default_options.
Beispiele:
Examples:
/exec -n ls -l /tmp
/exec -n ps xu | grep weechat
/exec -n -norc url:http://pastebin.com/raw.php?i=xxxxxxxx
+3 -1
View File
@@ -3,7 +3,7 @@
----
/exec -list
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
-in <id> <text>
-inclose <id> [<text>]
-signal <id> <signal>
@@ -30,6 +30,8 @@
-nosw: don't switch to the output buffer
-ln: display line numbers (default in new buffer only)
-noln: don't display line numbers
-flush: display output of command in real time (default)
-noflush: display output of command after its end
-color: action on ANSI colors in output:
ansi: keep ANSI codes as-is
auto: convert ANSI colors to WeeChat/IRC (default)
+3 -1
View File
@@ -3,7 +3,7 @@
----
/exec -list
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <nom>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <délai>] [-name <nom>] [-pipe <commande>] [-hsignal <nom>] <commande>
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <nom>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] |-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <délai>] [-name <nom>] [-pipe <commande>] [-hsignal <nom>] <commande>
-in <id> <texte>
-inclose <id> [<texte>]
-signal <id> <signal>
@@ -30,6 +30,8 @@
-nosw: ne pas basculer vers le tampon de sortie
-ln: afficher les numéros de ligne (par défaut dans un nouveau tampon seulement)
-noln: ne pas afficher les numéros de ligne
-flush: afficher la sortie de la commande en temps réel (par défaut)
-noflush: afficher la sortie de la commande une fois qu'elle est terminée
-color: action sur les couleurs ANSI dans la sortie :
ansi: garder les codes ANSI tels quels
auto: convertir les couleurs ANSI en couleurs WeeChat/IRC (par défaut)
+3 -1
View File
@@ -3,7 +3,7 @@
----
/exec -list
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
-in <id> <text>
-inclose <id> [<text>]
-signal <id> <signal>
@@ -30,6 +30,8 @@
-nosw: don't switch to the output buffer
-ln: display line numbers (default in new buffer only)
-noln: don't display line numbers
-flush: display output of command in real time (default)
-noflush: display output of command after its end
-color: action on ANSI colors in output:
ansi: keep ANSI codes as-is
auto: convert ANSI colors to WeeChat/IRC (default)
+3 -1
View File
@@ -3,7 +3,7 @@
----
/exec -list
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
-in <id> <text>
-inclose <id> [<text>]
-signal <id> <signal>
@@ -30,6 +30,8 @@
-nosw: don't switch to the output buffer
-ln: display line numbers (default in new buffer only)
-noln: don't display line numbers
-flush: display output of command in real time (default)
-noflush: display output of command after its end
-color: action on ANSI colors in output:
ansi: keep ANSI codes as-is
auto: convert ANSI colors to WeeChat/IRC (default)
+3 -1
View File
@@ -3,7 +3,7 @@
----
/exec -list
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
[-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
-in <id> <text>
-inclose <id> [<text>]
-signal <id> <signal>
@@ -30,6 +30,8 @@
-nosw: don't switch to the output buffer
-ln: display line numbers (default in new buffer only)
-noln: don't display line numbers
-flush: display output of command in real time (default)
-noflush: display output of command after its end
-color: action on ANSI colors in output:
ansi: keep ANSI codes as-is
auto: convert ANSI colors to WeeChat/IRC (default)
+8 -6
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-03-24 14:23+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4625,11 +4625,11 @@ msgstr "vykonat příkaz v tichosti"
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
msgid ""
@@ -4660,6 +4660,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
+24 -20
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-04-02 20:17+0100\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <weechatter@arcor.de>\n"
@@ -45,11 +45,11 @@ msgid "max chars"
msgstr "maximale Zeichenanzahl"
msgid ""
"a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)"
"green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal "
"color number or an alias; attributes are allowed before color (for text "
"color only, not background): \"*\" for bold, \"!\" for reverse, \"/\" for "
"italic, \"_\" for underline"
"a WeeChat color name (default, black, (dark)gray, white, (light)red, "
"(light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a "
"terminal color number or an alias; attributes are allowed before color (for "
"text color only, not background): \"*\" for bold, \"!\" for reverse, \"/\" "
"for italic, \"_\" for underline"
msgstr ""
"ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, "
"(light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine "
@@ -5164,9 +5164,9 @@ msgid ""
"suggestions in all languages)"
msgstr ""
"legt die Anzahl an Vorschlägen, für ein falsch geschriebenes Wort, fest. Die "
"Vorschläge werden mittels der Bar-Item \"aspell_suggest\", für die jeweilige"
"(n) Sprache(n), die für den Buffer augewählt wurden, angezeigt (-1 = "
"deaktiviert die Funktion, 0 = zeigt alle verfügbaren Vorschläge, für alle "
"Vorschläge werden mittels der Bar-Item \"aspell_suggest\", für die "
"jeweilige(n) Sprache(n), die für den Buffer augewählt wurden, angezeigt (-1 "
"= deaktiviert die Funktion, 0 = zeigt alle verfügbaren Vorschläge, für alle "
"ausgewählten Sprachen, an)"
msgid ""
@@ -5336,13 +5336,14 @@ msgstr "Befehl \"%s\" entfernt"
msgid "execute external commands"
msgstr "führe externe Befehle aus"
#, fuzzy
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
@@ -5351,6 +5352,7 @@ msgstr ""
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
#, fuzzy
msgid ""
" -list: list commands\n"
" -sh: use the shell to execute the command (WARNING: use this option "
@@ -5379,6 +5381,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
@@ -6169,8 +6173,8 @@ msgstr ""
"werden)\n"
" - Hostname/Port oder IP/Port (damit wird lediglich ein "
"TEMPORÄRER Server erstellt), Port 6667 wird standardmäßig verwendet\n"
" - URL mit folgendem Format: irc[6][s]://[nickname[:password]@]"
"irc.example.org[:port][/#channel1][,#channel2[...]]\n"
" - URL mit folgendem Format: irc[6][s]://[nickname[:"
"password]@]irc.example.org[:port][/#channel1][,#channel2[...]]\n"
" option: legt Option für den Server fest (die Boolean-Optionen können "
"weggelassen werden)\n"
" nooption: deaktiviert eine Boolean Option (Beispiel: -nossl)\n"
@@ -11306,8 +11310,8 @@ msgid ""
"Examples (you can also look at default triggers with /trigger listdefault):\n"
" add text attributes *bold*, _underline_ and /italic/ (only in user "
"messages):\n"
" /trigger add effects modifier weechat_print \"${tg_tag_nick}\" \"==\\*"
"(\\S+)\\*==*${color:bold}$1${color:-bold}*== ==_(\\S+)_==_${color:"
" /trigger add effects modifier weechat_print \"${tg_tag_nick}\" \"=="
"\\*(\\S+)\\*==*${color:bold}$1${color:-bold}*== ==_(\\S+)_==_${color:"
"underline}$1${color:-underline}_== ==/(\\S+)/==/${color:italic}$1${color:-"
"italic}/\"\n"
" hide nicklist bar on small terminals:\n"
@@ -11397,8 +11401,8 @@ msgstr ""
"trigger listdefault\" anzeigen lassen):\n"
" fügt einer Nachricht die Textattribute *fett*, _unterstrichen_ und /"
"kursiv/ hinzu:\n"
" /trigger add effects modifier weechat_print \"${tg_tag_nick}\" \"==\\*"
"(\\S+)\\*==*${color:bold}$1${color:-bold}*== ==_(\\S+)_==_${color:"
" /trigger add effects modifier weechat_print \"${tg_tag_nick}\" \"=="
"\\*(\\S+)\\*==*${color:bold}$1${color:-bold}*== ==_(\\S+)_==_${color:"
"underline}$1${color:-underline}_== ==/(\\S+)/==/${color:italic}$1${color:-"
"italic}/\"\n"
" verbirgt die Nicklist auf kleineren Terminals:\n"
+8 -6
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-03-24 14:23+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4839,11 +4839,11 @@ msgstr "ejecuta un comando silenciosamente"
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
msgid ""
@@ -4874,6 +4874,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
+16 -12
View File
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"PO-Revision-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-04-03 11:19+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -5207,18 +5207,18 @@ msgstr "exécuter des commandes externes"
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <nom>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <délai>] [-name <nom>] [-pipe <commande>] [-"
"hsignal <nom>] <commande> || -in <id> <texte> || -inclose <id> [<texte>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <propriété> "
"<valeur> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] |-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <délai>] [-name <nom>] [-pipe "
"<commande>] [-hsignal <nom>] <commande> || -in <id> <texte> || -inclose <id> "
"[<texte>] || -signal <id> <signal> || -kill <id> || -killall || -set <id> "
"<propriété> <valeur> || -del <id>|-all [<id>...]"
msgid ""
" -list: list commands\n"
@@ -5248,6 +5248,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
@@ -5326,6 +5328,8 @@ msgstr ""
" -ln: afficher les numéros de ligne (par défaut dans un nouveau tampon "
"seulement)\n"
" -noln: ne pas afficher les numéros de ligne\n"
" -flush: afficher la sortie de la commande en temps réel (par défaut)\n"
" -noflush: afficher la sortie de la commande une fois qu'elle est terminée\n"
" -color: action sur les couleurs ANSI dans la sortie :\n"
" ansi: garder les codes ANSI tels quels\n"
" auto: convertir les couleurs ANSI en couleurs WeeChat/IRC (par "
+8 -6
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-03-24 14:23+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4213,11 +4213,11 @@ msgstr "%s belső parancsok:\n"
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
msgid ""
@@ -4248,6 +4248,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
+8 -6
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-03-24 14:23+0100\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4978,11 +4978,11 @@ msgstr "esegue un comando in silenzio"
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
msgid ""
@@ -5013,6 +5013,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
+9 -6
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-03-29 20:07+0900\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/translation_ja>\n"
@@ -5001,13 +5001,14 @@ msgstr "コマンド \"%s\" を削除"
msgid "execute external commands"
msgstr "外部コマンドを実行"
#, fuzzy
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
@@ -5045,6 +5046,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
+8 -6
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-03-24 14:23+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5100,11 +5100,11 @@ msgstr "wykonuje komendę po cichu"
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
msgid ""
@@ -5135,6 +5135,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
+8 -6
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-03-24 14:23+0100\n"
"Last-Translator: Sergio Durigan Junior <sergiosdj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4681,11 +4681,11 @@ msgstr "executa um comando silenciosamente"
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
msgid ""
@@ -4716,6 +4716,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
+8 -6
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-03-24 14:23+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4246,11 +4246,11 @@ msgstr "Внутренние команды %s:\n"
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
msgid ""
@@ -4281,6 +4281,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
+8 -6
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2014-03-24 14:23+0100\n"
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3803,11 +3803,11 @@ msgstr "weechat komutları"
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
msgid ""
@@ -3838,6 +3838,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
+8 -6
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-04-02 19:54+0200\n"
"POT-Creation-Date: 2014-04-03 11:18+0200\n"
"PO-Revision-Date: 2013-02-14 18:20+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3803,11 +3803,11 @@ msgstr ""
msgid ""
"-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|"
"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-"
"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -"
"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> "
"<value> || -del <id>|-all [<id>...]"
"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|"
"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-"
"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose "
"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set "
"<id> <property> <value> || -del <id>|-all [<id>...]"
msgstr ""
msgid ""
@@ -3838,6 +3838,8 @@ msgid ""
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
+16 -2
View File
@@ -268,6 +268,14 @@ exec_command_parse_options (struct t_exec_cmd_options *cmd_options,
{
cmd_options->line_numbers = 0;
}
else if (weechat_strcasecmp (argv[i], "-flush") == 0)
{
cmd_options->flush = 1;
}
else if (weechat_strcasecmp (argv[i], "-noflush") == 0)
{
cmd_options->flush = 0;
}
else if (weechat_strcasecmp (argv[i], "-color") == 0)
{
if (i + 1 >= argc)
@@ -405,6 +413,7 @@ exec_command_run (struct t_gui_buffer *buffer,
cmd_options.new_buffer_clear = 0;
cmd_options.switch_to_buffer = 1;
cmd_options.line_numbers = -1;
cmd_options.flush = 1;
cmd_options.color = EXEC_COLOR_AUTO;
cmd_options.display_rc = 1;
cmd_options.ptr_command_name = NULL;
@@ -470,6 +479,8 @@ exec_command_run (struct t_gui_buffer *buffer,
weechat_hashtable_set (process_options, "stdin", "1");
if (cmd_options.detached)
weechat_hashtable_set (process_options, "detached", "1");
if (cmd_options.flush)
weechat_hashtable_set (process_options, "buffer_flush", "1");
/* set variables in new command (before running the command) */
new_exec_cmd->name = (cmd_options.ptr_command_name) ?
@@ -775,7 +786,7 @@ exec_command_init ()
N_("-list"
" || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] "
"[-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] "
"[-color ansi|auto|irc|weechat|strip] [-rc|-norc] "
"[-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] "
"[-timeout <timeout>] [-name <name>] [-pipe <command>] "
"[-hsignal <name>] <command>"
" || -in <id> <text>"
@@ -814,6 +825,8 @@ exec_command_init ()
" -nosw: don't switch to the output buffer\n"
" -ln: display line numbers (default in new buffer only)\n"
" -noln: don't display line numbers\n"
" -flush: display output of command in real time (default)\n"
"-noflush: display output of command after its end\n"
" -color: action on ANSI colors in output:\n"
" ansi: keep ANSI codes as-is\n"
" auto: convert ANSI colors to WeeChat/IRC (default)\n"
@@ -863,7 +876,8 @@ exec_command_init ()
" /exec -pipe \"/print Machine uptime:\" uptime"),
"-list"
" || -sh|-nosh|-bg|-nobg|-stdin|-nostdin|-buffer|-l|-o|-n|-nf|"
"-cl|-nocl|-sw|-nosw|-ln|-noln|-color|-timeout|-name|-pipe|-hsignal|%*"
"-cl|-nocl|-sw|-nosw|-ln|-noln|-flush|-noflush|-color|-timeout|-name|"
"-pipe|-hsignal|%*"
" || -in|-inclose|-signal|-kill %(exec_commands_ids)"
" || -killall"
" || -set %(exec_commands_ids) stdin|stdin_close|signal"
+1
View File
@@ -34,6 +34,7 @@ struct t_exec_cmd_options
int new_buffer_clear; /* 1 to clear buffer before output */
int switch_to_buffer; /* switch to the output buffer */
int line_numbers; /* 1 to display line numbers */
int flush; /* 1 to flush lines immediately */
int color; /* what to do with ANSI colors */
int display_rc; /* 1 to display return code */
const char *ptr_command_name; /* name of command */
+185 -137
View File
@@ -114,7 +114,7 @@ struct t_exec_cmd *
exec_add ()
{
struct t_exec_cmd *new_exec_cmd, *ptr_exec_cmd;
int number;
int i, number;
/* find first available number */
number = (last_exec_cmd) ? last_exec_cmd->number + 1 : 0;
@@ -153,10 +153,12 @@ exec_add ()
new_exec_cmd->buffer_full_name = NULL;
new_exec_cmd->line_numbers = 0;
new_exec_cmd->display_rc = 0;
new_exec_cmd->out_size = 0;
new_exec_cmd->out = NULL;
new_exec_cmd->err_size = 0;
new_exec_cmd->err = NULL;
new_exec_cmd->output_line_nb = 0;
for (i = 0; i < 2; i++)
{
new_exec_cmd->output_size[i] = 0;
new_exec_cmd->output[i] = NULL;
}
new_exec_cmd->return_code = -1;
new_exec_cmd->pipe_command = NULL;
new_exec_cmd->hsignal = NULL;
@@ -195,27 +197,6 @@ exec_timer_delete_cb (void *data, int remaining_calls)
return WEECHAT_RC_OK;
}
/*
* Concatenates some text to stdout/stderr of a command.
*/
void
exec_concat_output (int *size, char **output, const char *text)
{
int length, new_size;
char *new_output;
length = strlen (text);
new_size = *size + length;
new_output = realloc (*output, new_size + 1);
if (!new_output)
return;
*output = new_output;
memcpy (*output + *size, text, length + 1);
*size = new_size;
}
/*
* Decodes colors in a string (from stdout/stderr).
*
@@ -258,19 +239,22 @@ exec_decode_color (struct t_exec_cmd *exec_cmd, const char *string)
}
/*
* Displays output of a command.
* Displays a line of output.
*/
void
exec_display_output (struct t_exec_cmd *exec_cmd,
struct t_gui_buffer *buffer, int out)
exec_display_line (struct t_exec_cmd *exec_cmd, struct t_gui_buffer *buffer,
int out, const char *line)
{
char *line_color, *line2, str_number[32], str_tags[1024];
int length;
/*
char *ptr_output, *ptr_line, *line, *line2, *pos;
char str_number[32], str_tags[1024];
int line_nb, length;
int length;
*/
ptr_output = (out) ? exec_cmd->out : exec_cmd->err;
if (!ptr_output)
if (!exec_cmd || !line)
return;
/*
@@ -280,99 +264,149 @@ exec_display_output (struct t_exec_cmd *exec_cmd,
if (exec_cmd->output_to_buffer && !exec_cmd->pipe_command && !buffer)
return;
ptr_line = ptr_output;
line_nb = 1;
while (ptr_line)
/* decode colors */
line_color = exec_decode_color (exec_cmd, line);
if (!line_color)
return;
exec_cmd->output_line_nb++;
if (exec_cmd->pipe_command)
{
/* ignore last empty line */
if (!ptr_line[0])
break;
/* search end of line */
pos = strchr (ptr_line, '\n');
line = (pos) ?
weechat_strndup (ptr_line, pos - ptr_line) : strdup (ptr_line);
if (!line)
break;
/* decode colors */
line2 = exec_decode_color (exec_cmd, line);
free (line);
if (!line2)
break;
line = line2;
if (exec_cmd->pipe_command)
if (strstr (exec_cmd->pipe_command, "$line"))
{
if (strstr (exec_cmd->pipe_command, "$line"))
/* replace $line by line content */
line2 = weechat_string_replace (exec_cmd->pipe_command,
"$line", line_color);
if (line2)
{
/* replace $line by line content */
line2 = weechat_string_replace (exec_cmd->pipe_command,
"$line", line);
if (line2)
{
weechat_command (buffer, line2);
free (line2);
}
weechat_command (buffer, line2);
free (line2);
}
else
{
/* add line at the end of command, after a space */
length = strlen (exec_cmd->pipe_command) + 1 + strlen (line) + 1;
line2 = malloc (length);
if (line2)
{
snprintf (line2, length, "%s %s", exec_cmd->pipe_command, line);
weechat_command (buffer, line2);
free (line2);
}
}
}
else if (exec_cmd->output_to_buffer)
{
if (exec_cmd->line_numbers)
{
length = 32 + strlen (line) + 1;
line2 = malloc (length);
if (line2)
{
snprintf (line2, length, "%d. %s", line_nb, line);
weechat_command (buffer, line2);
free (line2);
}
}
else
weechat_command (buffer, (line[0]) ? line : " ");
}
else
{
snprintf (str_number, sizeof (str_number), "%d", exec_cmd->number);
snprintf (str_tags, sizeof (str_tags),
"exec_%s,exec_cmd_%s",
(out) ? "stdout" : "stderr",
(exec_cmd->name) ? exec_cmd->name : str_number);
if (weechat_buffer_get_integer (buffer, "type") == 1)
/* add line at the end of command, after a space */
length = strlen (exec_cmd->pipe_command) + 1 + strlen (line_color) + 1;
line2 = malloc (length);
if (line2)
{
snprintf (str_number, sizeof (str_number), "%d. ", line_nb);
weechat_printf_y (buffer, -1,
"%s%s",
(exec_cmd->line_numbers) ? str_number : " ",
line);
}
else
{
snprintf (str_number, sizeof (str_number), "%d\t", line_nb);
weechat_printf_tags (buffer, str_tags,
"%s%s",
(exec_cmd->line_numbers) ? str_number : " \t",
line);
snprintf (line2, length,
"%s %s", exec_cmd->pipe_command, line_color);
weechat_command (buffer, line2);
free (line2);
}
}
}
else if (exec_cmd->output_to_buffer)
{
if (exec_cmd->line_numbers)
{
length = 32 + strlen (line_color) + 1;
line2 = malloc (length);
if (line2)
{
snprintf (line2, length,
"%d. %s", exec_cmd->output_line_nb, line_color);
weechat_command (buffer, line2);
free (line2);
}
}
else
weechat_command (buffer, (line_color[0]) ? line_color : " ");
}
else
{
snprintf (str_number, sizeof (str_number), "%d", exec_cmd->number);
snprintf (str_tags, sizeof (str_tags),
"exec_%s,exec_cmd_%s",
(out) ? "stdout" : "stderr",
(exec_cmd->name) ? exec_cmd->name : str_number);
if (weechat_buffer_get_integer (buffer, "type") == 1)
{
snprintf (str_number, sizeof (str_number),
"%d. ", exec_cmd->output_line_nb);
weechat_printf_y (buffer, -1,
"%s%s",
(exec_cmd->line_numbers) ? str_number : " ",
line_color);
}
else
{
snprintf (str_number, sizeof (str_number),
"%d\t", exec_cmd->output_line_nb);
weechat_printf_tags (buffer, str_tags,
"%s%s",
(exec_cmd->line_numbers) ? str_number : " \t",
line_color);
}
}
}
free (line);
line_nb++;
ptr_line = (pos) ? pos + 1 : NULL;
/*
* Concatenates some text to stdout/stderr of a command.
*/
void
exec_concat_output (struct t_exec_cmd *exec_cmd, struct t_gui_buffer *buffer,
int out, const char *text)
{
int length, new_size;
const char *ptr_text;
char *new_output, *pos, *line;
ptr_text = text;
/* if output is not sent as hsignal, display lines (ending with '\n') */
if (!exec_cmd->hsignal)
{
ptr_text = text;
while (ptr_text[0])
{
pos = strchr (ptr_text, '\n');
if (!pos)
break;
if (exec_cmd->output_size[out] > 0)
{
length = exec_cmd->output_size[out] + (pos - ptr_text) + 1;
line = malloc (length);
if (line)
{
memcpy (line, exec_cmd->output[out],
exec_cmd->output_size[out]);
memcpy (line + exec_cmd->output_size[out],
ptr_text, pos - ptr_text);
line[length - 1] = '\0';
}
}
else
line = weechat_strndup (ptr_text, pos - ptr_text);
if (!line)
break;
if (exec_cmd->output[out])
{
free (exec_cmd->output[out]);
exec_cmd->output[out] = NULL;
}
exec_cmd->output_size[out] = 0;
exec_display_line (exec_cmd, buffer, out, line);
free (line);
ptr_text = pos + 1;
}
}
/* concatenate ptr_text to output buffer */
length = strlen (ptr_text);
if (length > 0)
{
new_size = exec_cmd->output_size[out] + length;
new_output = realloc (exec_cmd->output[out], new_size + 1);
if (!new_output)
return;
exec_cmd->output[out] = new_output;
memcpy (exec_cmd->output[out] + exec_cmd->output_size[out],
ptr_text, length + 1);
exec_cmd->output_size[out] = new_size;
}
}
@@ -386,7 +420,7 @@ exec_end_command (struct t_exec_cmd *exec_cmd, int return_code)
struct t_gui_buffer *ptr_buffer;
struct t_hashtable *hashtable;
char str_number[32], *output;
int buffer_type;
int i, buffer_type;
if (exec_cmd->hsignal)
{
@@ -401,11 +435,11 @@ exec_end_command (struct t_exec_cmd *exec_cmd, int return_code)
snprintf (str_number, sizeof (str_number), "%d", exec_cmd->number);
weechat_hashtable_set (hashtable, "number", str_number);
weechat_hashtable_set (hashtable, "name", exec_cmd->name);
output = exec_decode_color (exec_cmd, exec_cmd->out);
output = exec_decode_color (exec_cmd, exec_cmd->output[EXEC_STDOUT]);
weechat_hashtable_set (hashtable, "out", output);
if (output)
free (output);
output = exec_decode_color (exec_cmd, exec_cmd->err);
output = exec_decode_color (exec_cmd, exec_cmd->output[EXEC_STDERR]);
weechat_hashtable_set (hashtable, "err", output);
if (output)
free (output);
@@ -419,8 +453,11 @@ exec_end_command (struct t_exec_cmd *exec_cmd, int return_code)
{
ptr_buffer = weechat_buffer_search ("==", exec_cmd->buffer_full_name);
exec_display_output (exec_cmd, ptr_buffer, 1);
exec_display_output (exec_cmd, ptr_buffer, 0);
/* display the last line of output (if not ending with '\n') */
exec_display_line (exec_cmd, ptr_buffer, EXEC_STDOUT,
exec_cmd->output[EXEC_STDOUT]);
exec_display_line (exec_cmd, ptr_buffer, EXEC_STDERR,
exec_cmd->output[EXEC_STDERR]);
/*
* display return code (only if command is not detached, if output is
@@ -477,6 +514,15 @@ exec_end_command (struct t_exec_cmd *exec_cmd, int return_code)
exec_cmd->pid = 0;
exec_cmd->end_time = time (NULL);
exec_cmd->return_code = return_code;
for (i = 0; i < 2; i++)
{
if (exec_cmd->output[i])
{
free (exec_cmd->output[i]);
exec_cmd->output[i] = NULL;
}
exec_cmd->output_size[i] = 0;
}
/* schedule a timer to remove the executed command */
if (weechat_config_integer (exec_config_command_purge_delay) >= 0)
@@ -496,6 +542,7 @@ exec_process_cb (void *data, const char *command, int return_code,
const char *out, const char *err)
{
struct t_exec_cmd *ptr_exec_cmd;
struct t_gui_buffer *ptr_buffer;
/* make C compiler happy */
(void) command;
@@ -516,17 +563,14 @@ exec_process_cb (void *data, const char *command, int return_code,
(err) ? strlen (err) : 0);
}
if (out)
if (out || err)
{
exec_concat_output (&ptr_exec_cmd->out_size,
&ptr_exec_cmd->out,
out);
}
if (err)
{
exec_concat_output (&ptr_exec_cmd->err_size,
&ptr_exec_cmd->err,
err);
ptr_buffer = weechat_buffer_search ("==",
ptr_exec_cmd->buffer_full_name);
if (out)
exec_concat_output (ptr_exec_cmd, ptr_buffer, EXEC_STDOUT, out);
if (err)
exec_concat_output (ptr_exec_cmd, ptr_buffer, EXEC_STDERR, err);
}
if (return_code == WEECHAT_HOOK_PROCESS_ERROR)
@@ -544,6 +588,8 @@ exec_process_cb (void *data, const char *command, int return_code,
void
exec_free (struct t_exec_cmd *exec_cmd)
{
int i;
if (!exec_cmd)
return;
@@ -566,10 +612,11 @@ exec_free (struct t_exec_cmd *exec_cmd)
free (exec_cmd->command);
if (exec_cmd->buffer_full_name)
free (exec_cmd->buffer_full_name);
if (exec_cmd->out)
free (exec_cmd->out);
if (exec_cmd->err)
free (exec_cmd->err);
for (i = 0; i < 2; i++)
{
if (exec_cmd->output[i])
free (exec_cmd->output[i]);
}
if (exec_cmd->pipe_command)
free (exec_cmd->pipe_command);
if (exec_cmd->hsignal)
@@ -619,10 +666,11 @@ exec_print_log ()
weechat_log_printf (" buffer_full_name. . . . : '%s'", ptr_exec_cmd->buffer_full_name);
weechat_log_printf (" line_numbers. . . . . . : %d", ptr_exec_cmd->line_numbers);
weechat_log_printf (" display_rc. . . . . . . : %d", ptr_exec_cmd->display_rc);
weechat_log_printf (" out_size. . . . . . . . : %d", ptr_exec_cmd->out_size);
weechat_log_printf (" out . . . . . . . . . . : '%s'", ptr_exec_cmd->out);
weechat_log_printf (" err_size. . . . . . . . : %d", ptr_exec_cmd->err_size);
weechat_log_printf (" err . . . . . . . . . . : '%s'", ptr_exec_cmd->err);
weechat_log_printf (" output_line_nb. . . . . : %d", ptr_exec_cmd->output_line_nb);
weechat_log_printf (" output_size[stdout] . . : %d", ptr_exec_cmd->output_size[EXEC_STDOUT]);
weechat_log_printf (" output[stdout]. . . . . : '%s'", ptr_exec_cmd->output[EXEC_STDOUT]);
weechat_log_printf (" output_size[stderr] . . : %d", ptr_exec_cmd->output_size[EXEC_STDERR]);
weechat_log_printf (" output[stderr]. . . . . : '%s'", ptr_exec_cmd->output[EXEC_STDERR]);
weechat_log_printf (" return_code . . . . . . : %d", ptr_exec_cmd->return_code);
weechat_log_printf (" pipe_command. . . . . . : '%s'", ptr_exec_cmd->pipe_command);
weechat_log_printf (" hsignal . . . . . . . . : '%s'", ptr_exec_cmd->hsignal);
+6 -4
View File
@@ -25,6 +25,9 @@
#define weechat_plugin weechat_exec_plugin
#define EXEC_PLUGIN_NAME "exec"
#define EXEC_STDOUT 0
#define EXEC_STDERR 1
enum t_exec_color
{
EXEC_COLOR_ANSI = 0,
@@ -56,10 +59,9 @@ struct t_exec_cmd
int display_rc; /* 1 if return code is displayed */
/* command output */
int out_size; /* number of bytes in stdout */
char *out; /* stdout of command */
int err_size; /* number of bytes in stderr */
char *err; /* stderr of command */
int output_line_nb; /* line number */
int output_size[2]; /* number of bytes in stdout/stderr */
char *output[2]; /* stdout/stderr of command */
int return_code; /* command return code */
/* pipe/hsignal */