diff options
author | Sebastien Helleu <flashcode@flashtux.org> | 2011-10-26 19:25:51 +0200 |
---|---|---|
committer | Sebastien Helleu <flashcode@flashtux.org> | 2011-10-26 19:25:51 +0200 |
commit | 9b42328d55db6ee97bc66ebb085dadf4d94c1df9 (patch) | |
tree | 961a07617c8776d0c85680acdbd779a386ce2937 /doc | |
parent | d95aef21346b04c1fc17d52b96d0dfaa0cf3d43c (diff) | |
download | weechat-9b42328d55db6ee97bc66ebb085dadf4d94c1df9.zip |
guile: new script plugin for scheme (task #7289)
Diffstat (limited to 'doc')
22 files changed, 601 insertions, 251 deletions
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 [<name>] + load <filename> + autoload + reload|unload [<name>] + + 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 ~~~~~~~~~~~~~~~~ diff --git a/doc/docgen.py b/doc/docgen.py index a64d4db05..2e7711a81 100644 --- a/doc/docgen.py +++ b/doc/docgen.py @@ -93,6 +93,7 @@ plugin_list = { 'weechat' : 'co', 'ruby' : '', 'lua' : '', 'tcl' : '', + 'guile' : '', 'xfer' : 'co' } # options to ignore @@ -251,16 +252,24 @@ def get_completions(): def update_file(oldfile, newfile, num_files, num_files_updated, obj): """Update a doc file.""" - shaold = hashlib.sha224(open(oldfile, 'r').read()).hexdigest() - shanew = hashlib.sha224(open(newfile, 'r').read()).hexdigest() + try: + shaold = hashlib.sha224(open(oldfile, 'r').read()).hexdigest() + except: + shaold = '' + try: + shanew = hashlib.sha224(open(newfile, 'r').read()).hexdigest() + except: + shanew = '' if shaold != shanew: - os.unlink(oldfile) + if os.path.exists(oldfile): + os.unlink(oldfile) os.rename(newfile, oldfile) num_files_updated['total1'] += 1 num_files_updated['total2'] += 1 num_files_updated[obj] += 1 else: - os.unlink(newfile) + if os.path.exists(oldfile): + os.unlink(newfile) num_files['total1'] += 1 num_files['total2'] += 1 num_files[obj] += 1 diff --git a/doc/en/autogen/plugin_api/completions.txt b/doc/en/autogen/plugin_api/completions.txt index 45626fdcc..bec6757fb 100644 --- a/doc/en/autogen/plugin_api/completions.txt +++ b/doc/en/autogen/plugin_api/completions.txt @@ -8,6 +8,8 @@ | aspell | aspell_langs | list of supported langs for aspell +| guile | guile_script | list of scripts + | irc | irc_channel | current IRC channel | irc | irc_channel_nicks_hosts | nicks and hostnames of current IRC channel diff --git a/doc/en/autogen/plugin_api/infolists.txt b/doc/en/autogen/plugin_api/infolists.txt index 88534c235..7397122ff 100644 --- a/doc/en/autogen/plugin_api/infolists.txt +++ b/doc/en/autogen/plugin_api/infolists.txt @@ -4,6 +4,8 @@ | alias | alias | list of aliases | alias pointer (optional) | alias name (can start or end with "*" as wildcard) (optional) +| guile | guile_script | list of scripts | script pointer (optional) | script name (can start or end with "*" as wildcard) (optional) + | irc | irc_channel | list of channels for an IRC server | channel pointer (optional) | server,channel (channel is optional) | irc | irc_ignore | list of IRC ignores | ignore pointer (optional) | - diff --git a/doc/en/autogen/user/guile_commands.txt b/doc/en/autogen/user/guile_commands.txt new file mode 100644 index 000000000..be0c993ae --- /dev/null +++ b/doc/en/autogen/user/guile_commands.txt @@ -0,0 +1,20 @@ +[[command_guile_guile]] +[command]*`guile`* list/load/unload scripts:: +........................................ +/guile list|listfull [<name>] + load <filename> + autoload + reload|unload [<name>] + + list: list loaded scripts +listfull: list loaded scripts (verbose) + load: load a script +autoload: load all scripts in "autoload" directory + reload: reload a script (if no name given, unload all scripts, then load all scripts in "autoload" directory) + unload: unload a script (if no name given, unload all scripts) +filename: script (file) to load + name: a script name (name used in call to "register" function) + +Without argument, this command lists all loaded scripts. +........................................ + diff --git a/doc/en/weechat_scripting.en.txt b/doc/en/weechat_scripting.en.txt index e827c3f58..3afbdf0df 100644 --- a/doc/en/weechat_scripting.en.txt +++ b/doc/en/weechat_scripting.en.txt @@ -16,8 +16,15 @@ Introduction WeeChat (Wee Enhanced Environment for Chat) is a free chat client, fast and light, designed for many operating systems. -This manual documents way to write scripts for WeeChat, using one of five -supported script languages: perl, python, ruby, lua or tcl. +This manual documents way to write scripts for WeeChat, using one of supported +script languages: + +* python +* perl +* ruby +* lua +* tcl +* guile (scheme) [NOTE] Almost all examples in this doc are written in Python, but API is the same for @@ -31,20 +38,45 @@ Scripts in WeeChat Languages specificities ~~~~~~~~~~~~~~~~~~~~~~~ -Some things are specific to languages: +Python +^^^^^^ -* perl: -** functions are called with `weechat::xxx(arg1, arg2, ...);` -* python: -** you have to `import weechat` -** functions `print*` are called `prnt*` in python (because 'print' is reserved - keyword) -** functions are called with `weechat.xxx(arg1, arg2, ...)` -* ruby: -** you have to define 'weechat_init' and call 'register' inside -** functions are called with `Weechat.xxx(arg1, arg2, ...)` -* tcl: -** functions are called with `weechat::xxx arg1 arg2 ...` +* You have to `import weechat` +* Functions `print*` are called `prnt*` in python (because 'print' is reserved + keyword) +* Functions are called with `weechat.xxx(arg1, arg2, ...)` + +Perl +^^^^ + +* Functions are called with `weechat::xxx(arg1, arg2, ...);` + +Ruby +^^^^ + +* You have to define 'weechat_init' and call 'register' inside +* Functions are called with `Weechat.xxx(arg1, arg2, ...)` + +Lua +^^^ + +* Functions are called with `weechat.xxx(arg1, arg2, ...)` + +Tcl +^^^ + +* Functions are called with `weechat::xxx arg1 arg2 ...` + +Guile (scheme) +^^^^^^^^^^^^^^ + +* 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]] Register function @@ -73,14 +105,6 @@ Arguments: Example of script, for each language: -* perl: - -[source,perl] ----------------------------------------- -weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Test script", "", ""); -weechat::print("", "Hello, from perl script!"); ----------------------------------------- - * python: [source,python] @@ -91,6 +115,14 @@ weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Test script", "", " weechat.prnt("", "Hello, from python script!") ---------------------------------------- +* perl: + +[source,perl] +---------------------------------------- +weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Test script", "", ""); +weechat::print("", "Hello, from perl script!"); +---------------------------------------- + * ruby: [source,ruby] @@ -112,12 +144,20 @@ weechat.print("", "Hello, from lua script!") * tcl: -// [source,tcl] +[source,tcl] ---------------------------------------- weechat::register "test_tcl" "FlashCode" "1.0" "GPL3" "Test script" "" "" weechat::print "" "Hello, from tcl script!" ---------------------------------------- +* guile (scheme): + +[source,lisp] +---------------------------------------- +(weechat:register "test_scheme" "FlashCode" "1.0" "GPL3" "Test script" "" "") +(weechat:print "" "Hello, from scheme script!") +---------------------------------------- + [[load_script]] Load script ~~~~~~~~~~~ @@ -125,11 +165,12 @@ Load script You have to use command, depending on language: ---------------------------------------- -/perl load perl/script.pl /python load python/script.py +/perl load perl/script.pl /ruby load ruby/script.rb /lua load lua/script.lua /tcl load tcl/script.tcl +/guile load guile/script.scm ---------------------------------------- You can make link in directory 'language/autoload' to autoload script when diff --git a/doc/en/weechat_user.en.txt b/doc/en/weechat_user.en.txt index 35b0a5665..04e9e4357 100644 --- a/doc/en/weechat_user.en.txt +++ b/doc/en/weechat_user.en.txt @@ -86,23 +86,24 @@ Dependencies Following table shows list of packages that are required or optional to compile WeeChat. -[width="80%",cols="4,^2,13",options="header"] +[width="100%",cols="5,^3,^3,13",options="header"] |======================================== -| Package ^(1)^ | Required | Feature -| cmake | *yes* | build (autotools still possible, but cmake is recommended) -| libncursesw5-dev ^(2)^ | *yes* | ncurses interface -| gettext | no | internationalization (translation of messages; base language is english) -| libgcrypt11-dev | no | SASL authentication with IRC server using DH-BLOWFISH mechanism -| libgnutls-dev (≥ 2.2.0) | no | SSL connection to IRC server -| ca-certificates | no | certificates for SSL connections -| libaspell-dev | no | aspell plugin -| libperl-dev | no | perl plugin -| python-dev | no | python plugin -| ruby1.8-dev | no | ruby plugin -| liblua5.1-0-dev | no | lua plugin -| tcl-dev (≥ 8.5) | no | tcl plugin -| asciidoc (≥ 8.5.0) | no | build documentation (HTML files) -| source-highlight | no | syntax highlight for sources in HTML documentation +| Package ^(1)^ | Version | Required | Feature +| cmake | | *yes* | build (autotools still possible, but cmake is recommended) +| libncursesw5-dev ^(2)^ | | *yes* | ncurses interface +| gettext | | | internationalization (translation of messages; base language is english) +| libgcrypt11-dev | | | SASL authentication with IRC server using DH-BLOWFISH mechanism +| libgnutls-dev | ≥ 2.2.0 | | SSL connection to IRC server +| ca-certificates | | | certificates for SSL connections +| libaspell-dev | | | aspell plugin +| python-dev | 2.5 → 2.7 | | python plugin +| libperl-dev | | | perl plugin +| ruby1.8-dev | | | ruby plugin +| liblua5.1-0-dev | | | lua plugin +| tcl-dev | ≥ 8.5 | | tcl plugin +| guile-1.8-dev | | | guile (scheme) plugin +| asciidoc | ≥ 8.5.0 | | build documentation (HTML files) +| source-highlight | | | syntax highlight for sources in HTML documentation |======================================== [NOTE] @@ -992,8 +993,8 @@ possible to load or unload plugins while WeeChat is running. It's important to make difference between a 'plugin' and a 'script': a 'plugin' is a binary file compiled and loaded with command `/plugin`, whereas -a 'script' is a text file loaded with a plugin like 'perl' with command -`/perl`. +a 'script' is a text file loaded with a plugin like 'python' with command +`/python`. You can use command `/plugin` to load/unload a plugin, or list all loaded plugins. @@ -1022,11 +1023,12 @@ Default plugins are: | logger | Log buffers to files | relay | Relay data via network (IRC proxy) | rmodifier | Alter modifier strings with regular expressions -| perl | Perl scripting API | 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 |======================================== @@ -1220,11 +1222,11 @@ $ echo 'irc.freenode.#weechat *hello!' >~/.weechat/weechat_fifo_12345 $ echo '*hello!' >~/.weechat/weechat_fifo_12345 ---------------------------------------- -* send two commands to unload/reload Perl scripts (you have to separate them +* send two commands to unload/reload Python scripts (you have to separate them with "\n"): ---------------------------------------- -$ echo -e '*/perl unload\n*/perl autoload' >~/.weechat/weechat_fifo_12345 +$ echo -e '*/python unload\n*/python autoload' >~/.weechat/weechat_fifo_12345 ---------------------------------------- You can write a script to send command to all running WeeChat at same time, @@ -1913,7 +1915,8 @@ If command line contains: `/oper nick password` then display becomes: Scripts plugins ~~~~~~~~~~~~~~~ -WeeChat provides 5 scripting plugins: Perl, Python, Ruby, Lua and Tcl. +WeeChat provides 6 scripting plugins: Python, Perl, Ruby, Lua, Tcl and Guile +(scheme). These plugins can load, execute and unload scripts for these languages. For more information about how to write scripts, or WeeChat API for @@ -1921,18 +1924,18 @@ scripts, please read 'WeeChat Scripting Guide'. You can find some scripts for WeeChat here: http://www.weechat.org/scripts -[[perl_commands]] -Perl commands -^^^^^^^^^^^^^ - -include::autogen/user/perl_commands.txt[] - [[python_commands]] Python commands ^^^^^^^^^^^^^^^ include::autogen/user/python_commands.txt[] +[[perl_commands]] +Perl commands +^^^^^^^^^^^^^ + +include::autogen/user/perl_commands.txt[] + [[ruby_commands]] Ruby commands ^^^^^^^^^^^^^ @@ -1951,6 +1954,12 @@ Tcl commands include::autogen/user/tcl_commands.txt[] +[[guile_commands]] +Guile commands +^^^^^^^^^^^^^^ + +include::autogen/user/guile_commands.txt[] + [[xfer_plugin]] Xfer plugin ~~~~~~~~~~~ diff --git a/doc/fr/autogen/plugin_api/completions.txt b/doc/fr/autogen/plugin_api/completions.txt index eb090fc45..370e0b52d 100644 --- a/doc/fr/autogen/plugin_api/completions.txt +++ b/doc/fr/autogen/plugin_api/completions.txt @@ -8,6 +8,8 @@ | aspell | aspell_langs | liste des langues supportées pour aspell +| guile | guile_script | liste des scripts + | irc | irc_channel | canal IRC courant | irc | irc_channel_nicks_hosts | pseudos et noms d'hôtes du canal IRC courant diff --git a/doc/fr/autogen/plugin_api/infolists.txt b/doc/fr/autogen/plugin_api/infolists.txt index fca6e7ea1..fc05a383e 100644 --- a/doc/fr/autogen/plugin_api/infolists.txt +++ b/doc/fr/autogen/plugin_api/infolists.txt @@ -4,6 +4,8 @@ | alias | alias | liste des alias | pointeur vers l'alias (optionnel) | nom d'alias (peut démarrer ou se terminer par "*" comme joker) (optionnel) +| guile | guile_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (peut démarrer ou se terminer par "*" comme joker) (optionnel) + | irc | irc_channel | liste des canaux pour un serveur IRC | pointeur vers le canal (optionnel) | serveur,canal (le canal est optionnel) | irc | irc_ignore | liste des ignores IRC | pointeur vers l'ignore (optionnel) | - diff --git a/doc/fr/autogen/user/guile_commands.txt b/doc/fr/autogen/user/guile_commands.txt new file mode 100644 index 000000000..7e4a99e62 --- /dev/null +++ b/doc/fr/autogen/user/guile_commands.txt @@ -0,0 +1,20 @@ +[[command_guile_guile]] +[command]*`guile`* lister/charger/décharger des scripts:: +........................................ +/guile list|listfull [<nom>] + load <fichier> + autoload + reload|unload [<nom>] + + list: lister les scripts chargés +listfull: lister les scripts chargés (verbeux) + load: charger un script +autoload: charger tous les scripts dans le répertoire "autoload" + reload: recharger un script (si pas de nom donné, décharger tous les scripts puis charger tous les scripts dans le répertoire "autoload") + unload: décharger un script (si pas de nom donné, décharger tous les scripts) + fichier: script (fichier) à charger + nom: nom de script (nom utilisé dans l'appel à la fonction "register") + +Sans paramètre, cette commande liste les scripts chargés. +........................................ + diff --git a/doc/fr/weechat_scripting.fr.txt b/doc/fr/weechat_scripting.fr.txt index e3672f7b2..32173cfd9 100644 --- a/doc/fr/weechat_scripting.fr.txt +++ b/doc/fr/weechat_scripting.fr.txt @@ -18,7 +18,14 @@ WeeChat (Wee Enhanced Environment for Chat) est un client de discussion libre, rapide et léger, conçu pour différents systèmes d'exploitation. Ce manuel documente la façon d'écrire des scripts pour WeeChat, en utilisant -l'un des cinq langages de script supportés : perl, python, ruby, lua ou tcl. +l'un des langages de script supportés : + +* python +* perl +* ruby +* lua +* tcl +* guile (scheme) [NOTE] La majorité des exemples de cette documentation sont écrits en Python, mais @@ -32,20 +39,45 @@ Scripts dans WeeChat Spécificités des langages ~~~~~~~~~~~~~~~~~~~~~~~~~ -Quelques choses sont spécifiques aux langages : +Python +^^^^^^ -* perl : -** les fonctions sont appelées par `weechat::xxx(arg1, arg2, ...);` -* python : -** vous devez utiliser `import weechat` -** les fonctions `print*` se nomment `prnt*` en python (car 'print' est un mot - clé réservé) -** les fonctions sont appelées par `weechat.xxx(arg1, arg2, ...)` -* ruby : -** vous devez définir 'weechat_init' et appeler 'register' dedans -** les fonctions sont appelées par `Weechat.xxx(arg1, arg2, ...)` -* tcl : -** les fonctions sont appelées par `weechat::xxx arg1 arg2 ...` +* Vous devez utiliser `import weechat` +* Les fonctions `print*` se nomment `prnt*` en python (car 'print' est un mot + clé réservé) +* Les fonctions sont appelées par `weechat.xxx(arg1, arg2, ...)` + +Perl +^^^^ + +* Les fonctions sont appelées par `weechat::xxx(arg1, arg2, ...);` + +Ruby +^^^^ + +* Vous devez définir 'weechat_init' et appeler 'register' dedans +* Les fonctions sont appelées par `Weechat.xxx(arg1, arg2, ...)` + +Lua +^^^ + +* Les fonctions sont appelées par `weechat.xxx(arg1, arg2, ...)` + +Tcl +^^^ + +* Les fonctions sont appelées par `weechat::xxx arg1 arg2 ...` + +Guile (scheme) +^^^^^^^^^^^^^^ + +* Les fonctions sont appelées par `(weechat:xxx arg1 arg2 ...)` +* Les fonctions suivantes prennent une liste de paramètres en entrée (au lieu + de plusieurs paramètres pour les autres fonctions), car le nombre de + paramètres excède la limite de Guile : +** config_new_section +** config_new_option +** bar_new [[register_function]] Fonction register @@ -76,14 +108,6 @@ Paramètres : Exemple, pour chaque langage : -* perl : - -[source,perl] ----------------------------------------- -weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Script de test", "", ""); -weechat::print("", "Bonjour, du script perl !"); ----------------------------------------- - * python : [source,python] @@ -94,6 +118,14 @@ weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Script de test", "" weechat.prnt("", "Bonjour, du script python !") ---------------------------------------- +* perl : + +[source,perl] +---------------------------------------- +weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Script de test", "", ""); +weechat::print("", "Bonjour, du script perl !"); +---------------------------------------- + * ruby : [source,ruby] @@ -115,12 +147,20 @@ weechat.print("", "Bonjour, du script lua !") * tcl : -// [source,tcl] +[source,tcl] ---------------------------------------- weechat::register "test_tcl" "FlashCode" "1.0" "GPL3" "Script de test" "" "" weechat::print "" "Bonjour, du script tcl !" ---------------------------------------- +* guile (scheme): + +[source,lisp] +---------------------------------------- +(weechat:register "test_scheme" "FlashCode" "1.0" "GPL3" "Script de test" "" "") +(weechat:print "" "Bonjour, du script scheme !") +---------------------------------------- + [[load_script]] Chargement du script ~~~~~~~~~~~~~~~~~~~~ @@ -128,11 +168,12 @@ Chargement du script Vous devez utiliser la commande, dépendant du langage : ---------------------------------------- -/perl load perl/script.pl /python load python/script.py +/perl load perl/script.pl /ruby load ruby/script.rb /lua load lua/script.lua /tcl load tcl/script.tcl +/guile load guile/script.scm ---------------------------------------- Vous pouvez faire un lien dans le répertoire 'langage/autoload' pour charger diff --git a/doc/fr/weechat_user.fr.txt b/doc/fr/weechat_user.fr.txt index ae4a135dd..641c57633 100644 --- a/doc/fr/weechat_user.fr.txt +++ b/doc/fr/weechat_user.fr.txt @@ -88,23 +88,24 @@ Dépendances Le tableau suivant liste les paquets qui sont requis ou optionnels pour compiler WeeChat. -[width="80%",cols="4,^2,13",options="header"] +[width="100%",cols="5,^3,^3,13",options="header"] |======================================== -| Paquet ^(1)^ | Requis | Fonctionnalité -| cmake | *oui* | construction (autotools toujours possible, mais cmake est recommandé) -| libncursesw5-dev ^(2)^ | *oui* | interface ncurses -| gettext | non | internationalisation (traduction des messages; la langue de base est l'anglais) -| libgcrypt11-dev | non | authentification SASL avec le serveur IRC, en utilisant le mécanisme DH-BLOWFISH -| libgnutls-dev (≥ 2.2.0) | non | connexion SSL au serveur IRC -| ca-certificates | no | certificats pour les connexions SSL -| libaspell-dev | non | extension aspell -| libperl-dev | non | extension perl -| python-dev | non | extension python -| ruby1.8-dev | non | extension ruby -| liblua5.1-0-dev | non | extension lua -| tcl-dev (≥ 8.5) | non | extension tcl -| asciidoc (≥ 8.5.0) | non | construction de la documentation (fichiers HTML) -| source-highlight | non | coloration des sources dans la documentation HTML +| Paquet ^(1)^ | Version | Requis | Fonctionnalité +| cmake | | *oui* | construction (autotools toujours possible, mais cmake est recommandé) +| libncursesw5-dev ^(2)^ | | *oui* | interface ncurses +| gettext | | | internationalisation (traduction des messages; la langue de base est l'anglais) +| libgcrypt11-dev | | | authentification SASL avec le serveur IRC, en utilisant le mécanisme DH-BLOWFISH +| libgnutls-dev | ≥ 2.2.0 | | connexion SSL au serveur IRC +| ca-certificates | | | certificats pour les connexions SSL +| libaspell-dev | | | extension aspell +| python-dev | 2.5 → 2.7 | | extension python +| libperl-dev | | | extension perl +| ruby1.8-dev | | | extension ruby +| liblua5.1-0-dev | | | extension lua +| tcl-dev | ≥ 8.5 | | extension tcl +| guile-1.8-dev | | | extention guile (scheme) +| asciidoc | ≥ 8.5.0 | | construction de la documentation (fichiers HTML) +| source-highlight | | | coloration des sources dans la documentation HTML |======================================== [NOTE] @@ -1020,7 +1021,7 @@ WeeChat tourne. Il est important de bien faire la différence entre une 'extension' et un 'script' : une 'extension' est un fichier binaire compilé et chargé avec la commande `/plugin`, tandis qu'un 'script' est un fichier texte chargé par une -extension comme 'perl' par la commande `perl`. +extension comme 'python' par la commande `/python`. Vous pouvez utiliser la commande `/plugin` pour charger/décharger une extension, ou afficher les extensions chargées. @@ -1049,11 +1050,12 @@ Les extensions par défaut sont : | logger | Enregistrement des tampons dans des fichiers | relay | Relai de données via le réseau (proxy IRC) | rmodifier | Modification des chaînes de "modifier" avec des expressions régulières -| perl | Interface (API) pour scripts Perl | python | Interface (API) pour scripts Python +| perl | Interface (API) pour scripts Perl | ruby | Interface (API) pour scripts Ruby | lua | Interface (API) pour scripts Lua | tcl | Interface (API) pour scripts Tcl +| guile | Interface (API) pour scripts Guile (scheme) | xfer | Transfert de fichier et discussion directe |======================================== @@ -1258,11 +1260,11 @@ $ echo 'irc.freenode.#weechat *bonjour !' >~/.weechat/weechat_fifo_12345 $ echo '*bonjour !' >~/.weechat/weechat_fifo_12345 ---------------------------------------- -* envoyer deux commandes pour décharger/recharger les scripts Perl (vous devez +* envoyer deux commandes pour décharger/recharger les scripts Python (vous devez les séparer par "\n") : ---------------------------------------- -$ echo -e '*/perl unload\n*/perl autoload' >~/.weechat/weechat_fifo_12345 +$ echo -e '*/python unload\n*/python autoload' >~/.weechat/weechat_fifo_12345 ---------------------------------------- Vous pouvez écrire un script qui envoie les commandes à tous les WeeChat qui @@ -1971,7 +1973,8 @@ sera : `/oper nick ********`. Extensions Scripts ~~~~~~~~~~~~~~~~~~ -WeeChat fournit 5 extensions pour scripts : Perl, Python, Ruby, Lua et Tcl. +WeeChat fournit 6 extensions pour scripts : Python, Perl, Ruby, Lua, Tcl et +Guile (scheme). Ces extensions peuvent charger, exécuter et décharger des scripts pour ces langages. @@ -1981,18 +1984,18 @@ WeeChat pour les scripts, merci de lire le 'Le Guide pour Scripts WeeChat'. Vous pouvez trouver des scripts pour WeeChat ici : http://www.weechat.org/scripts -[[perl_commands]] -Commandes Perl -^^^^^^^^^^^^^^ - -include::autogen/user/perl_commands.txt[] - [[python_commands]] Commandes Python ^^^^^^^^^^^^^^^^ include::autogen/user/python_commands.txt[] +[[perl_commands]] +Commandes Perl +^^^^^^^^^^^^^^ + +include::autogen/user/perl_commands.txt[] + [[ruby_commands]] Commandes Ruby ^^^^^^^^^^^^^^ @@ -2011,6 +2014,12 @@ Commandes Tcl include::autogen/user/tcl_commands.txt[] +[[guile_commands]] +Commandes Guile +^^^^^^^^^^^^^^^ + +include::autogen/user/guile_commands.txt[] + [[xfer_plugin]] Extension Xfer ~~~~~~~~~~~~~~ diff --git a/doc/it/autogen/plugin_api/completions.txt b/doc/it/autogen/plugin_api/completions.txt index 8d145f62b..3d8b2a5cc 100644 --- a/doc/it/autogen/plugin_api/completions.txt +++ b/doc/it/autogen/plugin_api/completions.txt @@ -8,6 +8,8 @@ | aspell | aspell_langs | elenco di lingue supportate per aspell +| guile | guile_script | elenco degli script + | irc | irc_channel | canale IRC corrente | irc | irc_channel_nicks_hosts | nick e host del canale IRC corrente diff --git a/doc/it/autogen/plugin_api/infolists.txt b/doc/it/autogen/plugin_api/infolists.txt index 70cfd165f..7dcf002ef 100644 --- a/doc/it/autogen/plugin_api/infolists.txt +++ b/doc/it/autogen/plugin_api/infolists.txt @@ -4,6 +4,8 @@ | alias | alias | elenco di alias | puntatore all'alias (opzionale) | nome alias (può iniziare o terminare con "*" come carattere jolly) (opzionale) +| guile | guile_script | elenco degli script | puntatore allo script (opzionale) | nome script (può iniziare o terminare con "*" come carattere jolly) (opzionale) + | irc | irc_channel | elenco dei canali per un server IRC | puntatore al canale (opzionale) | server,canale (canale è opzionale) | irc | irc_ignore | elenco di ignore IRC | puntatore all'ignore (opzionale) | - diff --git a/doc/it/autogen/user/guile_commands.txt b/doc/it/autogen/user/guile_commands.txt new file mode 100644 index 000000000..989c5e3fa --- /dev/null +++ b/doc/it/autogen/user/guile_commands.txt @@ -0,0 +1,20 @@ +[[command_guile_guile]] +[command]*`guile`* elenca/carica/scarica script:: +........................................ +/guile list|listfull [<nome>] + load <nomefile> + autoload + reload|unload [<nome>] + + list: elenca i plugin caricati + listfull: elenca i plugin caricati (dettagliato) + load: carica un plugin + autoload: carica automaticamente i plugin nella cartella utente o di sistema + reload: ricarica un plugin (se non specificato, scarica i plugin e li ricarica automaticamente) + unload: scarica uno o tutti i plugin +nome_file: (file) script da caricare + nome: il nome di uno script (usato nella chiamata alla funzione "register") + +Senza argomento, questo comando elenca tutti i plugin caricati. +........................................ + diff --git a/doc/it/weechat_scripting.it.txt b/doc/it/weechat_scripting.it.txt index 0f72b68b2..912c10552 100644 --- a/doc/it/weechat_scripting.it.txt +++ b/doc/it/weechat_scripting.it.txt @@ -17,9 +17,16 @@ Introduzione WeeChat (Wee Enhanced Environment for Chat) è un client di chat libero, veloce e leggero, realizzato per molti sistemi operativi. -Questo manuale documenta i metodi per la realizzazione di script per -WeeChat, utilizzando uno dei cinque linguaggi di script supportati: perl, -python, ruby, lua o 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] Quasi tutti gli esempi in questo manuale sono scritti in Python, ma l'API @@ -33,20 +40,46 @@ Script in WeeChat Specifiche per i linguaggi ~~~~~~~~~~~~~~~~~~~~~~~~~~ -Alcune cose sono specifiche per i linguaggi: +Python +^^^^^^ -* perl: -** le funzioni sono chiamate con `weechat::xxx(arg1, arg2, ...);` -* python: -** è necessario `import weechat` -** le funzioni `print*` sono chiamate `prnt*` in python (dato che 'print' - è una parola riservata) -** le funzioni sono chiamate con `weechat.xxx(arg1, arg2, ...)` -* ruby: -** è necessario definire 'weechat_init' e chiamare 'register' all'interno -** le funzioni sono chiamate con `Weechat.xxx(arg1, arg2, ...)` -* tcl: -** le funzioni sono chiamate con `weechat::xxx arg1 arg2 ...` +* E necessario `import weechat` +* Le funzioni `print*` sono chiamate `prnt*` in python (dato che 'print' + è una parola riservata) +* Le funzioni sono chiamate con `weechat.xxx(arg1, arg2, ...)` + +Perl +^^^^ + +* Le funzioni sono chiamate con `weechat::xxx(arg1, arg2, ...);` + +Ruby +^^^^ + +* E necessario definire 'weechat_init' e chiamare 'register' all'interno +* Le funzioni sono chiamate con `Weechat.xxx(arg1, arg2, ...)` + +Lua +^^^ + +* Le funzioni sono chiamate con `weechat.xxx(arg1, arg2, ...)` + +Tcl +^^^ + +* Le funzioni sono chiamate con `weechat::xxx arg1 arg2 ...` + +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]] Registrare una funzione @@ -76,14 +109,6 @@ Argomenti: Esempio di script, per ogni linguaggio: -* perl: - -[source,perl] ----------------------------------------- -weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Test script", "", ""); -weechat::print("", "Hello, from perl script!"); ----------------------------------------- - * python: [source,python] @@ -94,6 +119,14 @@ weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Test script", "", " weechat.prnt("", "Hello, from python script!") ---------------------------------------- +* perl: + +[source,perl] +---------------------------------------- +weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Test script", "", ""); +weechat::print("", "Hello, from perl script!"); +---------------------------------------- + * ruby: [source,ruby] @@ -115,12 +148,20 @@ weechat.print("", "Hello, from lua script!") * tcl: -// [source,tcl] +[source,tcl] ---------------------------------------- weechat::register "test_tcl" "FlashCode" "1.0" "GPL3" "Test script" "" "" weechat::print "" "Hello, from tcl script!" ---------------------------------------- +* guile (scheme): + +[source,lisp] +---------------------------------------- +(weechat:register "test_scheme" "FlashCode" "1.0" "GPL3" "Test script" "" "") +(weechat:print "" "Hello, from scheme script!") +---------------------------------------- + [[load_script]] Caricare uno script ~~~~~~~~~~~~~~~~~~~ @@ -128,11 +169,12 @@ Caricare uno script Il comando da utilizzare, in base al linguaggio: ---------------------------------------- -/perl load perl/script.pl /python load python/script.py +/perl load perl/script.pl /ruby load ruby/script.rb /lua load lua/script.lua /tcl load tcl/script.tcl +/guile load guile/script.scm ---------------------------------------- È possibile creare un link nella cartella 'linguaggio/autoload' per caricare diff --git a/doc/it/weechat_user.it.txt b/doc/it/weechat_user.it.txt index c15b210b7..c9ec6f63f 100644 --- a/doc/it/weechat_user.it.txt +++ b/doc/it/weechat_user.it.txt @@ -90,23 +90,24 @@ Dipendenze La seguente tabella mostra l'elenco di pacchetti richiesti o opzionali per compilare WeeChat. -[width="80%",cols="4,^2,13",options="header"] +[width="100%",cols="5,^3,^3,13",options="header"] |======================================== -| Pacchetto ^(1)^ | Richiesto | Caratteristica -| cmake | *sì* | compilazione (ancora possibile con autotools, ma si raccomanda cmake) -| libncursesw5-dev ^(2)^ | *sì* | interfaccia ncurses -| gettext | no | internazionalizzazione (traduzione dei messaggi; la lingua base è l'inglese) -| libgcrypt11-dev | no | autenticazione SASL per i server IRC che utilizzano il meccanismo DH-BLOWFISH -| libgnutls-dev (≥ 2.2.0) | no | connessione SSL al server IRC -| ca-certificates | no | certificati per le connessioni SSL -| libaspell-dev | no | plugin aspell -| libperl-dev | no | plugin perl -| python-dev | no | plugin python -| ruby1.8-dev | no | plugin ruby -| liblua5.1-0-dev | no | plugin lua -| tcl-dev (≥ 8.5) | no | plugin tcl -| asciidoc (≥ 8.5.0) | no | compilazione della documentazione (file HTML) -| source-highlight | no | evidenziazione della sintassi per i sorgenti nella documentazione HTML +| Pacchetto ^(1)^ | Versione | Richiesto | Caratteristica +| cmake | | *sì* | compilazione (ancora possibile con autotools, ma si raccomanda cmake) +| libncursesw5-dev ^(2)^ | | *sì* | interfaccia ncurses +| gettext | | | internazionalizzazione (traduzione dei messaggi; la lingua base è l'inglese) +| libgcrypt11-dev | | | autenticazione SASL per i server IRC che utilizzano il meccanismo DH-BLOWFISH +| libgnutls-dev | ≥ 2.2.0 | | connessione SSL al server IRC +| ca-certificates | | | certificati per le connessioni SSL +| libaspell-dev | | | plugin aspell +| python-dev | 2.5 → 2.7 | | plugin python +| libperl-dev | | | plugin perl +| ruby1.8-dev | | | plugin ruby +| liblua5.1-0-dev | | | plugin lua +| tcl-dev | ≥ 8.5 | | plugin tcl +| guile-1.8-dev | | | plugin guile (scheme) +| asciidoc | ≥ 8.5.0 | | compilazione della documentazione (file HTML) +| source-highlight | | | evidenziazione della sintassi per i sorgenti nella documentazione HTML |======================================== [NOTE] @@ -1011,8 +1012,8 @@ I plugin trovati vengono caricati automaticamente all'avvio di WeeChat, ed È importante evidenziare la differenza tra un 'plugin' ed uno 'script': un 'plugin' è un file binario compilato e caricato con il comando `/plugin`, -mentre uno 'script' è un file di testo caricato con un plugin come 'perl' -con il comando `/perl`. +mentre uno 'script' è un file di testo caricato con un plugin come 'python' +con il comando `/python`. È possibile utilizzare il comando `/plugin` per caricare/scaricare un plugin, oppure elencare tutti i plugin caricati. @@ -1041,11 +1042,12 @@ I plugin predefiniti sono: | logger | Registra i buffer su file | relay | Relay dei dati via rete (proxy IRC) | rmodifier | Cambia le stringhe del modificatore con espressioni regolari -| perl | API per lo scripting in Perl | 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 |======================================= @@ -1244,11 +1246,11 @@ $ echo 'irc.freenode.#weechat *hello!' >~/.weechat/weechat_fifo_12345 $ echo '*hello!' >~/.weechat/weechat_fifo_12345 ---------------------------------------- -* inviare due comandi per scaricare/caricare gli script Perl (è necessario +* inviare due comandi per scaricare/caricare gli script Python (è necessario separarli con "\n"): ---------------------------------------- -$ echo -e '*/perl unload\n*/perl autoload' >~/.weechat/weechat_fifo_12345 +$ echo -e '*/python unload\n*/python autoload' >~/.weechat/weechat_fifo_12345 ---------------------------------------- È possibile realizzare uno script per inviare un comando a tutte le istanze di @@ -1956,7 +1958,8 @@ Se la riga di comando contiene: `/oper nick password` allora sullo schermo diven Plugin per gli script ~~~~~~~~~~~~~~~~~~~~~ -WeeChat fornisce 5 plugin per lo scripting: Perl, Python, Ruby, Lua, Tcl. +WeeChat fornisce 6 plugin per lo scripting: Python, Perl, Ruby, Lua, Tcl, Guile +(scheme). Questi plugin possono caricare, eseguire e scaricare gli script per questi linguaggi. @@ -1965,18 +1968,18 @@ per gli script, consultare la 'Guida allo Scripting di WeeChat'. È possibile trovare alcuni script qui: http://www.weechat.org/scripts -[[perl_commands]] -Comandi Perl -^^^^^^^^^^^^ - -include::autogen/user/perl_commands.txt[] - [[python_commands]] Comandi Python ^^^^^^^^^^^^^^ include::autogen/user/python_commands.txt[] +[[perl_commands]] +Comandi Perl +^^^^^^^^^^^^ + +include::autogen/user/perl_commands.txt[] + [[ruby_commands]] Comandi Ruby ^^^^^^^^^^^^ @@ -1995,6 +1998,12 @@ Comandi Tcl include::autogen/user/tcl_commands.txt[] +[[guile_commands]] +Comandi Guile +^^^^^^^^^^^^^ + +include::autogen/user/guile_commands.txt[] + [[xfer_plugin]] Plugin Xfer ~~~~~~~~~~~ diff --git a/doc/pl/weechat_scripting.pl.txt b/doc/pl/weechat_scripting.pl.txt index a2fcce3ca..497e8ae7f 100644 --- a/doc/pl/weechat_scripting.pl.txt +++ b/doc/pl/weechat_scripting.pl.txt @@ -16,8 +16,16 @@ Wprowadzenie WeeChat (Wee Enhanced Environment for Chat) jest darmowym klientem rozmów, szybkim i lekkim, zaprojektowanym dla wielu systemów operacyjnych. -Ten podręcznik dokumentuje sposób pisania skryptów dla WeeChat, używając jednego -z pięciu wspieranych języków skryptowych: perl, python, ruby, lua lub 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] Prawie wszystkie przykłady umieszczone w tym dokumencie są napisane w Pythonie, @@ -31,20 +39,46 @@ Skrypty w WeeChat Specyfika języków ~~~~~~~~~~~~~~~~~ -Niektóre rzeczy są specyficzne dla danego języka: +Python +^^^^^^ -* perl: -** funkcje są wywoływane za pomocą `weechat::xxx(arg1, arg2, ...);` -* python: -** należy wykonać `import weechat` -** funkcje `print*` są nazwane `prnt*` w pythonie (ponieważ 'print' jest zastrzeżonym - słowem kluczowym) -** funkcje są wywoływane za pomocą `weechat.xxx(arg1, arg2, ...)` -* ruby: -** trzeba zdefiniować 'weechat_init' i wywołać 'register' wewnątrz -** funkcje są wywoływane za pomocą `Weechat.xxx(arg1, arg2, ...)` -* tcl: -** funkcje są wywoływane za pomocą `weechat::xxx arg1 arg2 ...` +* Należy wykonać `import weechat` +* Funkcje `print*` są nazwane `prnt*` w pythonie (ponieważ 'print' jest zastrzeżonym + słowem kluczowym) +* Funkcje są wywoływane za pomocą `weechat.xxx(arg1, arg2, ...)` + +Perl +^^^^ + +* Funkcje są wywoływane za pomocą `weechat::xxx(arg1, arg2, ...);` + +Ruby +^^^^ + +* Trzeba zdefiniować 'weechat_init' i wywołać 'register' wewnątrz +* Funkcje są wywoływane za pomocą `Weechat.xxx(arg1, arg2, ...)` + +Lua +^^^ + +* Funkcje są wywoływane za pomocą `weechat.xxx(arg1, arg2, ...)` + +Tcl +^^^ + +* Funkcje są wywoływane za pomocą `weechat::xxx arg1 arg2 ...` + +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]] Funkcja rejestrująca @@ -73,14 +107,6 @@ Argumenty: Przykład dla skryptu w każdym z języków: -* perl: - -[source,perl] ----------------------------------------- -weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Skrypt testowy", "", ""); -weechat::print("", "Witaj, z perlowego skryptu!"); ----------------------------------------- - * python: [source,python] @@ -91,6 +117,14 @@ weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Skrypt testowy", "" weechat.prnt("", "Witaj, z pythonowego skryptu!") ---------------------------------------- +* perl: + +[source,perl] +---------------------------------------- +weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Skrypt testowy", "", ""); +weechat::print("", "Witaj, z perlowego skryptu!"); +---------------------------------------- + * ruby: [source,ruby] @@ -112,12 +146,20 @@ weechat.print("", "Witaj, ze skryptu lua!") * tcl: -// [source,tcl] +[source,tcl] ---------------------------------------- weechat::register "test_tcl" "FlashCode" "1.0" "GPL3" "Skrypt testowy" "" "" weechat::print "" "Witaj, ze skryptu tcl!" ---------------------------------------- +* guile (scheme): + +[source,lisp] +---------------------------------------- +(weechat:register "test_scheme" "FlashCode" "1.0" "GPL3" "Test script" "" "") +(weechat:print "" "Hello, from scheme script!") +---------------------------------------- + [[load_script]] Ładowanie skryptu ~~~~~~~~~~~~~~~~~ @@ -125,11 +167,12 @@ weechat::print "" "Witaj, ze skryptu tcl!" Musisz użyć komendy dla danego języka: ---------------------------------------- -/perl load perl/skrypt.pl /python load python/skrypt.py +/perl load perl/skrypt.pl /ruby load ruby/skrypt.rb /lua load lua/skrypt.lua /tcl load tcl/skrypt.tcl +/guile load guile/skrypt.scm ---------------------------------------- Możesz zrobić dowiązanie w katalogu 'język/autoload' jeśli chcesz automatycznie |