summaryrefslogtreecommitdiff
path: root/doc/ja/weechat_plugin_api.ja.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ja/weechat_plugin_api.ja.asciidoc')
-rw-r--r--doc/ja/weechat_plugin_api.ja.asciidoc301
1 files changed, 247 insertions, 54 deletions
diff --git a/doc/ja/weechat_plugin_api.ja.asciidoc b/doc/ja/weechat_plugin_api.ja.asciidoc
index ce54eb51e..c6b6a011e 100644
--- a/doc/ja/weechat_plugin_api.ja.asciidoc
+++ b/doc/ja/weechat_plugin_api.ja.asciidoc
@@ -761,13 +761,15 @@ int diff = weechat_strcmp_ignore_chars ("a-b", "--a-e", "-", 1); /* == -3 */
==== strcasestr
+_バージョン 1.3 で更新。_
+
ロケールと大文字小文字を区別して文字列を検索。
プロトタイプ:
[source,C]
----
-char *weechat_strcasestr (const char *string, const char *search);
+const char *weechat_strcasestr (const char *string, const char *search);
----
引数:
@@ -778,12 +780,13 @@ char *weechat_strcasestr (const char *string, const char *search);
戻り値:
* 見つかった文字列へのポインタ、見つからない場合は NULL
+ (_WeeChat バージョン 1.3 以上の場合_: 返されるポインタは 'const char *' であり、 'char *' ではありません)
C 言語での使用例:
[source,C]
----
-char *pos = weechat_strcasestr ("aBcDeF", "de"); /* result: pointer to "DeF" */
+const char *pos = weechat_strcasestr ("aBcDeF", "de"); /* result: pointer to "DeF" */
----
[NOTE]
@@ -921,6 +924,64 @@ free (str);
[NOTE]
スクリプト API ではこの関数を利用できません。
+==== string_eval_path_home
+
+_WeeChat バージョン 0.3.3 以上で利用可。_
+
+3 段階でパスを評価します:
+
+. 先頭の `%h` を WeeChat ホームディレクトリで置換し、
+. 先頭の `~` をユーザのホームディレクトリで置換し
+ (<<_string_expand_home,weechat_string_expand_home>> を実行し)、
+. 変数を評価します
+ (<<_string_eval_expression,weechat_string_eval_expression>> を参照してください)。
+
+プロトタイプ:
+
+[source,C]
+----
+char *weechat_string_eval_path_home (const char *path,
+ struct t_hashtable *pointers,
+ struct t_hashtable *extra_vars,
+ struct t_hashtable *options);
+----
+
+引数:
+
+* 'path': パス
+* 'pointers': 関数に渡されるハッシュテーブル
+ <<_string_eval_expression,weechat_string_eval_expression>>
+* 'extra_vars': 関数に渡されるハッシュテーブル
+ <<_string_eval_expression,weechat_string_eval_expression>>
+* 'options': 関数に渡されるハッシュテーブル
+ <<_string_eval_expression,weechat_string_eval_expression>>
+
+戻り値:
+
+* 評価済みのパス (使用後には必ず "free" を呼び出して領域を開放してください)
+
+C 言語での使用例:
+
+[source,C]
+----
+char *str = weechat_string_expand_home ("%h/test");
+/* result: "/home/xxx/.weechat/test" */
+/* ... */
+free (str);
+----
+
+スクリプト (Python) での使用例:
+
+[source,python]
+----
+# プロトタイプ
+path = weechat.string_eval_path_home(path, pointers, extra_vars, options)
+
+# 例
+path = weechat.string_eval_path_home("%h/test", "", "", "")
+# path == "/home/xxx/.weechat/test"
+----
+
==== string_remove_quotes
文字列の最初と最後から引用符号を削除
@@ -1845,7 +1906,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression
-_WeeChat バージョン 0.4.0 以上で利用可、バージョン 0.4.2 と 1.1 で更新。_
+_WeeChat バージョン 0.4.0 以上で利用可、バージョン 0.4.2、1.0、1.1、1.2、1.3 で更新。_
式を評価して文字列として返す。`${variable}`
という書式で書かれた特殊変数は展開されます (以下の表を参照)。
@@ -1897,13 +1958,20 @@ char *weechat_string_eval_expression (const char *expr,
式中で展開される変数のリスト
(優先度の高い順、展開順の早いものを上に遅いものを下に):
-[width="100%",cols="2,8,3,3",options="header"]
+[width="100%",cols="2,8,4,4",options="header"]
|===
| フォーマット | 説明 | 例 | 結果
| `${name}` | 'extra_vars' の変数 `name` の値に展開 |
`${name}` | `value`
+| `${eval:xxx}` +
+ (_WeeChat バージョン 1.3 以上で利用可_) |
+ 評価する文字列 |
+ `${eval:${date:${weechat.look.buffer_time_format}}}` |
+ `19:02:45` (オプション weechat.look.buffer_time_format
+ 内に色コードが存在する場合色付き)
+
| `${esc:xxx}` +
`${\xxx}` | エスケープ文字を含む文字列 |
`${esc:prefix\tmessage}` +
@@ -1923,14 +1991,15 @@ char *weechat_string_eval_expression (const char *expr,
`test`
| `${color:name}` |
- WeeChat 色コード (色名部分はオプション属性をとることも可能です) |
+ WeeChat 色コード (色名部分はオプション属性をとることも可能です),
+ フォーマットを確認するには関数 <<_color,weechat_color>> をご確認ください |
`${color:red}red text` +
`${color:*214}bold orange text` |
`red text` (赤色で) +
`bold orange text` (太字オレンジ色で)
| `${info:name}` +
- `${indo:name,arguments}` |
+ `${info:name,arguments}` |
WeeChat またはプラグインのインフォ、<<_info_get,weechat_info_get>>
を参照 |
`${info:version}` +
@@ -1938,6 +2007,22 @@ char *weechat_string_eval_expression (const char *expr,
`1.0` +
`lightblue`
+| `${date}` +
+ `${date:xxx}` +
+ (_WeeChat バージョン 1.3 以上で利用可_) |
+ 現在の日付/時刻、カスタムフォーマットを使うことも可能です (`man strftime` を参照)、
+ デフォルトフォーマットは `%F %T` |
+ `${date}` +
+ `${date:%H:%M:%S}` |
+ `2015-06-30 19:02:45` +
+ `19:02:45`
+
+| `${env:NAME}` +
+ (_WeeChat バージョン 1.2 以上で利用可_) |
+ Value of the environment variable `NAME` |
+ `${env:HOME}` |
+ `/home/user`
+
| `${sec.data.name}` |
セキュアデータ `name` の値 |
`${sec.data.freenode_pass}` |
@@ -2132,13 +2217,16 @@ weechat_utf8_normalize (string, '?');
==== utf8_prev_char
+_バージョン 1.3 で更新。_
+
文字列中の 1 つ前の UTF-8 文字へのポインタを返す。
プロトタイプ:
[source,C]
----
-char *weechat_utf8_prev_char (const char *string_start, const char *string);
+const char *weechat_utf8_prev_char (const char *string_start,
+ const char *string);
----
引数:
@@ -2150,12 +2238,13 @@ char *weechat_utf8_prev_char (const char *string_start, const char *string);
戻り値:
* 1 つ前の UTF-8 文字へのポインタ、見つからなければ (文字列の開始位置に到達した場合は) NULL
+ (_WeeChat バージョン 1.3 以上の場合_: 返されるポインタは 'const char *' であり、 'char *' ではありません)
C 言語での使用例:
[source,C]
----
-char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
+const char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
----
[NOTE]
@@ -2163,13 +2252,15 @@ char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
==== utf8_next_char
+_バージョン 1.3 で更新。_
+
文字列中の 1 つ後の UTF-8 文字へのポインタを返す。
プロトタイプ:
[source,C]
----
-char *weechat_utf8_next_char (const char *string);
+const char *weechat_utf8_next_char (const char *string);
----
引数:
@@ -2179,12 +2270,13 @@ char *weechat_utf8_next_char (const char *string);
戻り値:
* 1 つ後の UTF-8 文字へのポインタ、見つからなければ (文字列の最後に到達した場合は) NULL
+ (_WeeChat バージョン 1.3 以上の場合_: 返されるポインタは 'const char *' であり、 'char *' ではありません)
C 言語での使用例:
[source,C]
----
-char *next_char = weechat_utf8_next_char (string);
+const char *next_char = weechat_utf8_next_char (string);
----
[NOTE]
@@ -2435,13 +2527,15 @@ int length_on_screen = weechat_utf8_char_size_screen ("é"); /* == 1 */
==== utf8_add_offset
+_バージョン 1.3 で更新。_
+
UTF-8 文字列で N 文字前に進む。
プロトタイプ:
[source,C]
----
-char *weechat_utf8_add_offset (const char *string, int offset);
+const char *weechat_utf8_add_offset (const char *string, int offset);
----
引数:
@@ -2452,13 +2546,14 @@ char *weechat_utf8_add_offset (const char *string, int offset);
戻り値:
* 文字列の N 文字後に進んだ位置へのポインタ (元文字列の最後より後の位置を指す場合は NULL)
+ (_WeeChat バージョン 1.3 以上の場合_: 返されるポインタは 'const char *' であり、 'char *' ではありません)
C 言語での使用例:
[source,C]
----
-char *str = "chêne";
-char *str2 = weechat_utf8_add_offset (str, 3); /* points to "ne" */
+const char *str = "chêne";
+const char *str2 = weechat_utf8_add_offset (str, 3); /* points to "ne" */
----
[NOTE]
@@ -2866,21 +2961,26 @@ weechat_util_timeval_add (&tv, 2000000); /* add 2 seconds */
==== util_get_time_string
-_WeeChat バージョン 0.3.2 以上で利用可。_
+_WeeChat バージョン 0.3.2 以上で利用可、バージョン 1.3 で更新。_
-日付や時間を "strftime" で作った文字列で取得。
+日付/時刻を "strftime" で作った文字列として取得します。フォーマットは
+'weechat.look.time_format' で定義されています。
プロトタイプ:
[source,C]
----
-char *weechat_util_get_time_string (const time_t *date);
+const char *weechat_util_get_time_string (const time_t *date);
----
引数:
* 'date': 日付へのポインタ
+戻り値:
+
+* 日付/時刻文字列へのポインタ
+
C 言語での使用例:
[source,C]
@@ -6492,7 +6592,10 @@ const char *weechat_color (const char *color_name);
引数:
* 'color_name': 色の名前、以下の中から 1 つ:
-** WeeChat オプション名 (weechat.color.xxx の xxx)、例えば 'chat_delimiters'
+** WeeChat 色オプション名 (weechat.color.xxx の xxx)、例えば
+ 'chat_delimiters'
+** オプション名 (フォーマット: file.section.option)、例えば
+ 'irc.color.message_quit' (_WeeChat バージョン 1.2 以上で利用可_)
** 任意で属性や背景色を指定した色 (以下を参照)
** 属性:
*** 'bold': 太字を有効
@@ -7124,6 +7227,8 @@ hook = weechat.hook_timer(20 * 1000, 0, 0, "my_timer_cb", "")
==== hook_fd
+_バージョン 1.3 で更新。_
+
ファイルディスクリプタ (ファイルやソケット) をフック。
プロトタイプ:
@@ -7145,6 +7250,7 @@ struct t_hook *weechat_hook_fd (int fd,
* 'flag_read': 1 = 読み込みイベントをキャッチ、0 = 無視
* 'flag_write': 1 = 書き込みイベントをキャッチ、0 = 無視
* 'flag_exception': 1 = 例外イベントをキャッチ、0 = 無視
+ (_WeeChat バージョン 1.3 以上の場合_: この引数は無視され、使われません)
* 'callback': ファイル (またはソケット) に対してキャッチしたいイベントが発生した場合に実行する関数、
引数と戻り値:
** 'void *data': ポインタ
@@ -8377,6 +8483,21 @@ WeeChat とプラグインが送信するシグナルのリスト:
String: /quit の引数 |
ユーザがコマンド `/quit` を実行
+| weechat | signal_sighup +
+ _(WeeChat バージョン 1.3 以上で利用可)_ |
+ - |
+ SIGHUP シグナルを受信
+
+| weechat | signal_sigquit +
+ _(WeeChat バージョン 1.2 以上で利用可)_ |
+ - |
+ SIGQUIT シグナルを受信 (コアダンプ付きで終了要求)
+
+| weechat | signal_sigterm +
+ _(WeeChat バージョン 1.2 以上で利用可)_ |
+ - |
+ SIGTERM シグナルを受信 (WeeChat プロセスを正常に終了させる)
+
| weechat | signal_sigwinch +
_(WeeChat バージョン 0.4.3 以上で利用可)_ |
- |
@@ -9863,36 +9984,98 @@ info を使う前にエリアが一致していることを確認して下さい
[width="100%",cols="5m,5,8,3",options="header"]
|===
-| キー ^(1)^ | 説明 | 値の例 | 定義できない場合の値
-| _x | スクリーン上での列座標 2+| "0" ... "n"
-| _y | スクリーン上での行座標 2+| "0" ... "n"
-| _key | キーまたはマウスイベント 2+| "button1"、"button2-gesture-left"、...
-| _window | ウィンドウへのポインタ | "0x12345678" | ""
-| _window_number | ウィンドウの番号 | "1" ... "n" | "*"
-| _buffer | バッファへのポインタ | "0x12345678" | ""
-| _buffer_number | バッファの番号 | "1" ... "n" | "-1"
-| _buffer_plugin | バッファのプラグイン名 | "core"、"irc"、... | ""
-| _buffer_name | バッファの名前 | "weechat"、"freenode.#weechat"、... | ""
-| _buffer_full_name | バッファの完全な名前 | "core.weechat"、"irc.freenode.#weechat"、... | ""
-| _buffer_localvar_XXX ^(2)^ | バッファのローカル変数 | 任意の値 | 未定義
-| _chat | チャットエリアインジケータ | "0" または "1" | "0"
-| _chat_line_x | 行中の列番号 ^(3)^ | "0" ... "n" | "-1"
-| _chat_line_y | 行番号 ^(3)^ | "0" ... "n" | "-1"
-| _chat_line_date | 日付/時間の行 | "1313237175" | "0"
-| _chat_line_date_printed | 日付/時間の行 ^(4)^ | "1313237175" | "0"
-| _chat_line_time | 表示された時間 | "14:06:15" | ""
-| _chat_line_tags | 行に設定されたタグ | "irc_privmsg,nick_flashy,log1" | ""
-| _chat_line_nick | 行を発言したニックネーム | "FlashCode" | ""
-| _chat_line_prefix | 行のプレフィックス | "@FlashCode" | ""
-| _chat_line_message | 行のメッセージ部分 | "Hello world!" | ""
-| _chat_word | (x,y) の位置にある単語 | "Hello" | ""
-| _chat_bol | 行頭から (x-1,y) まで | "He" | ""
-| _chat_eol | (x,y) から行末まで | "llo world!" | ""
-| _bar_name | バーの名前 | "title"、"nicklist"、... | ""
-| _bar_filling | バーのフィリング | "horizontal"、"vertical"、... | ""
-| _bar_item_name | バー要素の名前 | "buffer_nicklist"、"hotlist"、... | ""
-| _bar_item_line | バー要素中の行座標 | "0" ... "n" | "-1"
-| _bar_item_col | バー要素中の列座標 | "0" ... "n" | "-1"
+| キー ^(1)^ | 説明 | 値の例 | 定義できない場合の値
+
+| _x | スクリーン上での列座標 |
+ "0" ... "n" |
+
+| _y | スクリーン上での行座標 |
+ "0" ... "n" |
+
+| _key | キーまたはマウスイベント |
+ "button1"、"button2-gesture-left"、... |
+
+| _window | ウィンドウへのポインタ |
+ "0x12345678" | ""
+
+| _window_number | ウィンドウの番号 |
+ "1" ... "n" | "*"
+
+| _buffer | バッファへのポインタ |
+ "0x12345678" | ""
+
+| _buffer_number | バッファの番号 |
+ "1" ... "n" | "-1"
+
+| _buffer_plugin | バッファのプラグイン名 |
+ "core"、"irc"、... | ""
+
+| _buffer_name | バッファの名前 |
+ "weechat"、"freenode.#weechat"、... | ""
+
+| _buffer_full_name | バッファの完全な名前 |
+ "core.weechat"、"irc.freenode.#weechat"、... | ""
+
+| _buffer_localvar_XXX ^(2)^ | バッファのローカル変数 |
+ 任意の値 | 未定義
+
+| _chat | チャットエリアインジケータ |
+ "0" または "1" | "0"
+
+| _chat_line | 行へのポインタ +
+ _(WeeChat バージョン 1.2 以上で利用可)_ |
+ "0x12345678" | ""
+
+| _chat_line_x | 行中の列番号 ^(3)^ |
+ "0" ... "n" | "-1"
+
+| _chat_line_y | 行番号 ^(3)^ |
+ "0" ... "n" | "-1"
+
+| _chat_line_date | 日付/時間の行 |
+ "1313237175" | "0"
+
+| _chat_line_date_printed | 日付/時間の行 ^(4)^ |
+ "1313237175" | "0"
+
+| _chat_line_time | 表示された時間 |
+ "14:06:15" | ""
+
+| _chat_line_tags | 行に設定されたタグ |
+ "irc_privmsg,nick_flashy,log1" | ""
+
+| _chat_line_nick | 行を発言したニックネーム |
+ "FlashCode" | ""
+
+| _chat_line_prefix | 行のプレフィックス |
+ "@FlashCode" | ""
+
+| _chat_line_message | 行のメッセージ部分 |
+ "Hello world!" | ""
+
+| _chat_word | (x,y) の位置にある単語 |
+ "Hello" | ""
+
+| _chat_bol | 行頭から (x-1,y) まで |
+ "He" | ""
+
+| _chat_eol | (x,y) から行末まで |
+ "llo world!" | ""
+
+| _bar_name | バーの名前 |
+ "title"、"nicklist"、... | ""
+
+| _bar_filling | バーのフィリング |
+ "horizontal"、"vertical"、... | ""
+
+| _bar_item_name | バー要素の名前 |
+ "buffer_nicklist"、"hotlist"、... | ""
+
+| _bar_item_line | バー要素中の行座標 |
+ "0" ... "n" | "-1"
+
+| _bar_item_col | バー要素中の列座標 |
+ "0" ... "n" | "-1"
|===
[NOTE]
@@ -12753,23 +12936,33 @@ hashtable_in = weechat_hashtable_new (8,
NULL);
if (hashtable_in)
{
- weechat_hashtable_set (hashtable_in, "message",
- ":nick!user@host PRIVMSG #weechat :message here");
+ weechat_hashtable_set (
+ hashtable_in,
+ "message",
+ "@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!");
hashtable_out = weechat_info_get_hashtable ("irc_message_parse",
hashtable_in);
/*
* now hashtable_out has following keys/values:
- * "nick" : "nick"
- * "host" : "nick!user@host"
- * "command" : "PRIVMSG"
- * "channel" : "#weechat"
- * "arguments": "#weechat :message here"
+ * "tags" : "time=2015-06-27T16:40:35.000Z"
+ * "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!"
+ * "nick" : "nick"
+ * "host" : "nick!user@host"
+ * "command" : "PRIVMSG"
+ * "channel" : "#weechat"
+ * "arguments" : "#weechat :hello!"
+ * "text" : "hello!"
+ * "pos_text" : "65"
*/
weechat_hashtable_free (hashtable_in);
weechat_hashtable_free (hashtable_out);
}
----
+[NOTE]
+"irc_message_parse" の出力に関するより詳しい情報を得るには
+'WeeChat スクリプト作成ガイド' をご覧ください。
+
スクリプト (Python) での使用例:
[source,python]