From 9b42328d55db6ee97bc66ebb085dadf4d94c1df9 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Wed, 26 Oct 2011 19:25:51 +0200 Subject: guile: new script plugin for scheme (task #7289) --- doc/de/autogen/plugin_api/completions.txt | 12 ++-- doc/de/autogen/plugin_api/infolists.txt | 12 ++-- doc/de/autogen/user/guile_commands.txt | 20 +++++++ doc/de/weechat_scripting.de.txt | 94 ++++++++++++++++++++++--------- doc/de/weechat_user.de.txt | 65 ++++++++++++--------- 5 files changed, 139 insertions(+), 64 deletions(-) create mode 100644 doc/de/autogen/user/guile_commands.txt (limited to 'doc/de') diff --git a/doc/de/autogen/plugin_api/completions.txt b/doc/de/autogen/plugin_api/completions.txt index c5b38401e..2402c11a7 100644 --- a/doc/de/autogen/plugin_api/completions.txt +++ b/doc/de/autogen/plugin_api/completions.txt @@ -8,6 +8,8 @@ | aspell | aspell_langs | Liste der Unterstützten Übersetzungen (lang) für Aspell +| guile | guile_script | Liste der Skripten + | irc | irc_channel | Aktueller IRC-Channel | irc | irc_channel_nicks_hosts | Liste der Nicks und Hostnamen des aktuellen Channels @@ -38,11 +40,11 @@ | irc | nick | Liste der Nicks im aktuellen Channel -| lua | lua_script | Liste der Skripten: +| lua | lua_script | Liste der Skripten -| perl | perl_script | Liste der Skripten: +| perl | perl_script | Liste der Skripten -| python | python_script | Liste der Skripten: +| python | python_script | Liste der Skripten | relay | relay_free_port | Erster freier Port für Relay-Erweiterung @@ -52,9 +54,9 @@ | rmodifier | rmodifier | Liste der rmodifier -| ruby | ruby_script | Liste der Skripten: +| ruby | ruby_script | Liste der Skripten -| tcl | tcl_script | Liste der Skripten: +| tcl | tcl_script | Liste der Skripten | weechat | bars_names | Namen der Infobars diff --git a/doc/de/autogen/plugin_api/infolists.txt b/doc/de/autogen/plugin_api/infolists.txt index a212a5729..55519cd4f 100644 --- a/doc/de/autogen/plugin_api/infolists.txt +++ b/doc/de/autogen/plugin_api/infolists.txt @@ -4,6 +4,8 @@ | alias | alias | Liste der Alias | Alias Pointer (optional) | Alias Name (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) +| guile | guile_script | Liste der Skripten | Skript Pointer (optional) | Name des Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) + | irc | irc_channel | Liste der Channels eines IRC-Servers | Channel Pointer (optional) | Server,Channel (Channel ist optional) | irc | irc_ignore | Liste von ignorierten IRCs | Ignore Pointer (optional) | - @@ -16,19 +18,19 @@ | logger | logger_buffer | Liste der protokollierten Buffer | Logger Pointer (optional) | - -| lua | lua_script | Liste der Skripten: | Skript Pointer (optional) | Name des Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) +| lua | lua_script | Liste der Skripten | Skript Pointer (optional) | Name des Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) -| perl | perl_script | Liste der Skripten: | Skript Pointer (optional) | Name des Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) +| perl | perl_script | Liste der Skripten | Skript Pointer (optional) | Name des Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) -| python | python_script | Liste der Skripten: | Skript Pointer (optional) | Name des Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) +| python | python_script | Liste der Skripten | Skript Pointer (optional) | Name des Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) | 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 Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) +| ruby | ruby_script | Liste der Skripten | Skript Pointer (optional) | Name des Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) -| tcl | tcl_script | Liste der Skripten: | Skript Pointer (optional) | Name des Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) +| tcl | tcl_script | Liste der Skripten | Skript Pointer (optional) | Name des Skripts (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) | weechat | bar | Auflistung der Bars | Bar Pointer (optional) | Bar Name (darf mit einem "*" als Platzhalter beginnen oder enden) (optional) diff --git a/doc/de/autogen/user/guile_commands.txt b/doc/de/autogen/user/guile_commands.txt new file mode 100644 index 000000000..922d1e194 --- /dev/null +++ b/doc/de/autogen/user/guile_commands.txt @@ -0,0 +1,20 @@ +[[command_guile_guile]] +[command]*`guile`* auflisten/installieren/deinstallieren von Skripten:: +........................................ +/guile list|listfull [] + load + autoload + reload|unload [] + + list: installierte Erweiterungen werden aufgelistet +listfull: detaillierte Auflistung aller installierten Erweiterungen + load: installiert eine Erweiterung +autoload: installiert automatisch alle Erweiterungen aus System- oder Benutzerverzeichnis + reload: eine Erweiterung wird erneut installiert (falls kein Name angegeben wird dann werden alle Erweiterungen entfernt und erneut installiert) + unload: deinstalliert eine oder alle Erweiterungen +filename: Skript (Datei) das geladen werden soll + name: Name eines Skripts (Name welcher mit der "register" Funktion genutzt wird) + +Ohne Angabe eines Argumentes listet /plugin alle geladenen Erweiterungen auf. +........................................ + diff --git a/doc/de/weechat_scripting.de.txt b/doc/de/weechat_scripting.de.txt index efb53739d..ee1e4d579 100644 --- a/doc/de/weechat_scripting.de.txt +++ b/doc/de/weechat_scripting.de.txt @@ -16,9 +16,16 @@ Einleitung WeeChat (Wee Enhanced Environment for Chat) ist ein freier, schneller und schlanker Chat-Client der für viele Betriebssysteme entwickelt wird. -Diese Anleitung beschreibt die Vorgehensweise um Skripten für WeeChat zu -erstellen. Dabei werden fünf Skriptsprachen unterstützt: perl, python, -ruby, lua und tcl. +// TRANSLATION MISSING +This manual documents way to write scripts for WeeChat, using one of supported +script languages: + +* python +* perl +* ruby +* lua +* tcl +* guile (scheme) [NOTE] Beinahe alle Beispiele in dieser Dokumentation beziehen sich auf Python. @@ -32,20 +39,46 @@ Skripten in WeeChat Besonderheiten der einzelnen Skriptsprachen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Es existieren einige Besonderheiten für jede Skriptsprache: +Python +^^^^^^ -* perl: -** Funktionen werden im Format `weechat::xxx(arg1, arg2, ...);` ausgeführt -* python: -** WeeChat muss als Modul eingebunden werden: `import weechat` -** Um die WeeChat Funktion `print*` nutzen zu können muss `prnt*` genutzt - werden ('print' ist ein reservierter Befehl von Python!) -** Funktionen werden im Format `weechat.xxx(arg1, arg2, ...)` ausgeführt -* ruby: -** Es muss 'weechat_init' definiert und darin die Funktion 'register' ausgeführt werden -** Funktionen werden im Format `Weechat.xxx(arg1, arg2, ...)` ausgeführt -* tcl: -** Funktionen werden im Format `weechat::xxx arg1 arg2 ...` ausgeführt +* WeeChat muss als Modul eingebunden werden: `import weechat` +* Um die WeeChat Funktion `print*` nutzen zu können muss `prnt*` genutzt + werden ('print' ist ein reservierter Befehl von Python!) +* Funktionen werden im Format `weechat.xxx(arg1, arg2, ...)` ausgeführt + +Perl +^^^^ + +* Funktionen werden im Format `weechat::xxx(arg1, arg2, ...);` ausgeführt + +Ruby +^^^^ + +* Es muss 'weechat_init' definiert und darin die Funktion 'register' ausgeführt werden +* Funktionen werden im Format `Weechat.xxx(arg1, arg2, ...)` ausgeführt + +Lua +^^^ + +* Funktionen werden im Format `weechat.xxx(arg1, arg2, ...)` ausgeführt + +Tcl +^^^ + +* Funktionen werden im Format `weechat::xxx arg1 arg2 ...` ausgeführt + +Guile (scheme) +^^^^^^^^^^^^^^ + +// TRANSLATION MISSING +* Functions are called with `(weechat:xxx arg1 arg2 ...)` +* Following functions take one list of arguments (instead of many arguments + for other functions), because number of arguments exceed number of allowed + arguments in Guile: +** config_new_section +** config_new_option +** bar_new [[register_function]] Die "Register" Funktion @@ -74,14 +107,6 @@ Argumente: Beispielskripten, für jede Sprache: -* perl: - -[source,perl] ----------------------------------------- -weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Test Skript", "", ""); -weechat::print("", "Hallo, von einem perl Skript!"); ----------------------------------------- - * python: [source,python] @@ -92,6 +117,14 @@ weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Test Skript", "", " weechat.prnt("", "Hallo, von einem python Skript!") ---------------------------------------- +* perl: + +[source,perl] +---------------------------------------- +weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Test Skript", "", ""); +weechat::print("", "Hallo, von einem perl Skript!"); +---------------------------------------- + * ruby: [source,ruby] @@ -113,12 +146,20 @@ weechat.print("", "Hallo, von einem lua Skript!") * tcl: -// [source,tcl] +[source,tcl] ---------------------------------------- weechat::register "test_tcl" "FlashCode" "1.0" "GPL3" "Test Skript" "" "" weechat::print "" "Hallo, von einem tcl Skript!" ---------------------------------------- +* guile (scheme): + +[source,lisp] +---------------------------------------- +(weechat:register "test_scheme" "FlashCode" "1.0" "GPL3" "Test script" "" "") +(weechat:print "" "Hello, from scheme script!") +---------------------------------------- + [[load_script]] Laden von Skripten ~~~~~~~~~~~~~~~~~~ @@ -127,11 +168,12 @@ Der Befehl zum Laden von Skripten ist davon abhängig welche Skriptsprache genutzt werden soll: ---------------------------------------- -/perl load perl/skript.pl /python load python/skript.py +/perl load perl/skript.pl /ruby load ruby/skript.rb /lua load lua/skript.lua /tcl load tcl/skript.tcl +/guile load guile/skript.scm ---------------------------------------- Um Skripten automatisch beim Start von WeeChat zu laden kann man einen Link diff --git a/doc/de/weechat_user.de.txt b/doc/de/weechat_user.de.txt index 6a3b0222c..0d53b9c6a 100644 --- a/doc/de/weechat_user.de.txt +++ b/doc/de/weechat_user.de.txt @@ -86,23 +86,24 @@ Abhängigkeiten folgende Tabelle beschreibt welche Pakete zwingend notwendig sind um WeeChat zu kompilieren und welche Pakete optional genutzt werden können. -[width="80%",cols="4,^2,13",options="header"] +[width="100%",cols="5,^3,^3,13",options="header"] |======================================== -| Paket ^(1)^ | benötigt | Funktion -| cmake | *ja* | zum kompilieren (autotools ist möglich. cmake wird aber empfohlen) -| libncursesw5-dev ^(2)^ | *ja* | ncurses Oberfläche -| gettext | nein | Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch) -| libgcrypt11-dev | nein | SASL Authentifikation am IRC Server mittels DH-BLOWFISH Methode -| libgnutls-dev (≥ 2.2.0) | nein | SSL Verbindung zu einem IRC Server -| ca-certificates | nein | Zertifikate für SSL Verbindungen -| libaspell-dev | nein | aspell Erweiterung -| libperl-dev | nein | perl Erweiterung -| python-dev | nein | python Erweiterung -| ruby1.8-dev | nein | ruby Erweiterung -| liblua5.1-0-dev | nein | lua Erweiterung -| tcl-dev (≥ 8.5) | nein | tcl Erweiterung -| asciidoc (≥ 8.5.0) | nein | erstellt Dokumentation (HTML Dateien) -| source-highlight | nein | Syntax highlight für Quelltext in HTML Dokumentation +| Paket ^(1)^ | Version | benötigt | Funktion +| cmake | | *ja* | zum kompilieren (autotools ist möglich. cmake wird aber empfohlen) +| libncursesw5-dev ^(2)^ | | *ja* | ncurses Oberfläche +| gettext | | | Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch) +| libgcrypt11-dev | | | SASL Authentifikation am IRC Server mittels DH-BLOWFISH Methode +| libgnutls-dev | ≥ 2.2.0 | | SSL Verbindung zu einem IRC Server +| ca-certificates | | | Zertifikate für SSL Verbindungen +| libaspell-dev | | | aspell Erweiterung +| python-dev | 2.5 → 2.7 | | python Erweiterung +| libperl-dev | | | perl Erweiterung +| ruby1.8-dev | | | ruby Erweiterung +| liblua5.1-0-dev | | | lua Erweiterung +| tcl-dev | ≥ 8.5 | | tcl Erweiterung +| guile-1.8-dev | | | guile (scheme) Erweiterung +| asciidoc | ≥ 8.5.0 | | erstellt Dokumentation (HTML Dateien) +| source-highlight | | | Syntax highlight für Quelltext in HTML Dokumentation |======================================== [NOTE] @@ -1005,8 +1006,8 @@ nachträglich zu laden oder zu entfernen. Es ist wichtig zwischen 'Erweiterung' und 'Skript' zu unterscheiden. Eine Erweiterung ist eine Binärdatei die kompiliert wurde und mit dem Befehl `/plugin` geladen wird. -Dem gegenüber ist ein 'Skript' eine Textdatei die durch eine Erweiterung z.B. 'perl' -mittels dem Befehl `/perl` geladen wird. +Dem gegenüber ist ein 'Skript' eine Textdatei die durch eine Erweiterung z.B. 'python' +mittels dem Befehl `/python` geladen wird. Mit dem Befehl `/plugin` kann eine Erweiterung geladen bzw. entfernt werden. Auch können mit dem Befehl alle installierten Erweiterungen aufgelistet werden. Wird eine Erweiterung @@ -1035,11 +1036,12 @@ Standarderweiterungen: | logger | erstellt Protokolldateien von Buffern | relay | Daten via Netzwerk übermitteln (IRC Proxy) | rmodifier | wandelt Schlüsselwörter mit regulären Ausdrücken -| perl | Perl-Skript API | python | Python-Skript API +| perl | Perl-Skript API | ruby | Ruby-Skript API | lua | Lua-Skript API | tcl | Tcl-Skript API +| guile | Guile(scheme)-Skript API | xfer | Datentransfer und Direktchat |======================================== @@ -1237,11 +1239,11 @@ $ echo 'irc.freenode.#weechat *Hallo!' >~/.weechat/weechat_fifo_12345 $ echo '*hello!' >~/.weechat/weechat_fifo_12345 ---------------------------------------- -* sendet zwei Befehle um alle Perl-Skripten zu entfernen und dann neu zu laden (die beiden Befehle müssen +* sendet zwei Befehle um alle Python-Skripten zu entfernen und dann neu zu laden (die beiden Befehle müssen mit "\n" getrennt werden): ---------------------------------------- -$ echo -e '*/perl unload\n*/perl autoload' >~/.weechat/weechat_fifo_12345 +$ echo -e '*/python unload\n*/python autoload' >~/.weechat/weechat_fifo_12345 ---------------------------------------- Das nachfolgende Skript sendet einen Befehl an alle laufenden WeeChat Instanzen: @@ -1943,7 +1945,8 @@ Lautet die Befehlszeile `/oper nick password` wird diese in der Befehlszeile als Skripten Erweiterungen ~~~~~~~~~~~~~~~~~~~~~~ -WeeChat unterstützt fünf Skript-Erweiterungen: Perl, Python, Ruby, Lua und Tcl. +WeeChat unterstützt sechs Skript-Erweiterungen: Python, Perl, Ruby, Lua, Tcl und Guile +(scheme). Diese Erweiterungen können für die jeweilige Sprache die Skripten laden, ausführen und entfernen. @@ -1952,18 +1955,18 @@ bitte die 'WeeChat Scripting Guide'. Skripten für WeeChat finden Sie auf: http://www.weechat.org/scripts -[[perl_commands]] -Perl Befehle -^^^^^^^^^^^^ - -include::autogen/user/perl_commands.txt[] - [[python_commands]] Python Befehle ^^^^^^^^^^^^^^ include::autogen/user/python_commands.txt[] +[[perl_commands]] +Perl Befehle +^^^^^^^^^^^^ + +include::autogen/user/perl_commands.txt[] + [[ruby_commands]] Ruby Befehle ^^^^^^^^^^^^ @@ -1982,6 +1985,12 @@ Tcl Befehle include::autogen/user/tcl_commands.txt[] +[[guile_commands]] +Guile Befehle +^^^^^^^^^^^^^ + +include::autogen/user/guile_commands.txt[] + [[xfer_plugin]] Xfer Erweiterung ~~~~~~~~~~~~~~~~ -- cgit v1.2.3