rmodifier: remove plugin (replaced by trigger)

v2.8-utf8proc
Sebastien Helleu 2014-03-04 12:08:33 +01:00
parent d3281b7812
commit 3c398bd61d
77 changed files with 179 additions and 4113 deletions

View File

@ -75,7 +75,6 @@ OPTION(ENABLE_FIFO "Enable FIFO plugin" ON)
OPTION(ENABLE_IRC "Enable IRC plugin" ON)
OPTION(ENABLE_LOGGER "Enable Logger plugin" ON)
OPTION(ENABLE_RELAY "Enable Relay plugin" ON)
OPTION(ENABLE_RMODIFIER "Enable Rmodifier plugin" ON)
OPTION(ENABLE_SCRIPT "Enable Script plugin (scripts manager)" ON)
OPTION(ENABLE_SCRIPTS "Enable script plugins (perl, python, ...)" ON)
OPTION(ENABLE_PERL "Enable Perl scripting language" ON)

View File

@ -57,6 +57,7 @@ http://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
* relay: add option relay.network.clients_purge_delay
* relay: fix freeze after /upgrade when many disconnected clients still exist
* relay: fix NULL pointer when reading buffer lines for irc backlog
* rmodifier: remove plugin (replaced by trigger)
* scripts: fix crash when a signal is received with type "int" and NULL pointer
in signal_data
* trigger: add trigger plugin: new command /trigger and file trigger.conf

11
NEWS
View File

@ -15,6 +15,17 @@ http://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
== Version 0.4.4 (under dev)
=== Rmodifier replaced by Trigger plugin
The trigger plugin replaces the rmodifier plugin, which has been removed
(and trigger has much more features than rmodifier).
Default triggers have same features as default rmodifiers (to hide passwords
in commands and output).
If you added some custom rmodifiers, you must create similar triggers, see
`/help trigger` and the complete trigger doc in the 'WeeChat User's guide'.
=== Bare display
A bare display mode has been added (for easy text selection and click on URLs),

View File

@ -108,7 +108,6 @@ AH_VERBATIM([PLUGIN_FIFO], [#undef PLUGIN_FIFO])
AH_VERBATIM([PLUGIN_IRC], [#undef PLUGIN_IRC])
AH_VERBATIM([PLUGIN_LOGGER], [#undef PLUGIN_LOGGER])
AH_VERBATIM([PLUGIN_RELAY], [#undef PLUGIN_RELAY])
AH_VERBATIM([PLUGIN_RMODIFIER], [#undef PLUGIN_RMODIFIER])
AH_VERBATIM([PLUGIN_SCRIPT], [#undef PLUGIN_SCRIPT])
AH_VERBATIM([PLUGIN_PERL], [#undef PLUGIN_PERL])
AH_VERBATIM([PLUGIN_PYTHON], [#undef PLUGIN_PYTHON])
@ -136,7 +135,6 @@ AC_ARG_ENABLE(fifo, [ --disable-fifo turn off Fifo plugin (def
AC_ARG_ENABLE(irc, [ --disable-irc turn off IRC plugin (default=compiled)],enable_irc=$enableval,enable_irc=yes)
AC_ARG_ENABLE(logger, [ --disable-logger turn off Logger plugin (default=compiled)],enable_logger=$enableval,enable_logger=yes)
AC_ARG_ENABLE(relay, [ --disable-relay turn off Relay plugin (default=compiled)],enable_relay=$enableval,enable_relay=yes)
AC_ARG_ENABLE(rmodifier, [ --disable-rmodifier turn off Rmodifier plugin (default=compiled)],enable_rmodifier=$enableval,enable_rmodifier=yes)
AC_ARG_ENABLE(script, [ --disable-script turn off Script plugin (default=compiled)],enable_script=$enableval,enable_script=yes)
AC_ARG_ENABLE(scripts, [ --disable-scripts turn off script plugins (perl, python, ...) (default=compiled if found)],enable_scripts=$enableval,enable_scripts=yes)
AC_ARG_ENABLE(perl, [ --disable-perl turn off Perl script plugin (default=compiled if found)],enable_perl=$enableval,enable_perl=yes)
@ -404,14 +402,6 @@ else
not_asked="$not_asked relay"
fi
# ------------------------------- rmodifier ------------------------------------
if test "x$enable_rmodifier" = "xyes" ; then
AC_DEFINE(PLUGIN_RMODIFIER)
else
not_asked="$not_asked rmodifier"
fi
# --------------------------------- script -------------------------------------
if test "x$enable_script" = "xyes" ; then
@ -1131,7 +1121,6 @@ AM_CONDITIONAL(PLUGIN_FIFO, test "$enable_fifo" = "yes")
AM_CONDITIONAL(PLUGIN_IRC, test "$enable_irc" = "yes")
AM_CONDITIONAL(PLUGIN_LOGGER, test "$enable_logger" = "yes")
AM_CONDITIONAL(PLUGIN_RELAY, test "$enable_relay" = "yes")
AM_CONDITIONAL(PLUGIN_RMODIFIER, test "$enable_rmodifier" = "yes")
AM_CONDITIONAL(PLUGIN_SCRIPT, test "$enable_script" = "yes")
AM_CONDITIONAL(PLUGIN_PERL, test "$enable_perl" = "yes")
AM_CONDITIONAL(PLUGIN_PYTHON, test "$enable_python" = "yes")
@ -1164,7 +1153,6 @@ AC_OUTPUT([Makefile
src/plugins/irc/Makefile
src/plugins/logger/Makefile
src/plugins/relay/Makefile
src/plugins/rmodifier/Makefile
src/plugins/script/Makefile
src/plugins/perl/Makefile
src/plugins/python/Makefile
@ -1216,9 +1204,6 @@ fi
if test "x$enable_relay" = "xyes"; then
listplugins="$listplugins relay"
fi
if test "x$enable_rmodifier" = "xyes"; then
listplugins="$listplugins rmodifier"
fi
if test "x$enable_script" = "xyes"; then
listplugins="$listplugins script"
fi

View File

@ -8,5 +8,4 @@ usr/lib/weechat/plugins/lua.so
usr/lib/weechat/plugins/tcl.so
usr/lib/weechat/plugins/script.so
usr/lib/weechat/plugins/relay.so
usr/lib/weechat/plugins/rmodifier.so
usr/lib/weechat/plugins/trigger.so

View File

@ -56,8 +56,6 @@
| relay | relay_relays | Protokoll.Name des aktuellen Relays von der Relay-Erweiterung
| rmodifier | rmodifier | Liste der rmodifier
| ruby | ruby_script | Liste der Skripten
| script | script_files | Dateien die sich in den Skript-Verzeichnissen befinden

View File

@ -26,8 +26,6 @@
| relay | relay | Liste der Relay-Clients | Relay Pointer (optional) | -
| rmodifier | rmodifier | Liste der rmodifier | rmodifier Pointer (optional) | rmodifier Name (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)
| ruby | ruby_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)
| script | script_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes, mit Dateierweiterung (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)

View File

@ -1,31 +0,0 @@
[[command_rmodifier_rmodifier]]
[command]*`rmodifier`* wandelt Schlüsselwörter mit regulären Ausdrücken (regelt die Darstellung von Texten in WeeChat)::
----
/rmodifier list|listdefault
add <name> <modifiers> <groups> <regex>
del <name>|-all [<name>...]
missing
default -yes
list: zeigt alle rmodifier an
listdefault: zeigt die Standardeinstellung für rmodifier an
add: einen rmodifier hinzufügen
name: Name des rmodifier
modifiers: durch Kommata getrennte Liste der modifier
groups: Aktion auf Gruppen (groups) anwenden, die durch reguläre Ausdrücke abgefragt werden (innerhalb der runden Klammern): durch Kommata getrennte Liste der Gruppen (von 1 bis 9). Optional kann nach der Nummer für die Gruppe ein "*" gesetzt werden um diese Gruppe auszublenden
regex: erweiterter regulärer POSIX Ausdruck (zwischen Groß- und Kleinschreibung wird nicht unterschieden. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss zu Beginn "(?-i)" genutzt werden)
del: löscht einen rmodifier Eintrag
-all: löscht alle rmodifiers Einträge
missing: fügt fehlende rmodifiers hinzu
default: setzt die rmodifier auf seine Standardwerte zurück
Beispiele:
verbirgt die Eingabe nach dem Befehl /passwort:
/rmodifier add passwort input_text_display 1,2* ^(/passwort +)(.*)
lösche rmodifier "passwort":
/rmodifier del passwort
lösche alle rmodifiers:
/rmodifier del -all
----

View File

@ -1,5 +0,0 @@
* [[option_rmodifier.look.hide_char]] *rmodifier.look.hide_char*
** Beschreibung: `Zeichen, das anstelle der eigentlichen Eingabe angezeigt wird`
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette (Standardwert: `"*"`)

View File

@ -71,9 +71,6 @@ $HOME/.weechat/logger.conf::
$HOME/.weechat/relay.conf::
Konfigurationsdatei für 'relay' Erweiterung
$HOME/.weechat/rmodifier.conf::
Konfigurationsdatei für 'rmodifier' Erweiterung
$HOME/.weechat/script.conf::
Konfigurationsdatei für 'script' Erweiterung

View File

@ -219,9 +219,6 @@ Liste von häufig verwendeten Optionen:
| ENABLE_RELAY | `ON`, `OFF` | ON |
kompiliert <<relay_plugin,Relay Erweiterung>>.
| ENABLE_RMODIFIER | `ON`, `OFF` | ON |
kompiliert <<rmodifier_plugin,Rmodifier Erweiterung>>.
| ENABLE_RUBY | `ON`, `OFF` | ON |
kompiliert <<scripts_plugins,Ruby Erweiterung>>.
@ -1751,7 +1748,6 @@ Standarderweiterungen:
| irc | IRC Chat-Protokoll
| logger | erstellt Protokolldateien von Buffern
| relay | Daten via Netzwerk übermitteln
| rmodifier | wandelt Schlüsselwörter mit regulären Ausdrücken
| script | Skripten-Manager
| python | Python-Skript API
| perl | Perl-Skript API
@ -2779,75 +2775,6 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
Der Port (im Beispiel: 9000) ist der Port der in der Relay Erweiterung angegeben wurde.
Die URI muss immer auf "/weechat" enden ('irc' und 'weechat' Protokoll).
[[rmodifier_plugin]]
=== Rmodifier Erweiterung
Mittels der Rmodifer Erweiterung kann man Schlüsselwörter mittels regulären Ausdrücken
wandeln. Ein typischer Anwendungsfall ist das Passwörter bei der Eingabe verborgen werden,
oder das WeeChat diese verbirgt wenn sie im Befehlsverlauf gesichert werden.
Ein einfaches Anwendungsbeispiel. Es ist möglich jedes einzelne Zeichen eines Passwortes
durch das Zeichen `*` zu ersetzen.
[[rmodifier_options]]
==== Optionen (rmodifier.conf)
Sektionen:
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Control command | Beschreibung
| look | /set rmodifier.look.* | Erscheinungsbild
| modifier | <<command_rmodifier_rmodifier,/rmodifier add>> +
/set rmodifier.modifier.* | Rmodifiers
|===
Optionen:
include::autogen/user/rmodifier_options.txt[]
[[rmodifier_commands]]
==== Befehle
include::autogen/user/rmodifier_commands.txt[]
[[rmodifier_creation]]
==== Erstellen eines rmodifier
Ein rmodifier besteht aus drei Elementen:
. ein oder mehrere "modifiers"
. ein regulärer Ausdruck um "Gruppen" zu erkennen
. eine Zeichenkette die als Textausgabe von "Gruppen" erkannt werden soll
Um eine Auflistung der modifiers zu erhalten die von WeeChat oder einer
Erweiterung genutzt werden siehe ''WeeChat Plugin API Reference', Funktion 'weechat_hook_modifier'.
Für jede erkannte Gruppe sind folgende Aktionen möglich:
* Gruppe wird in der vorliegenden Form beibehalten (wenn man die Gruppennummer nutzt)
* alle Zeichen der Gruppe werden ersetzt um deren Inhalt zu verbergen (Gruppennummer + `*`)
* Gruppe wird entfernt (falls Gruppe nicht in Zeichenkette genutzt wird)
Beispiel der rmodifier-Standardeinstellung für den Befehl `/oper`:
* modifiers: `history_add,input_text_display`
** `history_add`: wird aufgerufen sobald WeeChat einen Befehl im Befehlsverlauf sichert
** `input_text_display`: wird aufgerufen sobald sich die Eingabezeile ändert
(dies hat nur Einfluss auf die Darstellung aber nicht auf den Inhalt der Befehlszeile)
* regulärer Ausdruck: `^(/oper +\S+ +)(.*)`
* Gruppen: `1,2*`
Bei jedem Aufruf von "history_add" oder "input_text_display" durch modifier wird der
reguläre Ausdruck überprüft. Stimmen die Zeichenketten überein wird die Zeichenkette
durch das definierte Zeichen ersetzt.
In obigem Beispiel wird die Ausgabe für Gruppe 1 beibehalten und für die Gruppe 2
werden alle Zeichen ersetzt. Das Zeichen welches zum Ersetzten genutzt werden soll
kann in der Konfiguration bestimmt werden (Option: 'rmodifier.look.hide_char').
Lautet die Befehlszeile `/oper nick password` wird diese in der Befehlszeile als
`/oper nick ********` dargestellt.
[[scripts_plugins]]
=== Erweiterungen für Skripten

View File

@ -92,7 +92,6 @@ plugin_list = {
'irc': 'co',
'logger': 'o',
'relay': 'o',
'rmodifier': 'o',
'script': 'o',
'perl': '',
'python': '',
@ -118,7 +117,6 @@ ignore_options = (
'logger\.level\..*',
'logger\.mask\..*',
'relay\.port\..*',
'rmodifier\.modifier\..*',
'trigger\.trigger\..*',
'weechat\.palette\..*',
'weechat\.proxy\..*',

View File

@ -56,8 +56,6 @@
| relay | relay_relays | protocol.name of current relays for relay plugin
| rmodifier | rmodifier | list of rmodifiers
| ruby | ruby_script | list of scripts
| script | script_files | files in script directories

View File

@ -26,8 +26,6 @@
| relay | relay | list of relay clients | relay pointer (optional) | -
| rmodifier | rmodifier | list of rmodifiers | rmodifier pointer (optional) | rmodifier name (can start or end with "*" as joker) (optional)
| ruby | ruby_script | list of scripts | script pointer (optional) | script name (can start or end with "*" as wildcard) (optional)
| script | script_script | list of scripts | script pointer (optional) | script name with extension (can start or end with "*" as wildcard) (optional)

View File

@ -1,31 +0,0 @@
[[command_rmodifier_rmodifier]]
[command]*`rmodifier`* alter modifier strings with regular expressions::
----
/rmodifier list|listdefault
add <name> <modifiers> <groups> <regex>
del <name>|-all [<name>...]
missing
default -yes
list: list all rmodifiers
listdefault: list default rmodifiers
add: add a rmodifier
name: name of rmodifier
modifiers: comma separated list of modifiers
groups: action on groups captured in regular expression (inside parentheses): comma separated list of groups (from 1 to 9) with optional "*" after number to hide the group
regex: POSIX extended regular expression (case insensitive, can start by "(?-i)" to become case sensitive)
del: delete a rmodifier
-all: delete all rmodifiers
missing: add missing rmodifiers
default: restore default rmodifiers
Examples:
hide everything typed after a command /password:
/rmodifier add password input_text_display 1,2* ^(/password +)(.*)
delete rmodifier "password":
/rmodifier del password
delete all rmodifiers:
/rmodifier del -all
----

View File

@ -1,5 +0,0 @@
* [[option_rmodifier.look.hide_char]] *rmodifier.look.hide_char*
** description: `char used to hide part of a string`
** type: string
** values: any string (default value: `"*"`)

View File

@ -70,9 +70,6 @@ $HOME/.weechat/logger.conf::
$HOME/.weechat/relay.conf::
configuration file for 'relay' plugin
$HOME/.weechat/rmodifier.conf::
configuration file for 'rmodifier' plugin
$HOME/.weechat/script.conf::
configuration file for 'script' plugin

View File

@ -45,33 +45,32 @@ The main WeeChat directories are:
[width="100%",cols="1v,5",options="header"]
|===
| Directory | Description
| src/ | Root of sources
| core/ | Core functions: entry point, internal structures
| gui/ | Functions for buffers, windows, ... (used by all interfaces)
| curses/ | Curses interface
| plugins/ | Plugin and scripting API
| alias/ | Alias plugin
| aspell/ | Aspell plugin
| charset/ | Charset plugin
| fifo/ | Fifo plugin (FIFO pipe used to remotely send commands to WeeChat)
| irc/ | IRC (Internet Relay Chat) plugin
| logger/ | Logger plugin (write messages displayed to files)
| relay/ | Relay plugin (irc proxy + relay for remote interfaces)
| rmodifier/ | Rmodifier plugin (alter modifier strings with regular expressions)
| script/ | Scripts manager
| python/ | Python scripting API
| perl/ | Perl scripting API
| ruby/ | Ruby scripting API
| lua/ | Lua scripting API
| tcl/ | Tcl scripting API
| guile/ | Guile (scheme) scripting API
| trigger/ | Trigger plugin
| xfer/ | Xfer plugin (IRC DCC file/chat)
| doc/ | Documentation
| po/ | Translations files (gettext)
| test/ | Tools/files to test WeeChat (like Weercd, an IRC server)
| debian/ | Debian packaging
| Directory | Description
| src/ | Root of sources
| core/ | Core functions: entry point, internal structures
| gui/ | Functions for buffers, windows, ... (used by all interfaces)
| curses/ | Curses interface
| plugins/ | Plugin and scripting API
| alias/ | Alias plugin
| aspell/ | Aspell plugin
| charset/ | Charset plugin
| fifo/ | Fifo plugin (FIFO pipe used to remotely send commands to WeeChat)
| irc/ | IRC (Internet Relay Chat) plugin
| logger/ | Logger plugin (write messages displayed to files)
| relay/ | Relay plugin (irc proxy + relay for remote interfaces)
| script/ | Scripts manager
| python/ | Python scripting API
| perl/ | Perl scripting API
| ruby/ | Ruby scripting API
| lua/ | Lua scripting API
| tcl/ | Tcl scripting API
| guile/ | Guile (scheme) scripting API
| trigger/ | Trigger plugin
| xfer/ | Xfer plugin (IRC DCC file/chat)
| doc/ | Documentation
| po/ | Translations files (gettext)
| test/ | Tools/files to test WeeChat (like Weercd, an IRC server)
| debian/ | Debian packaging
|===
[[sources]]
@ -239,13 +238,6 @@ WeeChat "core" is located in following directories:
| relay-weechat-msg.c | Send binary messages to clients
| relay-weechat-nicklist.c | Nicklist functions
| relay-weechat-protocol.c | Read commands from clients
| rmodifier/ | Rmodifier plugin
| rmodifier.c | Main rmodifier functions
| rmodifier-command.c | Rmodifier commands
| rmodifier-completion.c | Rmodifier completions
| rmodifier-config.c | Rmodifier config options (file rmodifier.conf)
| rmodifier-debug.c | Rmodifier debug functions
| rmodifier-info.c | Rmodifier info/infolists/hdata
| ruby/ | Ruby plugin
| weechat-ruby.c | Main ruby functions (load/unload scripts, execute ruby code)
| weechat-ruby-api.c | Ruby scripting API functions

View File

@ -218,9 +218,6 @@ List of commonly used options:
| ENABLE_RELAY | `ON`, `OFF` | ON |
Compile <<relay_plugin,Relay plugin>>.
| ENABLE_RMODIFIER | `ON`, `OFF` | ON |
Compile <<rmodifier_plugin,Rmodifier plugin>>.
| ENABLE_RUBY | `ON`, `OFF` | ON |
Compile <<scripts_plugins,Ruby plugin>>.
@ -1715,23 +1712,22 @@ Default plugins are:
[width="50%",cols="^1,5",options="header"]
|===
| Plugin | Description
| alias | Define alias for commands
| aspell | Spell checking for command line
| charset | Charset decoding/encoding for buffers
| fifo | FIFO pipe used to remotely send commands to WeeChat
| irc | IRC chat protocol
| logger | Log buffers to files
| relay | Relay data via network
| rmodifier | Alter modifier strings with regular expressions
| script | Scripts manager
| python | Python scripting API
| perl | Perl scripting API
| ruby | Ruby scripting API
| lua | Lua scripting API
| tcl | Tcl scripting API
| guile | Guile (scheme) scripting API
| xfer | File transfer and direct chat
| Plugin | Description
| alias | Define alias for commands
| aspell | Spell checking for command line
| charset | Charset decoding/encoding for buffers
| fifo | FIFO pipe used to remotely send commands to WeeChat
| irc | IRC chat protocol
| logger | Log buffers to files
| relay | Relay data via network
| script | Scripts manager
| python | Python scripting API
| perl | Perl scripting API
| ruby | Ruby scripting API
| lua | Lua scripting API
| tcl | Tcl scripting API
| guile | Guile (scheme) scripting API
| xfer | File transfer and direct chat
|===
To learn more about plugin or script development (through API), please read
@ -2723,74 +2719,6 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
The port (9000 in example) is the port defined in Relay plugin.
The URI must always end with "/weechat" (for 'irc' and 'weechat' protocols).
[[rmodifier_plugin]]
=== Rmodifier plugin
The Rmodifier plugin lets you alter modifier strings using regular expressions.
Typical use is to hide password when you type them, or when WeeChat saves
them in command history. For example, it is possible to replace each char in
these passwords by `*`.
[[rmodifier_options]]
==== Options (rmodifier.conf)
Sections:
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Control command | Description
| look | /set rmodifier.look.* | Look and feel
| modifier | <<command_rmodifier_rmodifier,/rmodifier add>> +
/set rmodifier.modifier.* | Rmodifiers
|===
Options:
include::autogen/user/rmodifier_options.txt[]
[[rmodifier_commands]]
==== Commands
include::autogen/user/rmodifier_commands.txt[]
[[rmodifier_creation]]
==== Rmodifier creation
A rmodifier consists of three elements:
. one or more "modifiers"
. a regular expression, to capture "groups"
. a string that describes output using number of "groups" captured in regular
expression
For list of modifiers used by WeeChat or plugins, see
'WeeChat Plugin API Reference', function 'weechat_hook_modifier'.
For each captured group, following actions are possible:
* keep group as-is (by using group number)
* replace all chars in group to hide content (group number + `*`)
* remove group (if group is not used in string)
Example of default rmodifier for command `/oper`:
* modifiers: `history_add,input_text_display`
** `history_add`: called when WeeChat stores command in history
** `input_text_display`: called when command line has changed
(applies only on display, not content of command line)
* regular expression: `^(/oper +\S+ +)(.*)`
* groups: `1,2*`
Each time modifiers "history_add" or "input_text_display" are called, regular
expression is checked. If string matches, then it is replaced by captured groups,
as defined in string with groups.
In this example, we keep number 1 as-is, and we replace all chars of group 2 by
replacement char defined in configuration (option 'rmodifier.look.hide_char').
If command line contains: `/oper nick password` then display becomes:
`/oper nick ********`.
[[scripts_plugins]]
=== Scripts plugins

View File

@ -56,8 +56,6 @@
| relay | relay_relays | protocole.nom des relais courants pour l'extension relay
| rmodifier | rmodifier | liste des rmodifiers
| ruby | ruby_script | liste des scripts
| script | script_files | fichiers dans les répertoires de script

View File

@ -26,8 +26,6 @@
| relay | relay | liste des clients pour le relai | pointeur vers le relay (optionnel) | -
| rmodifier | rmodifier | liste des rmodifiers | pointeur vers le rmodifier (optionnel) | nom du rmodifier (peut démarrer ou se terminer par "*" comme caractère joker) (optionnel)
| ruby | ruby_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| script | script_script | liste des scripts | pointeur vers le script (optionnel) | nom du script avec extension (peut démarrer ou se terminer par "*" comme joker) (optionnel)

View File

@ -1,31 +0,0 @@
[[command_rmodifier_rmodifier]]
[command]*`rmodifier`* modifier des chaînes de "modifier" avec des expressions régulières::
----
/rmodifier list|listdefault
add <nom> <modifiers> <groupes> <regex>
del <nom>|-all [<nom>...]
missing
default -yes
list: lister les rmodifiers
listdefault: lister les rmodifiers par défaut
add: ajouter un rmodifier
name: nom du rmodifier
modifiers: liste de modifiers (séparés par une virgule)
groupes: action sur les groupes capturés dans l'expression régulière (entre parenthèses): liste de groupes (séparés par une virgule) (de 1 à 9) avec en option "*" après le nombre pour cacher le groupe
regex: expression régulière POSIX étendue (insensible à la casse, peut commencer par "(?-i)" pour devenir sensible à la casse)
del: supprimer un rmodifier
-all: supprimer tous les rmodifiers
missing: ajouter les rmodifiers manquants
default: restaurer les rmodifiers par défaut
Exemples:
cacher tout ce qui est tapé après la commande /password:
/rmodifier add password input_text_display 1,2* ^(/password +)(.*)
supprimer le rmodifier "password":
/rmodifier del password
supprimer tous les rmodifiers:
/rmodifier del -all
----

View File

@ -1,5 +0,0 @@
* [[option_rmodifier.look.hide_char]] *rmodifier.look.hide_char*
** description: `caractère utilisé pour cacher une partie de la chaîne`
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: `"*"`)

View File

@ -72,9 +72,6 @@ $HOME/.weechat/logger.conf::
$HOME/.weechat/relay.conf::
fichier de configuration pour l'extension 'relay'
$HOME/.weechat/rmodifier.conf::
fichier de configuration pour l'extension 'rmodifier'
$HOME/.weechat/script.conf::
fichier de configuration pour l'extension 'script'

View File

@ -46,33 +46,32 @@ Les répertoires principaux de WeeChat sont :
[width="100%",cols="1v,5",options="header"]
|===
| Répertoire | Description
| src/ | Racine des sources
| core/ | Fonctions du cœur : point d'entrée, structures internes
| gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces)
| curses/ | Interface Curses
| plugins/ | API extension/script
| alias/ | Extension Alias
| aspell/ | Extension Aspell
| charset/ | Extension Charset
| fifo/ | Extension Fifo (tube FIFO utilisé pour envoyer des commandes à WeeChat)
| irc/ | Extension IRC (Internet Relay Chat)
| logger/ | Extension Logger (enregistrer les messages affichés dans des fichiers)
| relay/ | Extension Relay (proxy IRC + relai pour interfaces distantes)
| rmodifier/ | Extension Rmodifier (modifier des chaînes de modificateur avec des expressions régulières)
| script/ | Gestionnaire de scripts
| python/ | API script Python
| perl/ | API script Perl
| ruby/ | API script Ruby
| lua/ | API script Lua
| tcl/ | API script Tcl
| guile/ | API script Guile (scheme)
| trigger/ | Extension Trigger
| xfer/ | Extension Xfer (IRC DCC fichier/discussion)
| doc/ | Documentation
| po/ | Fichiers de traductions (gettext)
| test/ | Outils/fichiers pour tester WeeChat (comme Weercd, un serveur IRC)
| debian/ | Empaquetage Debian
| Répertoire | Description
| src/ | Racine des sources
| core/ | Fonctions du cœur : point d'entrée, structures internes
| gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces)
| curses/ | Interface Curses
| plugins/ | API extension/script
| alias/ | Extension Alias
| aspell/ | Extension Aspell
| charset/ | Extension Charset
| fifo/ | Extension Fifo (tube FIFO utilisé pour envoyer des commandes à WeeChat)
| irc/ | Extension IRC (Internet Relay Chat)
| logger/ | Extension Logger (enregistrer les messages affichés dans des fichiers)
| relay/ | Extension Relay (proxy IRC + relai pour interfaces distantes)
| script/ | Gestionnaire de scripts
| python/ | API script Python
| perl/ | API script Perl
| ruby/ | API script Ruby
| lua/ | API script Lua
| tcl/ | API script Tcl
| guile/ | API script Guile (scheme)
| trigger/ | Extension Trigger
| xfer/ | Extension Xfer (IRC DCC fichier/discussion)
| doc/ | Documentation
| po/ | Fichiers de traductions (gettext)
| test/ | Outils/fichiers pour tester WeeChat (comme Weercd, un serveur IRC)
| debian/ | Empaquetage Debian
|===
[[sources]]
@ -240,13 +239,6 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
| relay-weechat-msg.c | Envoi de messages binaires aux clients
| relay-weechat-nicklist.c | Fonctions pour la liste de pseudos
| relay-weechat-protocol.c | Lecture des commandes des clients
| rmodifier/ | Extension Rmodifier
| rmodifier.c | Fonctions principales de Rmodifier
| rmodifier-command.c | Commandes de Rmodifier
| rmodifier-completion.c | Complétions de Rmodifier
| rmodifier-config.c | Options de configuration pour Rmodifier (fichier rmodifier.conf)
| rmodifier-debug.c | Fonctions de debug pour Rmodifier
| rmodifier-info.c | Info/infolists/hdata pour Rmodifier
| ruby/ | Extension Ruby
| weechat-ruby.c | Fonctions principales pour Ruby (chargement/déchargement des scripts, exécution de code Ruby)
| weechat-ruby-api.c | Fonctions de l'API script Ruby

View File

@ -220,9 +220,6 @@ Liste des options couramment utilisées :
| ENABLE_RELAY | `ON`, `OFF` | ON |
Compiler <<relay_plugin,l'extension Relay>>.
| ENABLE_RMODIFIER | `ON`, `OFF` | ON |
Compiler <<rmodifier_plugin,l'extension Rmodifier>>.
| ENABLE_RUBY | `ON`, `OFF` | ON |
Compiler <<scripts_plugins,l'extension Ruby>>.
@ -1777,7 +1774,6 @@ Les extensions par défaut sont :
| irc | Discussion avec le protocole IRC
| logger | Enregistrement des tampons dans des fichiers
| relay | Relai de données via le réseau
| rmodifier | Modification des chaînes de modificateur avec des expressions régulières
| script | Gestionnaire de scripts
| python | Interface (API) pour scripts Python
| perl | Interface (API) pour scripts Perl
@ -2815,79 +2811,6 @@ Le port (9000 dans l'exemple) est le port défini dans l'extension Relay.
L'URI doit toujours se terminer par "/weechat" (pour les protocoles 'irc' et
'weechat').
[[rmodifier_plugin]]
=== Extension Rmodifier
L'extension Rmodifier vous permet de modifier les chaînes de modificateur avec
des expressions régulières.
L'utilisation typique est pour cacher les mots de passe lorsque vous les tapez,
ou lorsque WeeChat les sauvegarde dans l'historique des commandes. Il est
possible par exemple de remplacer chaque lettre de ces mots de passe par `*`.
[[rmodifier_options]]
==== Options (rmodifier.conf)
Sections :
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Commande de contrôle | Description
| look | /set rmodifier.look.* | Aspect/présentation
| modifier | <<command_rmodifier_rmodifier,/rmodifier add>> +
/set rmodifier.modifier.* | Rmodifiers
|===
Options :
include::autogen/user/rmodifier_options.txt[]
[[rmodifier_commands]]
==== Commandes
include::autogen/user/rmodifier_commands.txt[]
[[rmodifier_creation]]
==== Création d'un rmodifier
Un rmodifier se compose de trois éléments :
. un ou plusieurs modificateurs
. une expression régulière, permettant de capturer des "groupes"
. une chaîne décrivant la sortie en utilisant les numéros de "groupes" capturés
dans l'expression régulière
Pour la liste des modificateurs utilisés par WeeChat ou des extensions, voir la
'Référence API Extension WeeChat', fonction 'weechat_hook_modifier'.
Pour chaque groupe capturé, les actions suivantes sont possibles :
* garder le groupe tel quel (en utilisant son numéro)
* remplacer tous les caractères du groupe pour cacher le contenu
(numéro du groupe + `*`)
* supprimer le groupe (si le groupe n'est pas utilisé dans la chaîne)
Exemple du rmodifier par défaut pour la commande `/oper` :
* modificateurs : `history_add,input_text_display`
** `history_add` : appelé lorsque WeeChat stocke la commande dans l'historique
** `input_text_display` : appelé lorsque la ligne de commande a changé
(agit uniquement sur l'affichage, pas le contenu de la ligne de commande)
* expression régulière : `^(/oper +\S+ +)(.*)`
* groupes : `1,2*`
À chaque fois que les modificateurs "history_add" ou "input_text_display" sont
appelés, l'expression régulière est vérifiée. Si la chaîne correspond, alors
elle est remplacée par les groupes capturés, tels que définis dans la chaîne
des groupes.
Dans cet exemple, on garde le groupe numéro 1 tel quel, et on remplace tous les
caractères du groupe 2 par le caractère de remplacement défini dans la
configuration (option 'rmodifier.look.hide_char').
Si la ligne de commande contient : `/oper nick password` alors l'affichage
sera : `/oper nick ********`.
[[scripts_plugins]]
=== Extensions Scripts

View File

@ -56,8 +56,6 @@
| relay | relay_relays | protocollo.nome dei relay correnti per il plugin relay
| rmodifier | rmodifier | elenco di rmodifier
| ruby | ruby_script | elenco degli script
| script | script_files | file nella directory degli script

View File

@ -26,8 +26,6 @@
| relay | relay | elenco di client relay | puntatore al relay (opzionale) | -
| rmodifier | rmodifier | elenco di rmodifier | puntatore a rmodifier (opzionale) | nome rmodifier (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| ruby | ruby_script | elenco degli script | puntatore allo script (opzionale) | nome script (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| script | script_script | elenco degli script | puntatore allo script (opzionale) | nome script con l'estensione (può iniziare o terminare con "*" come carattere jolly) (opzionale)

View File

@ -1,31 +0,0 @@
[[command_rmodifier_rmodifier]]
[command]*`rmodifier`* sostituisce le stringhe del modificatore con le espressioni regolari::
----
/rmodifier list|listdefault
add <name> <modifiers> <groups> <regex>
del <name>|-all [<name>...]
missing
default -yes
list: list all rmodifiers
listdefault: list default rmodifiers
add: add a rmodifier
name: name of rmodifier
modifiers: comma separated list of modifiers
groups: action on groups captured in regular expression (inside parentheses): comma separated list of groups (from 1 to 9) with optional "*" after number to hide the group
regex: POSIX extended regular expression (case insensitive, can start by "(?-i)" to become case sensitive)
del: delete a rmodifier
-all: delete all rmodifiers
missing: add missing rmodifiers
default: restore default rmodifiers
Examples:
hide everything typed after a command /password:
/rmodifier add password input_text_display 1,2* ^(/password +)(.*)
delete rmodifier "password":
/rmodifier del password
delete all rmodifiers:
/rmodifier del -all
----

View File

@ -1,5 +0,0 @@
* [[option_rmodifier.look.hide_char]] *rmodifier.look.hide_char*
** descrizione: `carattere usato per nascondere parte di una stringa`
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: `"*"`)

View File

@ -71,9 +71,6 @@ $HOME/.weechat/logger.conf::
$HOME/.weechat/relay.conf::
configuration file for 'relay' plugin
$HOME/.weechat/rmodifier.conf::
configuration file for 'rmodifier' plugin
$HOME/.weechat/script.conf::
configuration file for 'script' plugin

View File

@ -231,9 +231,6 @@ List of commonly used options:
| ENABLE_RELAY | `ON`, `OFF` | ON |
Compile <<relay_plugin,Relay plugin>>.
| ENABLE_RMODIFIER | `ON`, `OFF` | ON |
Compile <<rmodifier_plugin,Rmodifier plugin>>.
| ENABLE_RUBY | `ON`, `OFF` | ON |
Compile <<scripts_plugins,Ruby plugin>>.
@ -1779,23 +1776,22 @@ I plugin predefiniti sono:
[width="50%",cols="^1,5",options="header"]
|===
| Plugin | Descrizione
| alias | Definisce gli alias per i comandi
| aspell | Controllo ortografico per la riga di comando
| charset | Set di caratteri per la codifica/decodifica nei buffer
| fifo | pipe FIFO utilizzata per inviare comandi da remoto su WeeChat
| irc | protocollo chat per IRC
| logger | Registra i buffer su file
| relay | Relay dei dati via rete
| rmodifier | Cambia le stringhe del modificatore con espressioni regolari
| script | Gestore script
| python | API per lo scripting in Python
| perl | API per lo scripting in Perl
| ruby | API per lo scripting in Ruby
| lua | API per lo scripting in Lua
| tcl | API per lo scripting in TCL
| guile | API per lo scripting in Guile (scheme)
| xfer | Trasferimento file e chat diretta
| Plugin | Descrizione
| alias | Definisce gli alias per i comandi
| aspell | Controllo ortografico per la riga di comando
| charset | Set di caratteri per la codifica/decodifica nei buffer
| fifo | pipe FIFO utilizzata per inviare comandi da remoto su WeeChat
| irc | protocollo chat per IRC
| logger | Registra i buffer su file
| relay | Relay dei dati via rete
| script | Gestore script
| python | API per lo scripting in Python
| perl | API per lo scripting in Perl
| ruby | API per lo scripting in Ruby
| lua | API per lo scripting in Lua
| tcl | API per lo scripting in TCL
| guile | API per lo scripting in Guile (scheme)
| xfer | Trasferimento file e chat diretta
|===
Per saperne di più riguardo lo sviluppo di plugin o script (tramite le API), per
@ -2843,80 +2839,6 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
The port (9000 in example) is the port defined in Relay plugin.
The URI must always end with "/weechat" (for 'irc' and 'weechat' protocols).
[[rmodifier_plugin]]
=== Plugin Rmodifier
Il plugin Rmodifier consente di cambiare le stringhe del modificatore
utilizzando le espressioni regolari. Si usa tipicamente per nascondere la
password quando viene digitata, o quando WeeChat la salva nella cronologia dei
comandi. Ad esempio, è possibile sostituire ogni carattere in questa password
con `*`.
[[rmodifier_options]]
==== Opzioni (rmodifier.conf)
// TRANSLATION MISSING
Sections:
// TRANSLATION MISSING
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Control command | Description
| look | /set rmodifier.look.* | Look and feel
| modifier | <<command_rmodifier_rmodifier,/rmodifier add>> +
/set rmodifier.modifier.* | Rmodifiers
|===
// TRANSLATION MISSING
Options:
include::autogen/user/rmodifier_options.txt[]
[[rmodifier_commands]]
==== Comandi
include::autogen/user/rmodifier_commands.txt[]
[[rmodifier_creation]]
==== Creazione di Rmodifier
Un rmodifier è costituito da tre elementi:
. uno o più "modificatori"
. un'espressione regolare per catturare i "gruppi"
. una stringa che descriva l'output facendo uso di "gruppi" catturati nelle
espressioni regolari
Per un elenco di modificatori usati da WeeChat o dai plugin, consultare
'WeeChat Plugin API Reference', function 'weechat_hook_modifier'.
Per ogni gruppo catturato, sono consentite le seguenti azioni:
* mantenere il gruppo così com'è (usando un numero per gruppo)
* sostituire tutti i caratteri nel gruppo per nascondere il contenuto (numero
del gruppo + `*`)
* rimuovere il gruppo (se il gruppo non viene utilizzato nella stringa)
Esempio di rmodifier predefinito per il comando `/oper`:
* modifier: `history_add,input_text_display`
** `history_add`: chiamato quando WeeChat conserva il comando nella cronologia
** `input_text_display`: chiamato quando la riga di comando è cambiata
(valida solo a video, non per il contenuto della riga di comando)
* espressione regolare: `^(/oper +\S+ +)(.*)`
* gruppi: `1,2*`
Ad ogni chiamata dei modificatori "history_add" o "input_text_display", viene
verificata l'espressione regolare. Se la stringa coincide, viene sostituita
dai gruppi catturati, come definito nella stringa con i gruppi.
In questo esempio, il numero 1 resta così com'è, e sostituiamo tutti i
caratteri del gruppo 2 con il carattere di sostituzione definito nella
configurazione (opzione 'rmodifier.look.hide_char').
Se la riga di comando contiene: `/oper nick password` allora sullo schermo diventa:
`/oper nick ********`.
[[scripts_plugins]]
=== Plugin per gli script

View File

@ -56,8 +56,6 @@
| relay | relay_relays | リレープラグインにおける現在のリレーの protocol.name
| rmodifier | rmodifier | rmodifier のリスト
| ruby | ruby_script | スクリプトのリスト
| script | script_files | スクリプトディレクトリ内のファイル

View File

@ -26,8 +26,6 @@
| relay | relay | リレークライアントのリスト | リレーポインタ (任意) | -
| rmodifier | rmodifier | rmodifier のリスト | rmodifier ポインタ (任意) | rmodifier 名 (ジョーカーとして "*" で始めるか終われる) (任意)
| ruby | ruby_script | スクリプトのリスト | スクリプトポインタ (任意) | スクリプト名 (ワイルドカードとして "*" で始めるか終われる) (任意)
| script | script_script | スクリプトのリスト | スクリプトポインタ (任意) | 拡張子を含めたスクリプト名 (ワイルドカードとして "*" で始めるか終われる) (任意)

View File

@ -1,31 +0,0 @@
[[command_rmodifier_rmodifier]]
[command]*`rmodifier`* 正規表現で modifier 文字列を変更::
----
/rmodifier list|listdefault
add <name> <modifiers> <groups> <regex>
del <name>|-all [<name>...]
missing
default -yes
list: 全ての rmodifier をリストアップ
listdefault: デフォルトの rmodifier をリストアップ
add: rmodifier を追加
name: rmodifier の名前
modifiers: rmodifier のコンマ区切りリスト
groups: 正規表現にマッチするグループに対するアクション (括弧内): グループ (1 から 9) のコンマ区切りリスト、グループを隠すには番号の後ろに任意で "*" をつける
regex: POSIX 拡張正規表現 (大文字小文字の区別無し、"(?-i)" で始めれば区別有り)
del: rmodifier を削除
-all: 全ての rmodifier を削除
missing: 見つからない rmodifier を追加
default: デフォルトの rmodifier に戻す
例:
コマンド /password に続く入力は全て隠す:
/rmodifier add password input_text_display 1,2* ^(/password +)(.*)
rmodifier "password" を削除:
/rmodifier del password
全ての rmodifiers を削除:
/rmodifier del -all
----

View File

@ -1,5 +0,0 @@
* [[option_rmodifier.look.hide_char]] *rmodifier.look.hide_char*
** 説明: `文字列の一部を隠すための文字`
** タイプ: 文字列
** 値: 未制約文字列 (デフォルト値: `"*"`)

View File

@ -69,9 +69,6 @@ $HOME/.weechat/logger.conf::
$HOME/.weechat/relay.conf::
'relay' プラグイン用の設定ファイル
$HOME/.weechat/rmodifier.conf::
'rmodifier' プラグイン用の設定ファイル
$HOME/.weechat/script.conf::
'script' プラグイン用の設定ファイル

View File

@ -45,34 +45,33 @@ WeeChat の主要なリポジトリは 2 つあります:
[width="100%",cols="1v,5",options="header"]
|===
| ディレクトリ | 説明
| src/ | ソースコードのルートディレクトリ
| core/ | コア関数: エントリポイント、内部構造体
| gui/ | バッファ、ウィンドウ、... を操作する関数 (全てのインターフェイスで使う)
| curses/ | curses インターフェイス
| plugins/ | プラグインとスクリプト向け API
| alias/ | alias プラグイン
| aspell/ | aspell プラグイン
| charset/ | charset プラグイン
| fifo/ | fifo プラグイン (WeeChat にコマンドを送信する FIFO パイプ)
| irc/ | IRC (Internet Relay Chat) プラグイン
| logger/ | logger プラグイン (表示されたメッセージをファイルに書き込む)
| relay/ | relay プラグイン (irc プロキシ + リモートインターフェイス用の中継)
| rmodifier/ | rmodifier プラグイン (正規表現を含む修飾子文字列)
| script/ | スクリプトマネージャ
| python/ | python スクリプト用 API
| perl/ | perl スクリプト用 API
| ruby/ | ruby スクリプト用 API
| lua/ | lua スクリプト用 API
| tcl/ | tcl スクリプト用 API
| guile/ | guile (scheme) スクリプト用 API
| ディレクトリ | 説明
| src/ | ソースコードのルートディレクトリ
| core/ | コア関数: エントリポイント、内部構造体
| gui/ | バッファ、ウィンドウ、... を操作する関数 (全てのインターフェイスで使う)
| curses/ | curses インターフェイス
| plugins/ | プラグインとスクリプト向け API
| alias/ | alias プラグイン
| aspell/ | aspell プラグイン
| charset/ | charset プラグイン
| fifo/ | fifo プラグイン (WeeChat にコマンドを送信する FIFO パイプ)
| irc/ | IRC (Internet Relay Chat) プラグイン
| logger/ | logger プラグイン (表示されたメッセージをファイルに書き込む)
| relay/ | relay プラグイン (irc プロキシ + リモートインターフェイス用の中継)
| script/ | スクリプトマネージャ
| python/ | python スクリプト用 API
| perl/ | perl スクリプト用 API
| ruby/ | ruby スクリプト用 API
| lua/ | lua スクリプト用 API
| tcl/ | tcl スクリプト用 API
| guile/ | guile (scheme) スクリプト用 API
// TRANSLATION MISSING
| trigger/ | Trigger plugin
| xfer/ | xfer (IRC DCC ファイル/チャット)
| doc/ | 文書
| po/ | 翻訳ファイル (gettext)
| test/ | WeeChat をテストするためのツールおよびファイル (Weercd IRC サーバなど)
| debian/ | Debian パッケージ用
| trigger/ | Trigger plugin
| xfer/ | xfer (IRC DCC ファイル/チャット)
| doc/ | 文書
| po/ | 翻訳ファイル (gettext)
| test/ | WeeChat をテストするためのツールおよびファイル (Weercd IRC サーバなど)
| debian/ | Debian パッケージ用
|===
[[sources]]
@ -240,13 +239,6 @@ WeeChat "core" は以下のディレクトリに配置されています:
| relay-weechat-msg.c | クライアントにバイナリメッセージを送信
| relay-weechat-nicklist.c | ニックネームリスト関数
| relay-weechat-protocol.c | クライアントからのコマンドを読み取る
| rmodifier/ | rmodifier プラグイン
| rmodifier.c | rmodifier の主要関数
| rmodifier-command.c | rmodifier コマンド
| rmodifier-completion.c | rmodifier 補完
| rmodifier-config.c | rmodifier 設定オプション (rmodifier.conf ファイル)
| rmodifier-debug.c | rmodifier デバッグ関数
| rmodifier-info.c | rmodifier の情報/インフォリスト/hdata
| ruby/ | ruby プラグイン
| weechat-ruby.c | ruby の主要関数 (スクリプトのロード/アンロード、ruby コードの実行)
| weechat-ruby-api.c | ruby スクリプト作成 API 関数

View File

@ -217,9 +217,6 @@ cmake に対するオプションを指定するには、以下のフォーマ
| ENABLE_RELAY | `ON`, `OFF` | ON |
<<relay_plugin,リレープラグイン>>のコンパイル
| ENABLE_RMODIFIER | `ON`, `OFF` | ON |
<<rmodifier_plugin,Rmodifier プラグイン>>のコンパイル
| ENABLE_RUBY | `ON`, `OFF` | ON |
<<scripts_plugins,Ruby プラグイン>>のコンパイル
@ -1719,22 +1716,21 @@ GNU/Linux の場合、プラグインファイルは ".so" という拡張子を
[width="50%",cols="^1,5",options="header"]
|===
| プラグイン | 説明
| alias | コマンドの別名を定義
| aspell | コマンドラインのスペルチェック
| charset | バッファの文字コードに従ってデコード/エンコード
| fifo | 外部から WeeChat にコマンドを送信するための FIFO パイプ
| irc | IRC チャットプロトコル
| logger | バッファの内容をファイルに保存
| relay | ネットワーク経由でデータを中継
| rmodifier | 正規表現を用いた文字列の置換
| script | スクリプトマネージャ
| python | Python スクリプト API
| perl | Perl スクリプト API
| ruby | Ruby スクリプト API
| lua | Lua スクリプト API
| tcl | Tcl スクリプト API
| guile | Guile (scheme) スクリプト API
| xfer | ファイル転送とダイレクトチャット
| alias | コマンドの別名を定義
| aspell | コマンドラインのスペルチェック
| charset | バッファの文字コードに従ってデコード/エンコード
| fifo | 外部から WeeChat にコマンドを送信するための FIFO パイプ
| irc | IRC チャットプロトコル
| logger | バッファの内容をファイルに保存
| relay | ネットワーク経由でデータを中継
| script | スクリプトマネージャ
| python | Python スクリプト API
| perl | Perl スクリプト API
| ruby | Ruby スクリプト API
| lua | Lua スクリプト API
| tcl | Tcl スクリプト API
| guile | Guile (scheme) スクリプト API
| xfer | ファイル転送とダイレクトチャット
|===
API を使ったプラグインやスクリプトの開発についてより詳しく学ぶには、'WeeChat
@ -2726,74 +2722,6 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
ポート番号 (例では 9000 番) は Relay プラグインで定義したものです。URI
の最後には必ず "/weechat" をつけます ('irc' と 'weechat' プロトコルの場合)。
[[rmodifier_plugin]]
=== Rmodifier プラグイン
Rmodifier プラグインは正規表現を使って文字列を置換します。
パスワードの入力時やに入力文字列を隠すことや WeeChat
がパスワードを保存しないようにすることが典型的な利用ケースです。
例えば、パスワード文字列を `*` で置き換えることができます。
[[rmodifier_options]]
==== オプション (rmodifier.conf)
セクション:
[width="100%",cols="3m,6m,16",options="header"]
|===
| セクション | 操作コマンド | 説明
| look | /set rmodifier.look.* | 外観
| modifier | <<command_rmodifier_rmodifier,/rmodifier add>> +
/set rmodifier.modifier.* | rmodifier
|===
オプション:
include::autogen/user/rmodifier_options.txt[]
[[rmodifier_commands]]
==== コマンド
include::autogen/user/rmodifier_commands.txt[]
[[rmodifier_creation]]
==== Rmodifier の作成
rmodifier は 3 つの要素からなります:
. 1 つ以上の "修飾子"
. 文字列のマッチングと "グループ" 分けを行う正規表現
. "グループ"
化された文字列に対するアクションを指定する文字列
WeeChat またはプラグインが利用する修飾子の完全なリストは 'WeeChat プラグイン
API リファレンス' の 'weechat_hook_modifier' 関数を参照してください。
グループ化されたそれぞれの文字列に対して、以下のアクションが可能です:
* 文字列に変更を加えない (グループ番号を指定)
* 文字列を隠すために全ての文字を置換する (グループ番号 + `*` で指定)
* 文字列を削除 (グループ番号を指定しない場合)
`/oper` コマンドに対するデフォルト rmodifier の例:
* 修飾子: `history_add,input_text_display`
** `history_add`: WeeChat がコマンドを履歴に保存する際に呼び出される
** `input_text_display`: コマンドラインを変更する際に呼び出される
(入力テキストが表示されたときにのみ適用、コマンドラインの内容には適用されない)
* 正規表現: `^(/oper +\S+ +)(.*)`
* グループに対するアクション: `1,2*`
修飾子 "history_add" や "input_text_display" が呼び出されるたびに、
正規表現が確認されます。文字列にマッチした場合、
文字列はグループに対して定義されたアクションを使って置換されます。
この例では、グループ番号 1 はそのまま、グループ番号 2 に含まれる全ての文字を設定済みの文字
(オプション 'rmodifier.look.hide_char') で置換します。
コマンドラインに `/oper nick password` のような文字列が含まれる場合、
`/oper nick ********` のように表示されます。
[[scripts_plugins]]
=== スクリプトプラグイン

View File

@ -56,8 +56,6 @@
| relay | relay_relays | protokół.nazwa dla obecnych relayów dla wtyczki relay
| rmodifier | rmodifier | lista rmodifierów
| ruby | ruby_script | lista skryptów
| script | script_files | pliki w katalogach skryptów

View File

@ -26,8 +26,6 @@
| relay | relay | lista zdalnych klientów | wskaźnik relay (opcjonalny) | -
| rmodifier | rmodifier | lista rmodifierów | wskaźnik rmodifier (opcjonalny) | nazwa rmodifier (może się zaczynać lub kończyć "*") (opcjonalne)
| ruby | ruby_script | lista skryptów | wskaźnik skryptu (opcjonalne) | nazwa skryptu (może się zaczynać lub kończyć "*") (opcjonalne)
| script | script_script | lista skryptów | wskaźnik skryptu (opcjonalne) | nazwa skryptu z rozszerzeniem (może się zaczynać lub kończyć "*") (opcjonalne)

View File

@ -1,31 +0,0 @@
[[command_rmodifier_rmodifier]]
[command]*`rmodifier`* zmiany ciągów modyfikujących przez wyrażenia regularne::
----
/rmodifier list|listdefault
add <nazwa> <modyfikatory> <grupy> <regex>
del <nazwa>|-all [<nazwa>...]
missing
default -yes
list: lista wszystkich rmodifierów
listdefault: lista domyślnych rmodifierów
add: dodaje rmodifier
nazwa: nazwa rmodifiera
modyfikatory: oddzielona przecinkiem lista modyfikatorów
grupy: akcja na grupach przechwyconych w wyrażeniu regularnym (wewnątrz nawiasów): oddzielona przecinkami lista grup (od 1 do 9) z opcjonalnym znakiem "*" po numerze, aby ukryć grupę
regex: rozszerzone wyrażenia regularne POSIX (wielkość znaków nie ma znaczenia, jeśli poprzedzone "(?-i)" wielkość znaków ma znaczenie)
del: usuwa rmodifier
-all: usuwa wszystkie rmodifiery
missing: dodaje brakujące rmodifiery
default: przywraca domyślne rmodifiery
Przykłady:
ukrywa wszystko wpisane za komendą /password:
/rmodifier add password input_text_display 1,2* ^(/password +)(.*)
usuwa rmodifier "hasło":
/rmodifier del hasło
kasuje wszystkie rmodifiery:
/rmodifier del -all
----

View File

@ -1,5 +0,0 @@
* [[option_rmodifier.look.hide_char]] *rmodifier.look.hide_char*
** opis: `znak używany do ukrycia części ciągu`
** typ: ciąg
** wartości: dowolny ciąg (domyślna wartość: `"*"`)

View File

@ -70,9 +70,6 @@ $HOME/.weechat/logger.conf::
$HOME/.weechat/relay.conf::
plik konfiguracyjny wtyczki 'relay'
$HOME/.weechat/rmodifier.conf::
plik konfiguracyjny wtyczki 'rmodifier'
$HOME/.weechat/script.conf::
plik konfiguracyjny wtyczki 'script'

View File

@ -218,9 +218,6 @@ Lista popularnych opcji:
| ENABLE_RELAY | `ON`, `OFF` | ON |
Kompilacja <<relay_plugin,wtyczki relay>>.
| ENABLE_RMODIFIER | `ON`, `OFF` | ON |
Kompilacja <<rmodifier_plugin,wtyczki rmodifier>>.
| ENABLE_RUBY | `ON`, `OFF` | ON |
Kompilacja <<scripts_plugins,wtyczki ruby>>.
@ -1727,23 +1724,22 @@ Domyślne wtyczki:
[width="50%",cols="^1,5",options="header"]
|===
| Wtyczka | Opis
| alias | Definiuje aliasy dla komend
| aspell | Sprawdzanie pisowni w linii poleceń
| charset | Ustawianie kodowania dla buforów
| fifo | Kolejka FIFO używana do zdalnego wysyłania poleceń dla WeeChat
| irc | Protokół IRC
| logger | Logowanie zawartości buforów do plików
| relay | Przekazuje dane przez sieć
| rmodifier | Zamienia ciągi pasujące do wyrażeń regularnych
| script | Zarządzanie skryptami
| python | Wsparcie dla skryptów napisanych w Pythonie
| perl | Wsparcie dla skryptów napisanych w Perlu
| ruby | Wsparcie dla skryptów napisanych w Ruby
| lua | Wsparcie dla skryptów napisanych w Lua
| tcl | Wsparcie dla skryptów napisanych w Tcl
| guile | Wsparcie dla skryptów napisanych w Guile (scheme)
| xfer | Przesyłanie plików i bezpośredni chat
| Wtyczka | Opis
| alias | Definiuje aliasy dla komend
| aspell | Sprawdzanie pisowni w linii poleceń
| charset | Ustawianie kodowania dla buforów
| fifo | Kolejka FIFO używana do zdalnego wysyłania poleceń dla WeeChat
| irc | Protokół IRC
| logger | Logowanie zawartości buforów do plików
| relay | Przekazuje dane przez sieć
| script | Zarządzanie skryptami
| python | Wsparcie dla skryptów napisanych w Pythonie
| perl | Wsparcie dla skryptów napisanych w Perlu
| ruby | Wsparcie dla skryptów napisanych w Ruby
| lua | Wsparcie dla skryptów napisanych w Lua
| tcl | Wsparcie dla skryptów napisanych w Tcl
| guile | Wsparcie dla skryptów napisanych w Guile (scheme)
| xfer | Przesyłanie plików i bezpośredni chat
|===
Więcej informacji o wtyczkach i tworzeniu skryptów (przez API), można znaleźć w
@ -2747,73 +2743,6 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
Port (9000 w przykładzie) to port zdefiniowany we wtyczce relay.
Adres URL musi się zawsze kończyć "/weechat" (dla protokołów 'irc' i 'weechat').
[[rmodifier_plugin]]
=== Wtyczka rmodifier
Wtyczka rmodifier pozwala na modyfikowanie ciągów za pomocą wyrażeń regularnych.
Najczęściej używana się jej do ukrywania haseł podczas wprowadzania lub, kiedy
WeeChat zapisuje je w historii poleceń. Na przykład możliwe jest zastąpienie
każdego znaku w haśle przez `*`.
[[rmodifier_options]]
==== Opcje (rmodifier.conf)
Sekcje:
[width="100%",cols="3m,6m,16",options="header"]
|===
| Sekcja | Komenda | Opis
| look | /set rmodifier.look.* | Wygląd
| modifier | <<command_rmodifier_rmodifier,/rmodifier add>> +
/set rmodifier.modifier.* | Rmodifiers
|===
Opcje:
include::autogen/user/rmodifier_options.txt[]
[[rmodifier_commands]]
==== Komendy
include::autogen/user/rmodifier_commands.txt[]
[[rmodifier_creation]]
==== Tworzenie rmodifier
Rmodifier składa się z trzech elementów:
. jednego lub większej ilości "modfikatorów"
. wyrażenia regularnego do przechwytywania "grup"
. ciągu opisującego wyjście używając numeru "grup" przechwyconych przez wyrażenie
Listę modyfikatorów używanych przez WeeChat lub wtyczki można znaleźć w
'Opisie API wtyczek', funkcja 'weechat_hook_modifier'.
Dla każdej z przechwyconych grup możliwe są następujące akcje:
* nie zmieniaj nic (poprzez podanie numeru grupy)
* zastąp wszystkie znaki w grupie, żeby ukryć jej zawartość (numer grupy + `*`)
* usuń grupę (jeśli grupa nie jest użyta w ciągu)
Przykład domyślnego rmodifiera dla komendy `/oper`:
* modyfikatory: `history_add,input_text_display`
** `history_add`: wywoływane, kiedy WeeChat zachowuje komendy w historii
** `input_text_display`: wywoływane podczas zmian w linii poleceń
(dotyczy tylko wyświetlania, a nie zawartości)
* wyrażenie regularne: `^(/oper +\S+ +)(.*)`
* grupy: `1,2*`
Za każdym razem, kiedy modyfikator "history_add" lub "input_text_display" jest
wywoływany sprawdzane jest wyrażenie regularne. Jeśli ciąg pasuje jest on
zastępowany przez przechwycone grupy, zgodnie z definicją grup.
W tym przykładzie, grupa numer 1 jest zachowywana bez zmian, a znaki w grupie 2
zastępowane są przez znak zdefiniowany w konfiguracji (opcja 'rmodifier.look.hide_char').
Jeśli linia komend zawiera: `/oper nick hasło`, to wyświetlone będzie:
`/oper nick *****`.
[[scripts_plugins]]
=== Wtyczki skryptowe

View File

@ -235,18 +235,6 @@
./src/plugins/relay/weechat/relay-weechat-nicklist.h
./src/plugins/relay/weechat/relay-weechat-protocol.c
./src/plugins/relay/weechat/relay-weechat-protocol.h
./src/plugins/rmodifier/rmodifier.c
./src/plugins/rmodifier/rmodifier-command.c
./src/plugins/rmodifier/rmodifier-command.h
./src/plugins/rmodifier/rmodifier-completion.c
./src/plugins/rmodifier/rmodifier-completion.h
./src/plugins/rmodifier/rmodifier-config.c
./src/plugins/rmodifier/rmodifier-config.h
./src/plugins/rmodifier/rmodifier-debug.c
./src/plugins/rmodifier/rmodifier-debug.h
./src/plugins/rmodifier/rmodifier.h
./src/plugins/rmodifier/rmodifier-info.c
./src/plugins/rmodifier/rmodifier-info.h
./src/plugins/ruby/weechat-ruby-api.c
./src/plugins/ruby/weechat-ruby-api.h
./src/plugins/ruby/weechat-ruby.c

139
po/cs.po
View File

@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-03-02 08:35+0100\n"
"PO-Revision-Date: 2014-02-20 12:24+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-03-04 11:20+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: cs\n"
@ -9007,135 +9007,6 @@ msgstr ""
"%s%s: přijato příliš málo argumentů od IRC serveru pro příkaz \"%s"
"\" (obdrženo: %d argumentů, očekáváno: alespoň %d)"
#, fuzzy
msgid "String modifier with regular expressions"
msgstr "změnit řetězce modifikátorů pomocí regulárních výrazů"
#, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr "%s%s: chyba při zpracování regulárního výrazu \"%s\""
msgid "No rmodifier defined"
msgstr "Žádné rmodifikátory nejsou definovány"
msgid "List of rmodifiers:"
msgstr "seznam rmodifikátory:"
msgid "Default rmodifiers:"
msgstr "Výchozí rmodifikátory:"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr "%s%s: chyba při vytváření rmodifikátoru \"%s\""
#, c-format
msgid "Rmodifier \"%s\" created"
msgstr "Rmodifikátor \"%s\" vytvořen"
#, c-format
msgid "%d rmodifiers removed"
msgstr "%d rmodifikátorů odebráno"
#, c-format
msgid "Rmodifier \"%s\" removed"
msgstr "Rmodifikátor \"%s\" odebrán"
#, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr "%sRmodifikátor \"%s\" nenalezen"
msgid "Default rmodifiers restored:"
msgstr "Výchozí rmodifikátory obnoveny:"
#, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
"%sChyba: \"-yes\" argument je požadován pro obnovení výchozích rmodifikátorů "
"(bezpečnostní opatření)"
#, fuzzy, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] "%d rmodifikátorů odebráno"
msgstr[1] "%d rmodifikátorů odebráno"
msgstr[2] "%d rmodifikátorů odebráno"
msgid "alter modifier strings with regular expressions"
msgstr "změnit řetězce modifikátorů pomocí regulárních výrazů"
#, fuzzy
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || default -yes"
#, fuzzy
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
" list: vypíše všechny rmodifikátory\n"
"listdefault: vypíše výchozí rmodifikátory\n"
" add: přidá rmodifikátor\n"
" name: jméno rmodifikátoru\n"
" modifiers: čárkou oddělený seznam modifikátorů\n"
" groups: akce na nalezených skupinách: čárkou oddělený seznam skupin (od "
"1 do 9) s možností \"*\" za číslem pro schování skupiny\n"
" regex: regulární výraz\n"
" del: smaže rmodifikátor\n"
" -all: smaže všechny rmodifikátory\n"
" default: obnoví výchozí rmodifikátory\n"
"\n"
"Příklady:\n"
" schová vše napsané za příkazem /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" smaže rmodifikátor \"password\":\n"
" /rmodifier del password\n"
" smaže všechny rmodifikátory:\n"
" /rmodifier del -all"
msgid "list of rmodifiers"
msgstr "seznam rmodifikátorů"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr "%s%s: chyba vytváření rmodifikátoru \"%s\" => \"%s\""
msgid "char used to hide part of a string"
msgstr "znak použitý pro schování části řetězce"
msgid "rmodifier pointer (optional)"
msgstr "ukazatel rmodifikátoru (volitelné)"
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr ""
"jméno rmodifikátoru (může začínat nebo končit \"*\" jako zástupným znakem) "
"(volitelné)"
#, fuzzy
msgid "Support of ruby scripts"
msgstr "seznam skriptů"
@ -10464,9 +10335,3 @@ msgstr "%s%s: nemohu nastavit \"neblokovaci\" volbu na soket"
#, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: vypršel časový limit \"%s\" pro %s"
#~ msgid "user name to use on server"
#~ msgstr "uživatelské jméno použité na serveru"
#~ msgid "real name to use on server"
#~ msgstr "skutečné jméno použité na serveru"

136
po/de.po
View File

@ -22,8 +22,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-03-02 08:35+0100\n"
"PO-Revision-Date: 2014-03-04 09:23+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-03-04 11:21+0100\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <weechatter@arcor.de>\n"
"Language: de_DE\n"
@ -10044,138 +10044,6 @@ msgstr ""
"%s%s: Zu wenige Argumente von Client %s%s%s für den Befehl \"%s\" erhalten "
"(Empfangen: %d Argumente, mindestens Erwartet: %d)"
msgid "String modifier with regular expressions"
msgstr "Zeichenketten werden mittels regulären Ausdrücken verändert"
#, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr "%s%s: Fehler bei der Kompilierung des regulären Ausdruckes \"%s\""
msgid "No rmodifier defined"
msgstr "Kein rmodifier definiert"
msgid "List of rmodifiers:"
msgstr "Liste der rmodifier:"
msgid "Default rmodifiers:"
msgstr "Standard rmodifier:"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr "%s%s: Fehler bei der Erstellung von rmodifier \"%s\""
#, c-format
msgid "Rmodifier \"%s\" created"
msgstr "rmodifier \"%s\" erstellt"
#, c-format
msgid "%d rmodifiers removed"
msgstr "%d rmodifiers entfernt"
#, c-format
msgid "Rmodifier \"%s\" removed"
msgstr "rmodifier \"%s\" entfernt"
#, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr "%srmodifier \"%s\" nicht gefunden"
msgid "Default rmodifiers restored:"
msgstr "Standard rmodifier wiederhergestellt:"
#, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
"%sFehler: Um rmodifier auf Standardeinstellungen zurücksetzen ist es aus "
"Sicherheitsgründen erforderlich, das Argument \"-yes\" zu nutzen"
#, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] "%d rmodifier hinzugefügt"
msgstr[1] "%d rmodifiers hinzugefügt"
msgid "alter modifier strings with regular expressions"
msgstr ""
"wandelt Schlüsselwörter mit regulären Ausdrücken (regelt die Darstellung von "
"Texten in WeeChat)"
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
" list: zeigt alle rmodifier an\n"
"listdefault: zeigt die Standardeinstellung für rmodifier an\n"
" add: einen rmodifier hinzufügen\n"
" name: Name des rmodifier\n"
" modifiers: durch Kommata getrennte Liste der modifier\n"
" groups: Aktion auf Gruppen (groups) anwenden, die durch reguläre "
"Ausdrücke abgefragt werden (innerhalb der runden Klammern): durch Kommata "
"getrennte Liste der Gruppen (von 1 bis 9). Optional kann nach der Nummer für "
"die Gruppe ein \"*\" gesetzt werden um diese Gruppe auszublenden\n"
" regex: erweiterter regulärer POSIX Ausdruck (zwischen Groß- und "
"Kleinschreibung wird nicht unterschieden. Um zwischen Groß- und "
"Kleinschreibung zu unterscheiden muss zu Beginn \"(?-i)\" genutzt werden)\n"
" del: löscht einen rmodifier Eintrag\n"
" -all: löscht alle rmodifiers Einträge\n"
" missing: fügt fehlende rmodifiers hinzu\n"
" default: setzt die rmodifier auf seine Standardwerte zurück\n"
"\n"
"Beispiele:\n"
" verbirgt die Eingabe nach dem Befehl /passwort:\n"
" /rmodifier add passwort input_text_display 1,2* ^(/passwort +)(.*)\n"
" lösche rmodifier \"passwort\":\n"
" /rmodifier del passwort\n"
" lösche alle rmodifiers:\n"
" /rmodifier del -all"
msgid "list of rmodifiers"
msgstr "Liste der rmodifier"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr "%s%s: Fehler beim Erstellen des rmodifier \"%s\" => \"%s\""
msgid "char used to hide part of a string"
msgstr "Zeichen, das anstelle der eigentlichen Eingabe angezeigt wird"
msgid "rmodifier pointer (optional)"
msgstr "rmodifier Pointer (optional)"
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr ""
"rmodifier Name (darf mit einem \"*\" als Platzhalter beginnen oder enden) "
"(optional)"
msgid "Support of ruby scripts"
msgstr "Unterstützung von Ruby-Skripten"

139
po/es.po
View File

@ -22,8 +22,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-03-02 08:35+0100\n"
"PO-Revision-Date: 2014-02-20 12:25+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-03-04 11:21+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: es\n"
@ -9295,135 +9295,6 @@ msgstr ""
"%s%s: muy pocos argumentos recibidos del cliente %s%s%s para el comando \"%s"
"\" (recibidos: %d argumentos, esperado: al menos %d)"
msgid "String modifier with regular expressions"
msgstr "Modificador de cadena con expresiones regulares"
#, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr "%s%s: error al compilar la expresión regular \"%s\""
msgid "No rmodifier defined"
msgstr "Ningún modificador regular definido"
msgid "List of rmodifiers:"
msgstr "Lista de modificadores regulares:"
msgid "Default rmodifiers:"
msgstr "Modificadores regulares predeterminados:"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr "%s%s: error al crear el modificador regular \"%s\""
#, c-format
msgid "Rmodifier \"%s\" created"
msgstr "Modificador regular \"%s\" creado"
#, c-format
msgid "%d rmodifiers removed"
msgstr "%d modificadores regulares removidos"
#, c-format
msgid "Rmodifier \"%s\" removed"
msgstr "Modificador regular \"%s\" removido"
#, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr "%sModificador regular \"%s\" no encontrado"
msgid "Default rmodifiers restored:"
msgstr "Modificadores regulares predeterminados restaurados:"
#, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
"%sError: por seguridad, se requiere el argumento \"-yes\" para restaurar los "
"modificadores regulares"
#, fuzzy, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] "%d modificadores regulares removidos"
msgstr[1] "%d modificadores regulares removidos"
msgid "alter modifier strings with regular expressions"
msgstr "alterar cadenas en modificadores con expresiones regulares"
#, fuzzy
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
"list|listdefault || add <nombre> <modificadores> <grupos> <regex> || del "
"<nombre>|-all [<nombre>...] || default -yes"
#, fuzzy
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
" list: lista todos los modificadores regulares\n"
" listdefault: lista los modificadores regulares predeterminados\n"
" add: agrega un modificador regular\n"
" nombre: nombre del modificador regular\n"
"modificadores: lista separada por comas de modificadores\n"
" grupos: acciones para los grupos encontrados: lista separada por "
"comas de grupos (desde 1 a 9)con opcional \"*\" después del número para "
"ocultar el grupo\n"
" regex: expresión regular (insensible a las mayúsculas, puede empezar "
"con \"(?-i)\" para serlo)\n"
" del: borra modificador regular\n"
" -all: borra todos los modificadores regulares\n"
" default: restaurar los modificadores regulares predeterminados\n"
"\n"
"Ejemplos:\n"
" oculta todo lo tipeado después del comando /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" borra el modificador regular \"password\":\n"
" /rmodifier del password\n"
" borra todos los modificadores regulares:\n"
" /rmodifier del -all"
msgid "list of rmodifiers"
msgstr "lista de modificadores regulares"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr "%s%s: error al crear el modificador regular \"%s\" => \"%s\""
msgid "char used to hide part of a string"
msgstr "carácter usado para ocultar parte de un texto"
msgid "rmodifier pointer (optional)"
msgstr "puntero del modificador regular (opcional)"
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr ""
"nombre del modificador regular (puede empezar o terminar con \"*\" como "
"comodín) (opcional)"
msgid "Support of ruby scripts"
msgstr "Soporte para scripts en ruby"
@ -10736,9 +10607,3 @@ msgstr "%s%s: no es posible configurar la opción \"nonblock\" para el socket"
#, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: tiempo de espera máximo para \"%s\" con %s"
#~ msgid "user name to use on server"
#~ msgstr "nombre de usuario para usar en el servidor"
#~ msgid "real name to use on server"
#~ msgstr "nombre real para usar en el servidor"

138
po/fr.po
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-03-02 08:35+0100\n"
"PO-Revision-Date: 2014-03-02 08:36+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-03-04 11:21+0100\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@ -9795,134 +9795,6 @@ msgstr ""
"%s%s: trop peu de paramètres reçus du client %s%s%s pour la commande \"%s"
"\" (reçu: %d paramètres, attendu: au moins %d)"
msgid "String modifier with regular expressions"
msgstr "Modificateur de chaîne avec expressions régulières"
#, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr "%s%s: erreur de compilation de l'expression régulière \"%s\""
msgid "No rmodifier defined"
msgstr "Pas de rmodifier défini"
msgid "List of rmodifiers:"
msgstr "Liste des rmodifiers:"
msgid "Default rmodifiers:"
msgstr "Rmodifiers par défaut:"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr "%s%s: erreur de création du rmodifier \"%s\""
#, c-format
msgid "Rmodifier \"%s\" created"
msgstr "Rmodifier \"%s\" créé"
#, c-format
msgid "%d rmodifiers removed"
msgstr "%d rmodifiers supprimés"
#, c-format
msgid "Rmodifier \"%s\" removed"
msgstr "Rmodifier \"%s\" supprimé"
#, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr "%sRmodifier \"%s\" non trouvé"
msgid "Default rmodifiers restored:"
msgstr "Rmodifiers par défaut restaurés:"
#, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
"%sErreur: le paramètre \"-yes\" est requis pour la restauration des "
"rmodifiers par défaut (raison de sécurité)"
#, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] "%d rmodifier ajouté"
msgstr[1] "%d rmodifiers ajoutés"
msgid "alter modifier strings with regular expressions"
msgstr "modifier des chaînes de \"modifier\" avec des expressions régulières"
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
"list|listdefault || add <nom> <modifiers> <groupes> <regex> || del <nom>|-"
"all [<nom>...] || missing || default -yes"
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
" list: lister les rmodifiers\n"
"listdefault: lister les rmodifiers par défaut\n"
" add: ajouter un rmodifier\n"
" name: nom du rmodifier\n"
" modifiers: liste de modifiers (séparés par une virgule)\n"
" groupes: action sur les groupes capturés dans l'expression régulière "
"(entre parenthèses): liste de groupes (séparés par une virgule) (de 1 à 9) "
"avec en option \"*\" après le nombre pour cacher le groupe\n"
" regex: expression régulière POSIX étendue (insensible à la casse, peut "
"commencer par \"(?-i)\" pour devenir sensible à la casse)\n"
" del: supprimer un rmodifier\n"
" -all: supprimer tous les rmodifiers\n"
" missing: ajouter les rmodifiers manquants\n"
" default: restaurer les rmodifiers par défaut\n"
"\n"
"Exemples:\n"
" cacher tout ce qui est tapé après la commande /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" supprimer le rmodifier \"password\":\n"
" /rmodifier del password\n"
" supprimer tous les rmodifiers:\n"
" /rmodifier del -all"
msgid "list of rmodifiers"
msgstr "liste des rmodifiers"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr "%s%s: erreur de création du rmodifier \"%s\" => \"%s\""
msgid "char used to hide part of a string"
msgstr "caractère utilisé pour cacher une partie de la chaîne"
msgid "rmodifier pointer (optional)"
msgstr "pointeur vers le rmodifier (optionnel)"
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr ""
"nom du rmodifier (peut démarrer ou se terminer par \"*\" comme caractère "
"joker) (optionnel)"
msgid "Support of ruby scripts"
msgstr "Support des scripts ruby"
@ -11455,9 +11327,3 @@ msgstr ""
#, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: délai d'attente dépassé pour \"%s\" avec %s"
#~ msgid "user name to use on server"
#~ msgstr "nom d'utilisateur pour le serveur"
#~ msgid "real name to use on server"
#~ msgstr "nom réel pour le serveur"

122
po/hu.po
View File

@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-03-02 08:35+0100\n"
"PO-Revision-Date: 2014-02-20 12:25+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-03-04 11:21+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: hu\n"
@ -8428,116 +8428,6 @@ msgid ""
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
#, fuzzy
msgid "String modifier with regular expressions"
msgstr "%s nincs elég memória az információs pult üzenethez\n"
#, fuzzy, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr "%s nincs elég memória az információs pult üzenethez\n"
#, fuzzy
msgid "No rmodifier defined"
msgstr "Nincs aliasz definiálva.\n"
#, fuzzy
msgid "List of rmodifiers:"
msgstr "Aliaszok listája:\n"
#, fuzzy
msgid "Default rmodifiers:"
msgstr "Alapértelmezett billentyűparancsok visszaállítva\n"
#, fuzzy, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr "%s nincs elég memória az információs pult üzenethez\n"
#, fuzzy, c-format
msgid "Rmodifier \"%s\" created"
msgstr "A \"%s\" => \"%s\" aliasz elkészült\n"
#, fuzzy, c-format
msgid "%d rmodifiers removed"
msgstr " időkezelők:\n"
#, fuzzy, c-format
msgid "Rmodifier \"%s\" removed"
msgstr "A \"%s\" aliasz eltávolítva\n"
#, fuzzy, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr "%s a \"%s\" modul nem található\n"
#, fuzzy
msgid "Default rmodifiers restored:"
msgstr "Alapértelmezett billentyűparancsok visszaállítva\n"
#, fuzzy, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
"%s \"-yes\" paraméter megadása kötelező a billentyűparancsok "
"visszaállításához (biztonsági okokból)\n"
#, fuzzy, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] " időkezelők:\n"
msgstr[1] " időkezelők:\n"
#, fuzzy
msgid "alter modifier strings with regular expressions"
msgstr "%s nincs elég memória az információs pult üzenethez\n"
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
#, fuzzy
msgid "list of rmodifiers"
msgstr "Aliaszok listája:\n"
#, fuzzy, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr "%s nincs elég memória az információs pult üzenethez\n"
msgid "char used to hide part of a string"
msgstr ""
#, fuzzy
msgid "rmodifier pointer (optional)"
msgstr "Beállítások mentése a lemezre\n"
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr ""
#, fuzzy
msgid "Support of ruby scripts"
msgstr "Aliaszok listája:\n"
@ -9875,11 +9765,3 @@ msgstr "%s DCC: nem sikerült 'nonblock' opciót beállítani a csatornán\n"
#, fuzzy, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
#, fuzzy
#~ msgid "user name to use on server"
#~ msgstr "használni kívánt felhasználónév az IRC szerveren"
#, fuzzy
#~ msgid "real name to use on server"
#~ msgstr "az IRC szerveren használt valódi név"

139
po/it.po
View File

@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-03-02 08:35+0100\n"
"PO-Revision-Date: 2014-02-20 12:25+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-03-04 11:21+0100\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: it\n"
@ -9450,135 +9450,6 @@ msgstr ""
"%s%s: argomenti non sufficienti ricevuti dal client %s%s%s per il comando "
"\"%s\" (ricevuti: %d argomenti, attesi: %d almeno)"
msgid "String modifier with regular expressions"
msgstr "Stringa del modificatore con espressioni regolari"
#, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr "%s%s: errore nella compilazione dell'espressione regolare \"%s\""
msgid "No rmodifier defined"
msgstr "Nessun rmodifier definito"
msgid "List of rmodifiers:"
msgstr "Elenco di rmodifier:"
msgid "Default rmodifiers:"
msgstr "Rmodifier predefiniti:"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr "%s%s: errore nella creazione del rmodifier \"%s\""
#, c-format
msgid "Rmodifier \"%s\" created"
msgstr "Rmodifier \"%s\" creato"
#, c-format
msgid "%d rmodifiers removed"
msgstr "%d rmodifier eliminati"
#, c-format
msgid "Rmodifier \"%s\" removed"
msgstr "Rmodifier \"%s\" eliminato"
#, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr "%sRmodifier \"%s\" non trovato"
msgid "Default rmodifiers restored:"
msgstr "Rmodifier predefiniti ripristinati:"
#, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
"%sErrore: l'argomento \"-yes\" è richiesto per ripristinare gli rmodifier "
"predefiniti (motivi di sicurezza)"
#, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] "%d rmodifier aggiunto"
msgstr[1] "%d rmodifier aggiunti"
msgid "alter modifier strings with regular expressions"
msgstr "sostituisce le stringhe del modificatore con le espressioni regolari"
#, fuzzy
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
"list|listdefault || add <nome> <modifier> <gruppi> <regex> || del <nome>|-"
"all [<nome>...] || default -yes"
#, fuzzy
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
" list: elenca tutti gli rmodifier\n"
"listdefault: elenca gli rmodifier predefiniti\n"
" add: aggiunge un rmodifier\n"
" nome: nome rmodifier\n"
" modifier: elenco separato da virgole di modificatori\n"
" gruppi: azione sui gruppi catturati nell'espressione regolare (tra "
"parentesi): elenco separato da virgole di gruppi (da 1 a 9) con \"*\" "
"opzionale dopo il numero per nascondere il gruppo\n"
" regex: espressione regolare (non sensibile alle maiuscole, può "
"iniziare con \"(?-i)\" per diventare sensibile alle maiuscole\n"
" del: elimina rmodifier\n"
" -all: elimina tutti gli rmodifier\n"
" default: ripristina gli rmodifier predefiniti\n"
"\n"
"Esempi:\n"
" nasconde ciò che viene digitato dopo il comando /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" elimina rmodifier \"password\":\n"
" /rmodifier del password\n"
" elimina tutti gli rmodifier:\n"
" /rmodifier del -all"
msgid "list of rmodifiers"
msgstr "elenco di rmodifier"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr "%s%s: errore nella creazione del rmodifier \"%s\" => \"%s\""
msgid "char used to hide part of a string"
msgstr "carattere usato per nascondere parte di una stringa"
msgid "rmodifier pointer (optional)"
msgstr "puntatore a rmodifier (opzionale)"
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr ""
"nome rmodifier (può iniziare o terminare con \"*\" come carattere jolly) "
"(opzionale)"
msgid "Support of ruby scripts"
msgstr "Supporto agli script ruby"
@ -10895,9 +10766,3 @@ msgstr ""
#, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: timeout per \"%s\" con %s"
#~ msgid "user name to use on server"
#~ msgstr "nome utente da usare sul server"
#~ msgid "real name to use on server"
#~ msgstr "nome reale da usare sul server"

135
po/ja.po
View File

@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2014-03-02 08:35+0100\n"
"PO-Revision-Date: 2014-02-20 12:25+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-03-04 11:21+0100\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/WeeChat>\n"
"Language: ja\n"
@ -9443,131 +9443,6 @@ msgstr ""
"%s%s: クライアント %s%s%s から受け付けたコマンド \"%s\" に対する引数が足りま"
"せん (受信: %d 個の引数、必要数: 少なくとも %d 個)"
msgid "String modifier with regular expressions"
msgstr "正規表現を用いた文字列置換"
#, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr "%s%s: 正規表現のコンパイル中にエラー \"%s\""
msgid "No rmodifier defined"
msgstr "rmodifier は定義されていません"
msgid "List of rmodifiers:"
msgstr "rmodifier のリスト:"
msgid "Default rmodifiers:"
msgstr "デフォルトの rmodifier:"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr "%s%s: rmodifier の作成中にエラー \"%s\""
#, c-format
msgid "Rmodifier \"%s\" created"
msgstr "Rmodifier \"%s\" を作成"
#, c-format
msgid "%d rmodifiers removed"
msgstr "%d 個の rmodifier を削除"
#, c-format
msgid "Rmodifier \"%s\" removed"
msgstr "Rmodifier \"%s\" を削除"
#, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr "%sRmodifier \"%s\" が見つかりません"
msgid "Default rmodifiers restored:"
msgstr "デフォルトに戻す場合の rmodifier:"
#, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
"%sエラー: デフォルト rmodifiers に戻すためには \"-yes\" 引数が必要 (セキュリ"
"ティ上の問題)"
#, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] "%d 個の rmodifier を追加"
msgid "alter modifier strings with regular expressions"
msgstr "正規表現で modifier 文字列を変更"
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
" list: 全ての rmodifier をリストアップ\n"
"listdefault: デフォルトの rmodifier をリストアップ\n"
" add: rmodifier を追加\n"
" name: rmodifier の名前\n"
" modifiers: rmodifier のコンマ区切りリスト\n"
" groups: 正規表現にマッチするグループに対するアクション (括弧内): グルー"
"プ (1 から 9) のコンマ区切りリスト、グループを隠すには番号の後ろに任意で \"*"
"\" をつける\n"
" regex: POSIX 拡張正規表現 (大文字小文字の区別無し、\"(?-i)\" で始めれば"
"区別有り)\n"
" del: rmodifier を削除\n"
" -all: 全ての rmodifier を削除\n"
" missing: 見つからない rmodifier を追加\n"
" default: デフォルトの rmodifier に戻す\n"
"\n"
"例:\n"
" コマンド /password に続く入力は全て隠す:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" rmodifier \"password\" を削除:\n"
" /rmodifier del password\n"
" 全ての rmodifiers を削除:\n"
" /rmodifier del -all"
msgid "list of rmodifiers"
msgstr "rmodifier のリスト"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr "%s%s: rmodifier \"%s\" => \"%s\" の作成中にエラー"
msgid "char used to hide part of a string"
msgstr "文字列の一部を隠すための文字"
msgid "rmodifier pointer (optional)"
msgstr "rmodifier ポインタ (任意)"
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr "rmodifier 名 (ジョーカーとして \"*\" で始めるか終われる) (任意)"
msgid "Support of ruby scripts"
msgstr "ruby スクリプトサポート"
@ -10964,9 +10839,3 @@ msgstr "%s%s: ソケットにオプション \"nonblock\" を設定できませ
#, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: \"%s\" のタイムアウト %s"
#~ msgid "user name to use on server"
#~ msgstr "サーバで使用するユーザ名"
#~ msgid "real name to use on server"
#~ msgstr "サーバで使用するリアルネーム"

137
po/pl.po
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-03-02 08:35+0100\n"
"PO-Revision-Date: 2014-02-20 12:25+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-03-04 11:21+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: pl\n"
@ -9619,133 +9619,6 @@ msgstr ""
"%s%s: otrzymano za mało argumentów od klienta %s%s%s dla komendy \"%s"
"\" (otrzymano: %d argumentów, spodziewano się: przynajmniej %d)"
msgid "String modifier with regular expressions"
msgstr "Modyfikator ciągów z obsługą wyrażeń regularnych"
#, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr "%s%s: błąd podczas kompilowania wyrażenia regularnego \"%s\""
msgid "No rmodifier defined"
msgstr "Nie zdefiniowano rmodifiera"
msgid "List of rmodifiers:"
msgstr "Lista rmodifierów:"
msgid "Default rmodifiers:"
msgstr "Domyślne rmodifiery:"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr "%s%s: błąd podczas tworzenia rmodifiera \"%s\""
#, c-format
msgid "Rmodifier \"%s\" created"
msgstr "Utworzono rmodifier \"%s\""
#, c-format
msgid "%d rmodifiers removed"
msgstr "%d rmodifierów usunięto"
#, c-format
msgid "Rmodifier \"%s\" removed"
msgstr "Rmodifier \"%s\" został usunięty"
#, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr "%sNie znaleziono rmodifiera \"%s\""
msgid "Default rmodifiers restored:"
msgstr "Przywrócono domyślne rmofifiery:"
#, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
"%sBłąd: argument \"-yes\" wymagany do przywrócenia domyślnych rmodifierów "
"(względy bezpieczeństwa)"
#, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] "dodano %d rmodiffer"
msgstr[1] "dodano %d rmodifery"
msgstr[2] "dodano %d rmodiferów"
msgid "alter modifier strings with regular expressions"
msgstr "zmiany ciągów modyfikujących przez wyrażenia regularne"
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
"list|listdefault || add <nazwa> <modyfikatory> <grupy> <regex> || del "
"<nazwa>|-all [<nazwa>...] || missing || default -yes"
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
" list: lista wszystkich rmodifierów\n"
"listdefault: lista domyślnych rmodifierów\n"
" add: dodaje rmodifier\n"
" nazwa: nazwa rmodifiera\n"
" modyfikatory: oddzielona przecinkiem lista modyfikatorów\n"
" grupy: akcja na grupach przechwyconych w wyrażeniu regularnym (wewnątrz "
"nawiasów): oddzielona przecinkami lista grup (od 1 do 9) z opcjonalnym "
"znakiem \"*\" po numerze, aby ukryć grupę\n"
" regex: rozszerzone wyrażenia regularne POSIX (wielkość znaków nie ma "
"znaczenia, jeśli poprzedzone \"(?-i)\" wielkość znaków ma znaczenie)\n"
" del: usuwa rmodifier\n"
" -all: usuwa wszystkie rmodifiery\n"
" missing: dodaje brakujące rmodifiery\n"
" default: przywraca domyślne rmodifiery\n"
"\n"
"Przykłady:\n"
" ukrywa wszystko wpisane za komendą /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" usuwa rmodifier \"hasło\":\n"
" /rmodifier del hasło\n"
" kasuje wszystkie rmodifiery:\n"
" /rmodifier del -all"
msgid "list of rmodifiers"
msgstr "lista rmodifierów"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr "%s%s: błąd podczas tworzenia rmodifier \"%s\" => \"%s\""
msgid "char used to hide part of a string"
msgstr "znak używany do ukrycia części ciągu"
msgid "rmodifier pointer (optional)"
msgstr "wskaźnik rmodifier (opcjonalny)"
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr "nazwa rmodifier (może się zaczynać lub kończyć \"*\") (opcjonalne)"
msgid "Support of ruby scripts"
msgstr "Wsparcie dla skryptów ruby"
@ -11152,9 +11025,3 @@ msgstr "%s%s: nie można ustawić opcji \"nonblock\" dla gniazda: błąd %d %s"
#, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: przekroczono czas na \"%s\" z %s"
#~ msgid "user name to use on server"
#~ msgstr "nazwa użytkownika używana na serwerze"
#~ msgid "real name to use on server"
#~ msgstr "prawdziwa nazwa używana na serwerze"

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-03-02 08:35+0100\n"
"PO-Revision-Date: 2014-02-20 12:25+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-03-04 11:21+0100\n"
"Last-Translator: Sergio Durigan Junior <sergiosdj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: pt_BR\n"
@ -8661,114 +8661,6 @@ msgstr ""
"%s%s: argumentos insuficientes recebidos do cliente %d para o comando \"%s"
"\" (recebidos: %d argumentos, esperados: ao menos %d)"
#, fuzzy
msgid "String modifier with regular expressions"
msgstr "alterar string modifier com expressões regulares"
#, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr "%s%s: erro ao compilar expressão regular \"%s\""
msgid "No rmodifier defined"
msgstr "Nenhuma rmodifier definido"
msgid "List of rmodifiers:"
msgstr "Lista de rmodifiers:"
msgid "Default rmodifiers:"
msgstr "Rmodifiers padrões:"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr "%s%s: erro ao criar rmodifier \"%s\""
#, c-format
msgid "Rmodifier \"%s\" created"
msgstr "Rmodifier \"%s\" criado"
#, c-format
msgid "%d rmodifiers removed"
msgstr "%d rmodifiers removidos"
#, c-format
msgid "Rmodifier \"%s\" removed"
msgstr "Rmodifier \"%s\" removido"
#, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr "%sRmodifier \"%s\" não encontrado"
msgid "Default rmodifiers restored:"
msgstr "Rmodifiers padrões restaurados:"
#, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
"%sErro: argumento \"-yes\" é necessário para restaurar rmodifiers padrões "
"(motivo de segurança)"
#, fuzzy, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] "%d rmodifiers removidos"
msgstr[1] "%d rmodifiers removidos"
msgid "alter modifier strings with regular expressions"
msgstr "alterar string modifier com expressões regulares"
#, fuzzy
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
"list|listdefault || add <nome> <modificadores> <grupos> <expressão_regular> "
"|| del <nome>|-all [<nome>...] || default -yes"
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
msgid "list of rmodifiers"
msgstr "lista de rmodifiers"
#, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr "%s%s: erro ao criar rmodifier \"%s\" => \"%s\""
msgid "char used to hide part of a string"
msgstr "caractere usado para esconder parte de uma string"
msgid "rmodifier pointer (optional)"
msgstr "ponteiro rmodifier (opcional)"
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr ""
"nome do rmodifier (pode começar ou terminar com \"*\" como um coringa) "
"(opcional)"
#, fuzzy
msgid "Support of ruby scripts"
msgstr "list de scripts"
@ -10100,9 +9992,3 @@ msgstr "%s%s: não foi possível setar opção \"nonblock\" para o socket"
#, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: tempo esgotado para \"%s\" com %s"
#~ msgid "user name to use on server"
#~ msgstr "nome de usuário para utilizar no servidor"
#~ msgid "real name to use on server"
#~ msgstr "nome real para utilizar no servidor"

122
po/ru.po
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-03-02 08:35+0100\n"
"PO-Revision-Date: 2014-02-20 12:25+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-03-04 11:21+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: ru\n"
@ -8453,116 +8453,6 @@ msgid ""
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
#, fuzzy
msgid "String modifier with regular expressions"
msgstr "%s недостаточно памяти для сообщения в строке информации\n"
#, fuzzy, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr "%s недостаточно памяти для сообщения в строке информации\n"
#, fuzzy
msgid "No rmodifier defined"
msgstr "Сокращения не заданы.\n"
#, fuzzy
msgid "List of rmodifiers:"
msgstr "Список сокращений:\n"
#, fuzzy
msgid "Default rmodifiers:"
msgstr "Комбинации клавиш по умолчанию восстановлены\n"
#, fuzzy, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr "%s недостаточно памяти для сообщения в строке информации\n"
#, fuzzy, c-format
msgid "Rmodifier \"%s\" created"
msgstr "Сокращение \"%s\" => \"%s\" создано\n"
#, fuzzy, c-format
msgid "%d rmodifiers removed"
msgstr " обработчики таймера:\n"
#, fuzzy, c-format
msgid "Rmodifier \"%s\" removed"
msgstr "Сокращение \"%s\" удалено\n"
#, fuzzy, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr "%s plugin \"%s\" не найден\n"
#, fuzzy
msgid "Default rmodifiers restored:"
msgstr "Комбинации клавиш по умолчанию восстановлены\n"
#, fuzzy, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
"%s аргумент \"-yes\" необходим для сброса ключей (в целях безопасности)\n"
#, fuzzy, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] " обработчики таймера:\n"
msgstr[1] " обработчики таймера:\n"
msgstr[2] " обработчики таймера:\n"
#, fuzzy
msgid "alter modifier strings with regular expressions"
msgstr "%s недостаточно памяти для сообщения в строке информации\n"
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
#, fuzzy
msgid "list of rmodifiers"
msgstr "Список сокращений:\n"
#, fuzzy, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr "%s недостаточно памяти для сообщения в строке информации\n"
msgid "char used to hide part of a string"
msgstr ""
#, fuzzy
msgid "rmodifier pointer (optional)"
msgstr "Сохраняю конфигурацию\n"
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr ""
#, fuzzy
msgid "Support of ruby scripts"
msgstr "Список сокращений:\n"
@ -9896,11 +9786,3 @@ msgstr "%s DCC: не могу установить неблокирующий р
#, fuzzy, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s нет аргумента для параметра \"%s\"\n"
#, fuzzy
#~ msgid "user name to use on server"
#~ msgstr "имя пользователя, используемое на IRC сервере"
#, fuzzy
#~ msgid "real name to use on server"
#~ msgstr "настоящее имя, используемое на IRC сервере"

View File

@ -236,18 +236,6 @@ SET(WEECHAT_SOURCES
./src/plugins/relay/weechat/relay-weechat-nicklist.h
./src/plugins/relay/weechat/relay-weechat-protocol.c
./src/plugins/relay/weechat/relay-weechat-protocol.h
./src/plugins/rmodifier/rmodifier.c
./src/plugins/rmodifier/rmodifier-command.c
./src/plugins/rmodifier/rmodifier-command.h
./src/plugins/rmodifier/rmodifier-completion.c
./src/plugins/rmodifier/rmodifier-completion.h
./src/plugins/rmodifier/rmodifier-config.c
./src/plugins/rmodifier/rmodifier-config.h
./src/plugins/rmodifier/rmodifier-debug.c
./src/plugins/rmodifier/rmodifier-debug.h
./src/plugins/rmodifier/rmodifier.h
./src/plugins/rmodifier/rmodifier-info.c
./src/plugins/rmodifier/rmodifier-info.h
./src/plugins/ruby/weechat-ruby-api.c
./src/plugins/ruby/weechat-ruby-api.h
./src/plugins/ruby/weechat-ruby.c

101
po/tr.po
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-03-02 08:35+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\n"
"PO-Revision-Date: 2014-02-16 11:21+0100\n"
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -7552,105 +7552,6 @@ msgid ""
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
msgid "String modifier with regular expressions"
msgstr ""
#, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr ""
msgid "No rmodifier defined"
msgstr ""
msgid "List of rmodifiers:"
msgstr ""
msgid "Default rmodifiers:"
msgstr ""
#, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr ""
#, c-format
msgid "Rmodifier \"%s\" created"
msgstr ""
#, c-format
msgid "%d rmodifiers removed"
msgstr ""
#, c-format
msgid "Rmodifier \"%s\" removed"
msgstr ""
#, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr ""
msgid "Default rmodifiers restored:"
msgstr ""
#, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
#, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] ""
msgid "alter modifier strings with regular expressions"
msgstr ""
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
msgid "list of rmodifiers"
msgstr ""
#, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr ""
msgid "char used to hide part of a string"
msgstr ""
msgid "rmodifier pointer (optional)"
msgstr ""
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr ""
msgid "Support of ruby scripts"
msgstr "Ruby betik desteği"

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-03-02 08:35+0100\n"
"POT-Creation-Date: 2014-03-04 11:15+0100\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"
@ -7512,106 +7512,6 @@ msgid ""
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
msgid "String modifier with regular expressions"
msgstr ""
#, c-format
msgid "%s%s: error compiling regular expression \"%s\""
msgstr ""
msgid "No rmodifier defined"
msgstr ""
msgid "List of rmodifiers:"
msgstr ""
msgid "Default rmodifiers:"
msgstr ""
#, c-format
msgid "%s%s: error creating rmodifier \"%s\""
msgstr ""
#, c-format
msgid "Rmodifier \"%s\" created"
msgstr ""
#, c-format
msgid "%d rmodifiers removed"
msgstr ""
#, c-format
msgid "Rmodifier \"%s\" removed"
msgstr ""
#, c-format
msgid "%sRmodifier \"%s\" not found"
msgstr ""
msgid "Default rmodifiers restored:"
msgstr ""
#, c-format
msgid ""
"%sError: \"-yes\" argument is required for restoring default rmodifiers "
"(security reason)"
msgstr ""
#, c-format
msgid "%d rmodifier added"
msgid_plural "%d rmodifiers added"
msgstr[0] ""
msgstr[1] ""
msgid "alter modifier strings with regular expressions"
msgstr ""
msgid ""
"list|listdefault || add <name> <modifiers> <groups> <regex> || del <name>|-"
"all [<name>...] || missing || default -yes"
msgstr ""
msgid ""
" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression (inside "
"parentheses): comma separated list of groups (from 1 to 9) with optional \"*"
"\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, can start "
"by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"
msgstr ""
msgid "list of rmodifiers"
msgstr ""
#, c-format
msgid "%s%s: error creating rmodifier \"%s\" => \"%s\""
msgstr ""
msgid "char used to hide part of a string"
msgstr ""
msgid "rmodifier pointer (optional)"
msgstr ""
msgid "rmodifier name (can start or end with \"*\" as joker) (optional)"
msgstr ""
msgid "Support of ruby scripts"
msgstr ""

View File

@ -88,10 +88,6 @@ IF(ENABLE_RELAY)
ADD_SUBDIRECTORY( relay )
ENDIF(ENABLE_RELAY)
IF(ENABLE_RMODIFIER)
ADD_SUBDIRECTORY( rmodifier )
ENDIF(ENABLE_RMODIFIER)
IF(ENABLE_SCRIPT)
ADD_SUBDIRECTORY( script )
ENDIF(ENABLE_SCRIPT)

View File

@ -67,10 +67,6 @@ if PLUGIN_RELAY
relay_dir = relay
endif
if PLUGIN_RMODIFIER
rmodifier_dir = rmodifier
endif
if PLUGIN_SCRIPT
script_dir = script
endif
@ -108,9 +104,9 @@ xfer_dir = xfer
endif
SUBDIRS = . $(alias_dir) $(aspell_dir) $(charset_dir) $(fifo_dir) $(irc_dir) \
$(logger_dir) $(relay_dir) $(rmodifier_dir) $(script_dir) \
$(perl_dir) $(python_dir) $(ruby_dir) $(lua_dir) $(tcl_dir) \
$(guile_dir) $(trigger_dir) $(xfer_dir)
$(logger_dir) $(relay_dir) $(script_dir) $(perl_dir) $(python_dir) \
$(ruby_dir) $(lua_dir) $(tcl_dir) $(guile_dir) $(trigger_dir) \
$(xfer_dir)
EXTRA_DIST = CMakeLists.txt

View File

@ -1,31 +0,0 @@
#
# Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
#
ADD_LIBRARY(rmodifier MODULE
rmodifier.c rmodifier.h
rmodifier-command.c rmodifier-command.h
rmodifier-completion.c rmodifier-completion.h
rmodifier-config.c rmodifier-config.h
rmodifier-debug.c rmodifier-debug.h
rmodifier-info.c rmodifier-info.h)
SET_TARGET_PROPERTIES(rmodifier PROPERTIES PREFIX "")
TARGET_LINK_LIBRARIES(rmodifier)
INSTALL(TARGETS rmodifier LIBRARY DESTINATION ${LIBDIR}/plugins)

View File

@ -1,41 +0,0 @@
#
# Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
#
AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" $(RMODIFIER_CFLAGS)
libdir = ${weechat_libdir}/plugins
lib_LTLIBRARIES = rmodifier.la
rmodifier_la_SOURCES = rmodifier.c \
rmodifier.h \
rmodifier-command.c \
rmodifier-command.h \
rmodifier-completion.c \
rmodifier-completion.h \
rmodifier-config.c \
rmodifier-config.h \
rmodifier-debug.c \
rmodifier-debug.h \
rmodifier-info.c \
rmodifier-info.h
rmodifier_la_LDFLAGS = -module -no-undefined
rmodifier_la_LIBADD = $(RMODIFIER_LFLAGS)
EXTRA_DIST = CMakeLists.txt

View File

@ -1,268 +0,0 @@
/*
* rmodifier-command.c - rmodifier command
*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdlib.h>
#include "../weechat-plugin.h"
#include "rmodifier.h"
#include "rmodifier-command.h"
#include "rmodifier-config.h"
/*
* Displays a rmodifier.
*/
void
rmodifier_command_print (const char *name, const char *modifiers,
const char *str_regex, const char *groups)
{
weechat_printf (NULL,
" %s[%s%s%s]%s %s%s: \"%s%s%s\" [%s%s%s]",
weechat_color ("chat_delimiters"),
weechat_color ("chat"),
name,
weechat_color ("chat_delimiters"),
weechat_color ("chat"),
modifiers,
weechat_color ("chat_delimiters"),
weechat_color ("chat_host"),
str_regex,
weechat_color ("chat_delimiters"),
weechat_color ("chat"),
groups,
weechat_color ("chat_delimiters"));
}
/*
* Displays list of rmodifiers.
*/
void
rmodifier_command_list (const char *message)
{
struct t_rmodifier *ptr_rmodifier;
if (rmodifier_list)
{
weechat_printf (NULL, "");
weechat_printf (NULL, message);
for (ptr_rmodifier = rmodifier_list; ptr_rmodifier;
ptr_rmodifier = ptr_rmodifier->next_rmodifier)
{
rmodifier_command_print (ptr_rmodifier->name,
ptr_rmodifier->modifiers,
ptr_rmodifier->str_regex,
ptr_rmodifier->groups);
}
}
else
weechat_printf (NULL, _("No rmodifier defined"));
}
/*
* Callback for command "/rmodifier": manages rmodifiers.
*/
int
rmodifier_command_cb (void *data, struct t_gui_buffer *buffer, int argc,
char **argv, char **argv_eol)
{
struct t_rmodifier *ptr_rmodifier;
struct t_config_option *ptr_option;
int i, count;
/* make C compiler happy */
(void) data;
(void) buffer;
/* list all rmodifiers */
if ((argc == 1)
|| ((argc == 2) && (weechat_strcasecmp (argv[1], "list") == 0)))
{
rmodifier_command_list (_("List of rmodifiers:"));
return WEECHAT_RC_OK;
}
/* list default rmodifiers */
if (weechat_strcasecmp (argv[1], "listdefault") == 0)
{
weechat_printf (NULL, "");
weechat_printf (NULL, _("Default rmodifiers:"));
for (i = 0; rmodifier_config_default_list[i][0]; i++)
{
rmodifier_command_print (rmodifier_config_default_list[i][0],
rmodifier_config_default_list[i][1],
rmodifier_config_default_list[i][2],
rmodifier_config_default_list[i][3]);
}
return WEECHAT_RC_OK;
}
/* add a rmodifier */
if (weechat_strcasecmp (argv[1], "add") == 0)
{
if (argc < 6)
return WEECHAT_RC_ERROR;
ptr_rmodifier = rmodifier_new (argv[2], argv[3], argv_eol[5], argv[4]);
if (!ptr_rmodifier)
{
weechat_printf (NULL,
_("%s%s: error creating rmodifier \"%s\""),
weechat_prefix ("error"), RMODIFIER_PLUGIN_NAME,
argv[2]);
return WEECHAT_RC_OK;
}
/* create configuration option */
ptr_option = weechat_config_search_option (rmodifier_config_file,
rmodifier_config_section_modifier,
argv[2]);
if (ptr_option)
weechat_config_option_free (ptr_option);
rmodifier_config_modifier_new_option (ptr_rmodifier->name,
ptr_rmodifier->modifiers,
ptr_rmodifier->str_regex,
ptr_rmodifier->groups);
/* display message */
weechat_printf (NULL, _("Rmodifier \"%s\" created"),
ptr_rmodifier->name);
return WEECHAT_RC_OK;
}
/* delete a rmodifier */
if (weechat_strcasecmp (argv[1], "del") == 0)
{
if (argc < 3)
return WEECHAT_RC_ERROR;
if (weechat_strcasecmp (argv[2], "-all") == 0)
{
count = rmodifier_count;
rmodifier_free_all ();
weechat_config_section_free_options (rmodifier_config_section_modifier);
if (count > 0)
weechat_printf (NULL, _("%d rmodifiers removed"), count);
}
else
{
for (i = 2; i < argc; i++)
{
ptr_rmodifier = rmodifier_search (argv[i]);
if (ptr_rmodifier)
{
ptr_option = weechat_config_search_option (rmodifier_config_file,
rmodifier_config_section_modifier,
argv[i]);
if (ptr_option)
weechat_config_option_free (ptr_option);
rmodifier_free (ptr_rmodifier);
weechat_printf (NULL, _("Rmodifier \"%s\" removed"),
argv[i]);
}
else
{
weechat_printf (NULL, _("%sRmodifier \"%s\" not found"),
weechat_prefix ("error"), argv[i]);
}
}
}
return WEECHAT_RC_OK;
}
/* restore default rmodifiers (only with "-yes", for security reason) */
if (weechat_strcasecmp (argv[1], "default") == 0)
{
if ((argc >= 3) && (weechat_strcasecmp (argv[2], "-yes") == 0))
{
rmodifier_free_all ();
weechat_config_section_free_options (rmodifier_config_section_modifier);
rmodifier_create_default ();
rmodifier_command_list (_("Default rmodifiers restored:"));
}
else
{
weechat_printf (NULL,
_("%sError: \"-yes\" argument is required for "
"restoring default rmodifiers (security reason)"),
weechat_prefix ("error"));
return WEECHAT_RC_OK;
}
return WEECHAT_RC_OK;
}
/* add missing rmodifiers */
if (weechat_strcasecmp (argv[1], "missing") == 0)
{
count = rmodifier_add_missing ();
weechat_printf (NULL,
NG_("%d rmodifier added", "%d rmodifiers added", count),
count);
return WEECHAT_RC_OK;
}
return WEECHAT_RC_ERROR;
}
/*
* Hooks command.
*/
void
rmodifier_command_init ()
{
weechat_hook_command (
"rmodifier",
N_("alter modifier strings with regular expressions"),
N_("list|listdefault"
" || add <name> <modifiers> <groups> <regex>"
" || del <name>|-all [<name>...]"
" || missing"
" || default -yes"),
N_(" list: list all rmodifiers\n"
"listdefault: list default rmodifiers\n"
" add: add a rmodifier\n"
" name: name of rmodifier\n"
" modifiers: comma separated list of modifiers\n"
" groups: action on groups captured in regular expression "
"(inside parentheses): comma separated list of groups (from 1 to 9) "
"with optional \"*\" after number to hide the group\n"
" regex: POSIX extended regular expression (case insensitive, "
"can start by \"(?-i)\" to become case sensitive)\n"
" del: delete a rmodifier\n"
" -all: delete all rmodifiers\n"
" missing: add missing rmodifiers\n"
" default: restore default rmodifiers\n"
"\n"
"Examples:\n"
" hide everything typed after a command /password:\n"
" /rmodifier add password input_text_display 1,2* ^(/password +)(.*)\n"
" delete rmodifier \"password\":\n"
" /rmodifier del password\n"
" delete all rmodifiers:\n"
" /rmodifier del -all"),
"list"
" || listdefault"
" || add %(rmodifier)"
" || del %(rmodifier)|-all %(rmodifier)|%*"
" || missing"
" || default",
&rmodifier_command_cb, NULL);
}

View File

@ -1,25 +0,0 @@
/*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_RMODIFIER_COMMAND_H
#define __WEECHAT_RMODIFIER_COMMAND_H 1
extern void rmodifier_command_init ();
#endif /* __WEECHAT_RMODIFIER_COMMAND_H */

View File

@ -1,64 +0,0 @@
/*
* rmodifier-completion.c - completion for rmodifier command
*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdlib.h>
#include "../weechat-plugin.h"
#include "rmodifier.h"
#include "rmodifier-completion.h"
/*
* Adds list of rmodifiers to completion list.
*/
int
rmodifier_completion_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
struct t_rmodifier *ptr_rmodifier;
/* make C compiler happy */
(void) data;
(void) completion_item;
(void) buffer;
for (ptr_rmodifier = rmodifier_list; ptr_rmodifier;
ptr_rmodifier = ptr_rmodifier->next_rmodifier)
{
weechat_hook_completion_list_add (completion, ptr_rmodifier->name,
0, WEECHAT_LIST_POS_SORT);
}
return WEECHAT_RC_OK;
}
/*
* Hooks completion.
*/
void
rmodifier_completion_init ()
{
weechat_hook_completion ("rmodifier", N_("list of rmodifiers"),
&rmodifier_completion_cb, NULL);
}

View File

@ -1,25 +0,0 @@
/*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_RMODIFIER_COMPLETION_H
#define __WEECHAT_RMODIFIER_COMPLETION_H 1
extern void rmodifier_completion_init ();
#endif /* __WEECHAT_RMODIFIER_COMPLETION_H */

View File

@ -1,298 +0,0 @@
/*
* rmodifier-config.c - rmodifier configuration options (file rmodifier.conf)
*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include "../weechat-plugin.h"
#include "rmodifier.h"
#include "rmodifier-config.h"
struct t_config_file *rmodifier_config_file = NULL;
struct t_config_section *rmodifier_config_section_modifier = NULL;
struct t_config_option *rmodifier_config_look_hide_char;
char *rmodifier_config_default_list[][4] =
{
{ "command_auth", "history_add,input_text_display,irc_command_auth",
"^(/(msg|quote) +nickserv +(id|identify|register|ghost \\S+|release \\S+) +)(.*)", "1,4*"
},
{ "message_auth", "irc_message_auth",
"^(.*(id|identify|register|ghost \\S+|release \\S+) +)(.*)", "1,3*"
},
{ "server", "history_add,input_text_display",
"^(/(server|connect) .*-(sasl_)?password=)(\\S+)(.*)", "1,4*,5"
},
{ "oper", "history_add,input_text_display",
"^(/oper +\\S+ +)(.*)", "1,2*"
},
{ "quote_pass", "history_add,input_text_display",
"^(/quote pass +)(.*)", "1,2*"
},
{ "set_pass", "history_add",
"^(/set +\\S*password\\S* +)(.*)", "1,2*"
},
{ "secure", "history_add,input_text_display",
"^(/secure +(passphrase|decrypt|set \\S+) +)(.*)", "1,3*"
},
{ NULL, NULL, NULL, NULL },
};
/*
* Reloads rmodifier configuration file.
*/
int
rmodifier_config_reload (void *data, struct t_config_file *config_file)
{
/* make C compiler happy */
(void) data;
rmodifier_free_all ();
weechat_config_section_free_options (rmodifier_config_section_modifier);
return weechat_config_reload (config_file);
}
/*
* Callback for changes on options in section "modifier".
*/
void
rmodifier_config_modifier_change_cb (void *data, struct t_config_option *option)
{
/* make C compiler happy */
(void) data;
rmodifier_new_with_string (weechat_config_option_get_pointer (option, "name"),
weechat_config_option_get_pointer (option, "value"));
}
/*
* Callback called when a rmodifier option is deleted in section "modifier".
*/
void
rmodifier_config_modifier_delete_cb (void *data, struct t_config_option *option)
{
struct t_rmodifier *ptr_rmodifier;
/* make C compiler happy */
(void) data;
ptr_rmodifier = rmodifier_search (weechat_config_option_get_pointer (option,
"name"));
if (ptr_rmodifier)
rmodifier_free (ptr_rmodifier);
}
/*
* Writes default rmodifiers in in section "modifier".
*/
int
rmodifier_config_modifier_write_default_cb (void *data,
struct t_config_file *config_file,
const char *section_name)
{
int i;
/* make C compiler happy */
(void) data;
if (!weechat_config_write_line (config_file, section_name, NULL))
return WEECHAT_CONFIG_WRITE_ERROR;
for (i = 0; rmodifier_config_default_list[i][0]; i++)
{
if (!weechat_config_write_line (config_file,
rmodifier_config_default_list[i][0],
"\"%s;%s;%s\"",
rmodifier_config_default_list[i][1],
rmodifier_config_default_list[i][2],
rmodifier_config_default_list[i][3]))
return WEECHAT_CONFIG_WRITE_ERROR;
}
return WEECHAT_CONFIG_WRITE_OK;
}
/*
* Creates a new option in section "modifier".
*/
void
rmodifier_config_modifier_new_option (const char *name, const char *modifiers,
const char *regex, const char *groups)
{
int length;
char *value;
length = strlen (modifiers) + 1 + strlen (regex) + 1 +
((groups) ? strlen (groups) : 0) + 1;
value = malloc (length);
if (value)
{
snprintf (value, length, "%s;%s;%s",
modifiers, regex,
(groups) ? groups : "");
weechat_config_new_option (rmodifier_config_file,
rmodifier_config_section_modifier,
name, "string", NULL,
NULL, 0, 0, "", value, 0,
NULL, NULL,
&rmodifier_config_modifier_change_cb, NULL,
&rmodifier_config_modifier_delete_cb, NULL);
free (value);
}
}
/*
* Callback called when an option is created in section "modifier".
*/
int
rmodifier_config_modifier_create_option_cb (void *data,
struct t_config_file *config_file,
struct t_config_section *section,
const char *option_name,
const char *value)
{
struct t_rmodifier *ptr_rmodifier;
int rc;
/* make C compiler happy */
(void) data;
(void) config_file;
(void) section;
/* create rmodifier */
ptr_rmodifier = rmodifier_search (option_name);
if (ptr_rmodifier)
rmodifier_free (ptr_rmodifier);
if (value && value[0])
{
ptr_rmodifier = rmodifier_new_with_string (option_name, value);
if (ptr_rmodifier)
{
rc = WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;
/* create option */
rmodifier_config_modifier_new_option (ptr_rmodifier->name,
ptr_rmodifier->modifiers,
ptr_rmodifier->str_regex,
ptr_rmodifier->groups);
}
else
rc = WEECHAT_CONFIG_OPTION_SET_ERROR;
}
else
rc = WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;
if (rc == WEECHAT_CONFIG_OPTION_SET_ERROR)
{
weechat_printf (NULL,
_("%s%s: error creating rmodifier "
"\"%s\" => \"%s\""),
weechat_prefix ("error"), RMODIFIER_PLUGIN_NAME,
option_name, value);
}
return rc;
}
/*
* Initializes rmodifier configuration file.
*
* Returns:
* 1: OK
* 0: error
*/
int
rmodifier_config_init ()
{
struct t_config_section *ptr_section;
rmodifier_config_file = weechat_config_new (RMODIFIER_CONFIG_NAME,
&rmodifier_config_reload, NULL);
if (!rmodifier_config_file)
return 0;
/* look */
ptr_section = weechat_config_new_section (rmodifier_config_file, "look",
0, 0,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
NULL, NULL);
if (!ptr_section)
{
weechat_config_free (rmodifier_config_file);
return 0;
}
rmodifier_config_look_hide_char = weechat_config_new_option (
rmodifier_config_file, ptr_section,
"hide_char", "string",
N_("char used to hide part of a string"),
NULL, 0, 0, "*", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
/* modifier */
ptr_section = weechat_config_new_section (rmodifier_config_file, "modifier",
0, 0,
NULL, NULL,
NULL, NULL,
&rmodifier_config_modifier_write_default_cb, NULL,
&rmodifier_config_modifier_create_option_cb, NULL,
NULL, NULL);
if (!ptr_section)
{
weechat_config_free (rmodifier_config_file);
return 0;
}
rmodifier_config_section_modifier = ptr_section;
return 1;
}
/*
* Reads rmodifier configuration file.
*/
int
rmodifier_config_read ()
{
return weechat_config_read (rmodifier_config_file);
}
/*
* Writes rmodifier configuration file.
*/
int
rmodifier_config_write ()
{
return weechat_config_write (rmodifier_config_file);
}

View File

@ -1,40 +0,0 @@
/*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_RMODIFIER_CONFIG_H
#define __WEECHAT_RMODIFIER_CONFIG_H 1
#define RMODIFIER_CONFIG_NAME "rmodifier"
extern struct t_config_file *rmodifier_config_file;
extern struct t_config_section *rmodifier_config_section_modifier;
extern struct t_config_option *rmodifier_config_look_hide_char;
extern char *rmodifier_config_default_list[][4];
extern void rmodifier_config_modifier_new_option (const char *name,
const char *modifiers,
const char *regex,
const char *groups);
extern int rmodifier_config_init ();
extern int rmodifier_config_read ();
extern int rmodifier_config_write ();
#endif /* __WEECHAT_RMODIFIER_CONFIG_H */

View File

@ -1,69 +0,0 @@
/*
* rmodifier-debug.c - debug functions for rmodifier plugin
*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdlib.h>
#include <string.h>
#include "../weechat-plugin.h"
#include "rmodifier.h"
#include "rmodifier-debug.h"
/*
* Dumps rmodifier data in WeeChat log file.
*/
int
rmodifier_debug_signal_debug_dump_cb (void *data, const char *signal,
const char *type_data, void *signal_data)
{
/* make C compiler happy */
(void) data;
(void) signal;
(void) type_data;
if (!signal_data
|| (weechat_strcasecmp ((char *)signal_data, RMODIFIER_PLUGIN_NAME) == 0))
{
weechat_log_printf ("");
weechat_log_printf ("***** \"%s\" plugin dump *****",
weechat_plugin->name);
rmodifier_print_log ();
weechat_log_printf ("");
weechat_log_printf ("***** End of \"%s\" plugin dump *****",
weechat_plugin->name);
}
return WEECHAT_RC_OK;
}
/*
* Initializes debug for rmodifier plugin.
*/
void
rmodifier_debug_init ()
{
weechat_hook_signal ("debug_dump",
&rmodifier_debug_signal_debug_dump_cb, NULL);
}

View File

@ -1,25 +0,0 @@
/*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_RMODIFIER_DEBUG_H
#define __WEECHAT_RMODIFIER_DEBUG_H 1
extern void rmodifier_debug_init ();
#endif /* __WEECHAT_RMODIFIER_DEBUG_H */

View File

@ -1,101 +0,0 @@
/*
* rmodifier-info.c - info and infolist hooks for rmodifier plugin
*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdlib.h>
#include "../weechat-plugin.h"
#include "rmodifier.h"
#include "rmodifier-info.h"
/*
* Returns infolist with rmodifier info.
*/
struct t_infolist *
rmodifier_info_get_infolist_cb (void *data, const char *infolist_name,
void *pointer, const char *arguments)
{
struct t_infolist *ptr_infolist;
struct t_rmodifier *ptr_rmodifier;
/* make C compiler happy */
(void) data;
(void) arguments;
if (!infolist_name || !infolist_name[0])
return NULL;
if (weechat_strcasecmp (infolist_name, RMODIFIER_PLUGIN_NAME) == 0)
{
if (pointer && !rmodifier_valid (pointer))
return NULL;
ptr_infolist = weechat_infolist_new ();
if (ptr_infolist)
{
if (pointer)
{
/* build list with only one rmodifier */
if (!rmodifier_add_to_infolist (ptr_infolist, pointer))
{
weechat_infolist_free (ptr_infolist);
return NULL;
}
return ptr_infolist;
}
else
{
/* build list with all rmodifiers matching arguments */
for (ptr_rmodifier = rmodifier_list; ptr_rmodifier;
ptr_rmodifier = ptr_rmodifier->next_rmodifier)
{
if (!arguments || !arguments[0]
|| weechat_string_match (ptr_rmodifier->name, arguments, 0))
{
if (!rmodifier_add_to_infolist (ptr_infolist, ptr_rmodifier))
{
weechat_infolist_free (ptr_infolist);
return NULL;
}
}
}
return ptr_infolist;
}
}
}
return NULL;
}
/*
* Hooks infolist.
*/
void
rmodifier_info_init ()
{
weechat_hook_infolist ("rmodifier", N_("list of rmodifiers"),
N_("rmodifier pointer (optional)"),
N_("rmodifier name (can start or end with \"*\" as "
"joker) (optional)"),
&rmodifier_info_get_infolist_cb, NULL);
}

View File

@ -1,25 +0,0 @@
/*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_RMODIFIER_INFO_H
#define __WEECHAT_RMODIFIER_INFO_H 1
extern void rmodifier_info_init ();
#endif /* __WEECHAT_RMODIFIER_INFO_H */

View File

@ -1,610 +0,0 @@
/*
* rmodifier.c - alter modifier strings with regular expressions
*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "../weechat-plugin.h"
#include "rmodifier.h"
#include "rmodifier-command.h"
#include "rmodifier-completion.h"
#include "rmodifier-config.h"
#include "rmodifier-debug.h"
#include "rmodifier-info.h"
WEECHAT_PLUGIN_NAME(RMODIFIER_PLUGIN_NAME);
WEECHAT_PLUGIN_DESCRIPTION(N_("String modifier with regular expressions"));
WEECHAT_PLUGIN_AUTHOR("Sébastien Helleu <flashcode@flashtux.org>");
WEECHAT_PLUGIN_VERSION(WEECHAT_VERSION);
WEECHAT_PLUGIN_LICENSE(WEECHAT_LICENSE);
struct t_weechat_plugin *weechat_rmodifier_plugin = NULL;
struct t_rmodifier *rmodifier_list = NULL;
struct t_rmodifier *last_rmodifier = NULL;
int rmodifier_count = 0;
struct t_weelist *rmodifier_hook_list = NULL;
/*
* Checks if a rmodifier pointer is valid.
*
* Returns:
* 1: rmodifier exists
* 0: rmodifier does not exist
*/
int
rmodifier_valid (struct t_rmodifier *rmodifier)
{
struct t_rmodifier *ptr_rmodifier;
if (!rmodifier)
return 0;
for (ptr_rmodifier = rmodifier_list; ptr_rmodifier;
ptr_rmodifier = ptr_rmodifier->next_rmodifier)
{
if (ptr_rmodifier == rmodifier)
return 1;
}
/* rmodifier not found */
return 0;
}
/*
* Searches for a rmodifier by name.
*
* Returns pointer to rmodifier found, NULL if not found.
*/
struct t_rmodifier *
rmodifier_search (const char *name)
{
struct t_rmodifier *ptr_rmodifier;
for (ptr_rmodifier = rmodifier_list; ptr_rmodifier;
ptr_rmodifier = ptr_rmodifier->next_rmodifier)
{
if (strcmp (name, ptr_rmodifier->name) == 0)
return ptr_rmodifier;
}
return NULL;
}
/*
* Hides a string (using char defined in option "rmodifier.look.hide_char").
*
* Note: result must be freed after use.
*/
char *
rmodifier_hide_string (const char *string)
{
int length, i;
char *result;
if (!string || !string[0])
return NULL;
length = weechat_utf8_strlen (string);
result = malloc ((length * strlen (weechat_config_string (rmodifier_config_look_hide_char))) + 1);
if (!result)
return NULL;
result[0] = '\0';
for (i = 0; i < length; i++)
{
strcat (result, weechat_config_string (rmodifier_config_look_hide_char));
}
return result;
}
/*
* Replaces groups in a string, using regex_match found by call to regexec().
*/
char *
rmodifier_replace_groups (const char *string, regmatch_t regex_match[],
const char *groups)
{
char *result, *result2, *str_group, *string_to_add;
const char *ptr_groups;
int length, num_group;
length = 1;
result = malloc (length);
if (!result)
return NULL;
result[0] = '\0';
ptr_groups = groups;
while (ptr_groups && ptr_groups[0])
{
if ((ptr_groups[0] >= '1') && (ptr_groups[0] <= '9'))
{
num_group = ptr_groups[0] - '0';
if (regex_match[num_group].rm_so >= 0)
{
str_group = weechat_strndup (string + regex_match[num_group].rm_so,
regex_match[num_group].rm_eo -regex_match[num_group].rm_so);
if (str_group)
{
string_to_add = NULL;
if (ptr_groups[1] == '*')
string_to_add = rmodifier_hide_string (str_group);
else
string_to_add = strdup (str_group);
if (string_to_add)
{
length += strlen (string_to_add);
result2 = realloc (result, length);
if (!result2)
{
if (result)
free (result);
return NULL;
}
result = result2;
strcat (result, string_to_add);
free (string_to_add);
}
free (str_group);
}
}
}
ptr_groups = weechat_utf8_next_char (ptr_groups);
}
return result;
}
/*
* Callback for a modifier.
*/
char *
rmodifier_modifier_cb (void *data, const char *modifier,
const char *modifier_data, const char *string)
{
struct t_rmodifier *rmodifier;
regmatch_t regex_match[9];
int i;
/* make C compiler happy */
(void) modifier;
(void) modifier_data;
rmodifier = (struct t_rmodifier *)data;
/* reset matching groups */
for (i = 0; i < 9; i++)
{
regex_match[i].rm_so = -1;
}
/* execute regex and return modified string if matching */
if (regexec (rmodifier->regex, string, 9, regex_match, 0) == 0)
{
return rmodifier_replace_groups (string, regex_match,
rmodifier->groups);
}
/* regex not matching */
return NULL;
}
/*
* Hooks modifiers for a rmodifier.
*/
void
rmodifier_hook_modifiers (struct t_rmodifier *rmodifier)
{
char **argv, str_modifier[128];
int argc, i;
argv = weechat_string_split (rmodifier->modifiers, ",", 0, 0, &argc);
if (argv)
{
rmodifier->hooks = malloc (sizeof (*rmodifier->hooks) * argc);
if (rmodifier->hooks)
{
for (i = 0; i < argc; i++)
{
/*
* we use a high priority here, so that other modifiers
* (from other plugins) will be called after this one
*/
snprintf (str_modifier, sizeof (str_modifier),
"5000|%s", argv[i]);
rmodifier->hooks[i] = weechat_hook_modifier (str_modifier,
&rmodifier_modifier_cb,
rmodifier);
}
rmodifier->hooks_count = argc;
}
weechat_string_free_split (argv);
}
}
/*
* Creates a new rmodifier and adds it to rmodifier list.
*
* Returns pointer to new rmodifier, NULL if error.
*/
struct t_rmodifier *
rmodifier_new (const char *name, const char *modifiers, const char *str_regex,
const char *groups)
{
struct t_rmodifier *new_rmodifier, *ptr_rmodifier;
regex_t *regex;
if (!name || !name[0] || !modifiers || !modifiers[0]
|| !str_regex || !str_regex[0])
{
return NULL;
}
regex = malloc (sizeof (*regex));
if (!regex)
return NULL;
if (weechat_string_regcomp (regex, str_regex,
REG_EXTENDED | REG_ICASE) != 0)
{
weechat_printf (NULL,
_("%s%s: error compiling regular expression \"%s\""),
weechat_prefix ("error"), RMODIFIER_PLUGIN_NAME,
str_regex);
free (regex);
return NULL;
}
ptr_rmodifier = rmodifier_search (name);
if (ptr_rmodifier)
rmodifier_free (ptr_rmodifier);
new_rmodifier = malloc (sizeof (*new_rmodifier));
if (new_rmodifier)
{
new_rmodifier->name = strdup (name);
new_rmodifier->hooks = NULL;
new_rmodifier->modifiers = strdup (modifiers);
new_rmodifier->str_regex = strdup (str_regex);
new_rmodifier->regex = regex;
new_rmodifier->groups = strdup ((groups) ? groups : "");
/* create modifiers */
rmodifier_hook_modifiers (new_rmodifier);
if (rmodifier_list)
{
/* add rmodifier to end of list */
new_rmodifier->prev_rmodifier = last_rmodifier;
new_rmodifier->next_rmodifier = NULL;
last_rmodifier->next_rmodifier = new_rmodifier;
last_rmodifier = new_rmodifier;
}
else
{
new_rmodifier->prev_rmodifier = NULL;
new_rmodifier->next_rmodifier = NULL;
rmodifier_list = new_rmodifier;
last_rmodifier = new_rmodifier;
}
rmodifier_count++;
}
return new_rmodifier;
}
/*
* Creates a rmodifier with a single string, which contains:
* "modifiers;regex;groups".
*
* Returns pointer to new rmodifier, NULL if error.
*/
struct t_rmodifier *
rmodifier_new_with_string (const char *name, const char *value)
{
struct t_rmodifier *new_rmodifier;
char *pos1, *pos2, *modifiers, *str_regex;
new_rmodifier = NULL;
pos1 = strchr (value, ';');
pos2 = strrchr (value, ';');
if (pos1 && pos2 && (pos2 > pos1))
{
modifiers = weechat_strndup (value, pos1 - value);
str_regex = weechat_strndup (pos1 + 1, pos2 - (pos1 + 1));
if (modifiers && str_regex)
{
new_rmodifier = rmodifier_new (name,
modifiers, str_regex, pos2 + 1);
}
if (modifiers)
free (modifiers);
if (str_regex)
free (str_regex);
}
return new_rmodifier;
}
/*
* Creates default rmodifiers.
*/
void
rmodifier_create_default ()
{
int i;
for (i = 0; rmodifier_config_default_list[i][0]; i++)
{
if (rmodifier_new (rmodifier_config_default_list[i][0],
rmodifier_config_default_list[i][1],
rmodifier_config_default_list[i][2],
rmodifier_config_default_list[i][3]))
{
rmodifier_config_modifier_new_option (rmodifier_config_default_list[i][0],
rmodifier_config_default_list[i][1],
rmodifier_config_default_list[i][2],
rmodifier_config_default_list[i][3]);
}
}
}
/*
* Adds missing rmodifiers.
*
* Returns the number of rmodifiers added.
*/
int
rmodifier_add_missing ()
{
int i, count;
count = 0;
for (i = 0; rmodifier_config_default_list[i][0]; i++)
{
if (!rmodifier_search (rmodifier_config_default_list[i][0]))
{
if (rmodifier_new (rmodifier_config_default_list[i][0],
rmodifier_config_default_list[i][1],
rmodifier_config_default_list[i][2],
rmodifier_config_default_list[i][3]))
{
rmodifier_config_modifier_new_option (rmodifier_config_default_list[i][0],
rmodifier_config_default_list[i][1],
rmodifier_config_default_list[i][2],
rmodifier_config_default_list[i][3]);
count++;
}
}
}
return count;
}
/*
* Frees a rmodifier and removes it from list.
*/
void
rmodifier_free (struct t_rmodifier *rmodifier)
{
struct t_rmodifier *new_rmodifier_list;
int i;
/* remove rmodifier from list */
if (last_rmodifier == rmodifier)
last_rmodifier = rmodifier->prev_rmodifier;
if (rmodifier->prev_rmodifier)
{
(rmodifier->prev_rmodifier)->next_rmodifier = rmodifier->next_rmodifier;
new_rmodifier_list = rmodifier_list;
}
else
new_rmodifier_list = rmodifier->next_rmodifier;
if (rmodifier->next_rmodifier)
(rmodifier->next_rmodifier)->prev_rmodifier = rmodifier->prev_rmodifier;
/* free data */
if (rmodifier->name)
free (rmodifier->name);
if (rmodifier->modifiers)
free (rmodifier->modifiers);
if (rmodifier->hooks)
{
for (i = 0; i < rmodifier->hooks_count; i++)
{
weechat_unhook (rmodifier->hooks[i]);
}
free (rmodifier->hooks);
}
if (rmodifier->str_regex)
free (rmodifier->str_regex);
if (rmodifier->regex)
{
regfree (rmodifier->regex);
free (rmodifier->regex);
}
if (rmodifier->groups)
free (rmodifier->groups);
free (rmodifier);
rmodifier_count--;
rmodifier_list = new_rmodifier_list;
}
/*
* Frees all rmodifiers.
*/
void
rmodifier_free_all ()
{
while (rmodifier_list)
{
rmodifier_free (rmodifier_list);
}
}
/*
* Adds a rmodifier in an infolist.
*
* Returns:
* 1: OK
* 0: error
*/
int
rmodifier_add_to_infolist (struct t_infolist *infolist,
struct t_rmodifier *rmodifier)
{
struct t_infolist_item *ptr_item;
char option_name[64];
int i;
if (!infolist || !rmodifier)
return 0;
ptr_item = weechat_infolist_new_item (infolist);
if (!ptr_item)
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "name", rmodifier->name))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "modifiers", rmodifier->modifiers))
return 0;
for (i = 0; i < rmodifier->hooks_count; i++)
{
snprintf (option_name, sizeof (option_name), "hook_%05d", i + 1);
if (!weechat_infolist_new_var_pointer (ptr_item, option_name,
rmodifier->hooks[i]))
return 0;
}
if (!weechat_infolist_new_var_integer (ptr_item, "hooks_count", rmodifier->hooks_count))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "str_regex", rmodifier->str_regex))
return 0;
if (!weechat_infolist_new_var_pointer (ptr_item, "regex", rmodifier->regex))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "groups", rmodifier->groups))
return 0;
return 1;
}
/*
* Prints rmodifiers in WeeChat log file (usually for crash dump).
*/
void
rmodifier_print_log ()
{
struct t_rmodifier *ptr_rmodifier;
int i;
for (ptr_rmodifier = rmodifier_list; ptr_rmodifier;
ptr_rmodifier = ptr_rmodifier->next_rmodifier)
{
weechat_log_printf ("");
weechat_log_printf ("[rmodifier %s (addr:0x%lx)]", ptr_rmodifier->name, ptr_rmodifier);
weechat_log_printf (" modifiers. . . . . . : '%s'", ptr_rmodifier->modifiers);
weechat_log_printf (" hooks. . . . . . . . : 0x%lx", ptr_rmodifier->hooks);
for (i = 0; i < ptr_rmodifier->hooks_count; i++)
{
weechat_log_printf (" hooks[%03d] . . . . : 0x%lx", i, ptr_rmodifier->hooks[i]);
}
weechat_log_printf (" hooks_count. . . . . : %d", ptr_rmodifier->hooks_count);
weechat_log_printf (" str_regex. . . . . . : '%s'", ptr_rmodifier->str_regex);
weechat_log_printf (" regex. . . . . . . . : 0x%lx", ptr_rmodifier->regex);
weechat_log_printf (" groups . . . . . . . : '%s'", ptr_rmodifier->groups);
weechat_log_printf (" prev_rmodifier . . . : 0x%lx", ptr_rmodifier->prev_rmodifier);
weechat_log_printf (" next_rmodifier . . . : 0x%lx", ptr_rmodifier->next_rmodifier);
}
}
/*
* Initializes rmodifier plugin.
*/
int
weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
{
/* make C compiler happy */
(void) argc;
(void) argv;
weechat_plugin = plugin;
rmodifier_count = 0;
rmodifier_hook_list = weechat_list_new ();
if (!rmodifier_config_init ())
return WEECHAT_RC_ERROR;
rmodifier_config_read ();
rmodifier_command_init ();
rmodifier_completion_init ();
rmodifier_info_init ();
rmodifier_debug_init ();
return WEECHAT_RC_OK;
}
/*
* Ends rmodifier plugin.
*/
int
weechat_plugin_end (struct t_weechat_plugin *plugin)
{
/* make C compiler happy */
(void) plugin;
rmodifier_config_write ();
rmodifier_free_all ();
weechat_list_free (rmodifier_hook_list);
weechat_config_free (rmodifier_config_file);
return WEECHAT_RC_OK;
}

View File

@ -1,63 +0,0 @@
/*
* Copyright (C) 2010-2014 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_RMODIFIER_H
#define __WEECHAT_RMODIFIER_H 1
#include <regex.h>
#define weechat_plugin weechat_rmodifier_plugin
#define RMODIFIER_PLUGIN_NAME "rmodifier"
struct t_rmodifier
{
char *name; /* name of rmodifier */
char *modifiers; /* modifiers */
struct t_hook **hooks; /* hooks for modifiers */
int hooks_count; /* number of hooks */
char *str_regex; /* string with regex */
regex_t *regex; /* regex */
char *groups; /* actions on groups in regex */
/* (keep, delete, hide) */
struct t_rmodifier *prev_rmodifier; /* link to previous rmodifier */
struct t_rmodifier *next_rmodifier; /* link to next rmodifier */
};
extern struct t_rmodifier *rmodifier_list;
extern int rmodifier_count;
extern struct t_weechat_plugin *weechat_rmodifier_plugin;
extern int rmodifier_valid (struct t_rmodifier *rmodifier);
extern struct t_rmodifier *rmodifier_search (const char *name);
struct t_rmodifier *rmodifier_new (const char *name,
const char *modifiers,
const char *str_regex,
const char *groups);
extern struct t_rmodifier *rmodifier_new_with_string (const char *name,
const char *value);
extern void rmodifier_create_default ();
extern int rmodifier_add_missing ();
extern void rmodifier_free (struct t_rmodifier *rmodifier);
extern void rmodifier_free_all ();
extern int rmodifier_add_to_infolist (struct t_infolist *infolist,
struct t_rmodifier *rmodifier);
extern void rmodifier_print_log ();
#endif /* __WEECHAT_RMODIFIER_H */

View File

@ -57,7 +57,7 @@ struct timeval;
* please change the date with current one; for a second change at same
* date, increment the 01, otherwise please keep 01.
*/
#define WEECHAT_PLUGIN_API_VERSION "20140221-01"
#define WEECHAT_PLUGIN_API_VERSION "20140304-01"
/* macros for defining plugin infos */
#define WEECHAT_PLUGIN_NAME(__name) \

View File

@ -91,7 +91,6 @@ weechat_CONTENTS="
usr/lib/weechat/plugins/irc.dll
usr/lib/weechat/plugins/logger.dll
usr/lib/weechat/plugins/relay.dll
usr/lib/weechat/plugins/rmodifier.dll
usr/lib/weechat/plugins/script.dll
usr/lib/weechat/plugins/trigger.dll
usr/lib/weechat/plugins/xfer.dll