mirror of
https://github.com/weechat/weechat.git
synced 2026-07-08 02:33:12 +02:00
core: add a way to count the suffix length in max chars displayed in cut of string ("cut:" and "cutscr:") (closes #963)
The format to use is one of:
- ${cut:+max,suffix,string}
- ${cutscr:+max,suffix,string}
With the "+" before max, WeeChat ensures there are at most "max" chars in
output, including the length of suffix string.
This commit is contained in:
@@ -257,54 +257,54 @@ infolists: zeigt Information über die Infolists an
|
||||
/eval [-n|-s] <expression>
|
||||
[-n] -c <expression1> <operator> <expression2>
|
||||
|
||||
-n: gibt das Ergebnis aus, ohne das dieses in den Buffer gesendet wird (debug Modus)
|
||||
-s: teilt Ausdrücke bevor sie evaluiert werden (mehrere Befehle können durch Semikolon getrennt werden)
|
||||
-c: Auswertung als Bedingung: nutzt Operatoren und runde Klammern, Rückgabewert als Boolean-Wert ("0" oder "1")
|
||||
expression: Ausdruck welcher verarbeitet werden soll. Variablen im Format ${variable} werden ersetzt (siehe unten); mehrere Befehle werden durch ein Semikolon voneinander getrennt
|
||||
operator: ein logischer oder vergleichender Operand:
|
||||
- logische Operanden:
|
||||
&& boolean "und"
|
||||
|| boolean "oder"
|
||||
- vergleichende Operanden:
|
||||
== gleich
|
||||
!= ungleich
|
||||
<= kleiner oder gleich
|
||||
< kleiner
|
||||
>= größer oder gleich
|
||||
> größer
|
||||
=~ stimmt mit regulärem POSIX Ausdruck überein
|
||||
!~ stimmt NICHT mit regulärem POSIX Ausdruck überein
|
||||
-n: display result without sending it to buffer (debug mode)
|
||||
-s: split expression before evaluating it (many commands can be separated by semicolons)
|
||||
-c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1")
|
||||
expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons
|
||||
operator: a logical or comparison operator:
|
||||
- logical operators:
|
||||
&& boolean "and"
|
||||
|| boolean "or"
|
||||
- comparison operators:
|
||||
== equal
|
||||
!= not equal
|
||||
<= less or equal
|
||||
< less
|
||||
>= greater or equal
|
||||
> greater
|
||||
=~ is matching POSIX extended regex
|
||||
!~ is NOT matching POSIX extended regex
|
||||
|
||||
Ein Ausdruck gilt als "wahr" sofern das Ergebnis weder NULL, leer und von "0" abweichend ist.
|
||||
Der Vergleich findet zwischen zwei Integer Werten statt, sofern die beiden Ausdrücke gültige Integer-Werte sind.
|
||||
Um einen Vergleich zwischen zwei Zeichenketten zu erzwingen, müssen die Ausdrücke in Anführungszeichen gesetzt werden, zum Beispiel:
|
||||
An expression is considered as "true" if it is not NULL, not empty, and different from "0".
|
||||
The comparison is made using integers if the two expressions are valid integers.
|
||||
To force a string comparison, add double quotes around each expression, for example:
|
||||
50 > 100 ==> 0
|
||||
"50" > "100" ==> 1
|
||||
|
||||
Einige Variablen werden im Ausdruck, mittels der Formatierung ${Variable}, ersetzt. Mögliche Variablen sind, nach Reihenfolge ihrer Priorität:
|
||||
1. eine evaluierte Teilzeichenkette (Format: "eval:xxx")
|
||||
2. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
|
||||
3. Zeichen welche in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
|
||||
4. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:Max,Suffix,Zeichenkette")
|
||||
oder maximale Anzahl an Zeichen die auf dem Bildschirm angezeigt werden sollen (Format: "cutscr:max,Suffix,Zeichenkette")
|
||||
5. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")\n
|
||||
6. eine Info (Format: "info:name,arguments", Argumente sind optional)
|
||||
7. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
|
||||
8. eine Umgebungsvariable (Format: "env:XXX")
|
||||
9. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
|
||||
10. eine Option (Format: "file.section.option")
|
||||
11. der Name einer lokalen Variablen eines Buffer
|
||||
12. ein hdata Name/Variable (der Wert wird automatisch als Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
|
||||
Das Format für hdata kann wie folgt aufgebaut sein:
|
||||
hdata.var1.var2...: startet mit hdata (der Pointer muss bekannt sein) und fragt eine Variable nach der anderen ab (weitere hdata können folgen)
|
||||
hdata[list].var1.var2...: startet hdata mittels einer Liste, zum Beispiel:
|
||||
${buffer[gui_buffers].full_name}: der vollständige Name des ersten Buffers, in der verknüpften Liste aller Buffer
|
||||
${plugin[weechat_plugins].name}: Name der ersten Erweiterung, in der verknüpften Liste aller Erweiterungen
|
||||
hdata[pointer].var1.var2...: startet hdata mittels einem Pointer, zum Beispiel:
|
||||
${buffer[0x1234abcd].full_name}: vollständiger Name eines Buffers und des dazugehörigen Pointers (kann in triggern benutzt werden)
|
||||
Die vorhandenen Namen für hdata und Variablen sind in der "Anleitung für API Erweiterung", Bereich "weechat_hdata_get". beschrieben
|
||||
Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
|
||||
1. an evaluated sub-string (format: "eval:xxx")
|
||||
2. a string with escaped chars (format: "esc:xxx" or "\xxx")
|
||||
3. a string with chars to hide (format: "hide:char,string")
|
||||
4. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
|
||||
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
|
||||
5. a color (format: "color:xxx", see "Plugin API reference", function "color")
|
||||
6. an info (format: "info:name,arguments", arguments are optional)
|
||||
7. current date/time (format: "date" or "date:format")
|
||||
8. an environment variable (format: "env:XXX")
|
||||
9. a ternary operator (format: "if:condition?value_if_true:value_if_false")
|
||||
10. an option (format: "file.section.option")
|
||||
11. a local variable in buffer
|
||||
12. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
|
||||
Format for hdata can be one of following:
|
||||
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
|
||||
hdata[list].var1.var2...: start with a hdata using a list, for example:
|
||||
${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers
|
||||
${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins
|
||||
hdata[pointer].var1.var2...: start with a hdata using a pointer, for example:
|
||||
${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers)
|
||||
For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".
|
||||
|
||||
Beispiele (einfache Zeichenketten):
|
||||
Examples (simple strings):
|
||||
/eval -n ${info:version} ==> 0.4.3
|
||||
/eval -n ${env:HOME} ==> /home/user
|
||||
/eval -n ${weechat.look.scroll_amount} ==> 3
|
||||
@@ -314,19 +314,20 @@ Beispiele (einfache Zeichenketten):
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${cut:2,+,test} ==> te+
|
||||
/eval -n ${cut:3,+,test} ==> tes+
|
||||
/eval -n ${cut:+3,+,test} ==> te+
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
/eval -n ${if:${info:term_width}>80?big:small} ==> big
|
||||
|
||||
Beispiele (Bedingungen):
|
||||
/eval -n -c ${window.buffer.number} > 2 ==> 0
|
||||
/eval -n -c ${window.win_width} > 100 ==> 1
|
||||
/eval -n -c (8 > 12) || (5 > 2) ==> 1
|
||||
/eval -n -c (8 > 12) && (5 > 2) ==> 0
|
||||
/eval -n -c abcd =~ ^ABC ==> 1
|
||||
/eval -n -c abcd =~ (?-i)^ABC ==> 0
|
||||
/eval -n -c abcd =~ (?-i)^abc ==> 1
|
||||
/eval -n -c abcd !~ abc ==> 0
|
||||
Examples (conditions):
|
||||
/eval -n -c ${window.buffer.number} > 2 ==> 0
|
||||
/eval -n -c ${window.win_width} > 100 ==> 1
|
||||
/eval -n -c (8 > 12) || (5 > 2) ==> 1
|
||||
/eval -n -c (8 > 12) && (5 > 2) ==> 0
|
||||
/eval -n -c abcd =~ ^ABC ==> 1
|
||||
/eval -n -c abcd =~ (?-i)^ABC ==> 0
|
||||
/eval -n -c abcd =~ (?-i)^abc ==> 1
|
||||
/eval -n -c abcd !~ abc ==> 0
|
||||
----
|
||||
|
||||
[[command_weechat_filter]]
|
||||
|
||||
@@ -285,8 +285,8 @@ Some variables are replaced in expression, using the format ${variable}, variabl
|
||||
1. an evaluated sub-string (format: "eval:xxx")
|
||||
2. a string with escaped chars (format: "esc:xxx" or "\xxx")
|
||||
3. a string with chars to hide (format: "hide:char,string")
|
||||
4. a string with max chars (format: "cut:max,suffix,string")
|
||||
or max chars displayed on screen (format: "cutscr:max,suffix,string")
|
||||
4. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
|
||||
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
|
||||
5. a color (format: "color:xxx", see "Plugin API reference", function "color")
|
||||
6. an info (format: "info:name,arguments", arguments are optional)
|
||||
7. current date/time (format: "date" or "date:format")
|
||||
@@ -314,7 +314,8 @@ Examples (simple strings):
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${cut:2,+,test} ==> te+
|
||||
/eval -n ${cut:3,+,test} ==> tes+
|
||||
/eval -n ${cut:+3,+,test} ==> te+
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
/eval -n ${if:${info:term_width}>80?big:small} ==> big
|
||||
|
||||
|
||||
@@ -2043,19 +2043,27 @@ expanded to last):
|
||||
`+********+`
|
||||
|
||||
| `+${cut:max,suffix,string}+` +
|
||||
`+${cut:+max,suffix,string}+` +
|
||||
(_WeeChat ≥ 1.8_) |
|
||||
String with `max` chars, and optional `suffix` if string is cut. |
|
||||
String with `max` chars, and optional `suffix` if string is cut. +
|
||||
With the format `+max`, the suffix is counted in max length. |
|
||||
`+${cut:4,…,this is a test}+` +
|
||||
`+${cut:+4,…,this is a test}+` +
|
||||
`+${cut:2,>>,こんにちは世界}+` |
|
||||
`+this…+` +
|
||||
`+t…+` +
|
||||
`+こん>>+`
|
||||
|
||||
| `+${cutscr:max,suffix,string}+` +
|
||||
`+${cutscr:+max,suffix,string}+` +
|
||||
(_WeeChat ≥ 1.8_) |
|
||||
String with `max` chars displayed on screen, and optional `suffix` if string is cut. |
|
||||
String with `max` chars displayed on screen, and optional `suffix` if string is cut. +
|
||||
With the format `+max`, the suffix is counted in max length. |
|
||||
`+${cutscr:4,…,this is a test}+` +
|
||||
`+${cutscr:+4,…,this is a test}+` +
|
||||
`+${cutscr:2,>>,こんにちは世界}+` |
|
||||
`+this…+` +
|
||||
`+thi…+` +
|
||||
`+こ>>+`
|
||||
|
||||
| `+${re:N}+` +
|
||||
|
||||
@@ -285,8 +285,8 @@ Des variables sont remplacées dans l'expression, en utilisant le format ${varia
|
||||
1. une sous-chaîne évaluée (format : "eval:xxx")
|
||||
2. une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx")
|
||||
3. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
|
||||
4. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne")
|
||||
ou un maximum de caractères affichés à l'écran (format : "cutscr:max,suffixe,chaîne")
|
||||
4. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne")
|
||||
ou un maximum de caractères affichés à l'écran (format : "cutscr:max,suffixe,chaîne" ou "cutscr:+max,suffixe,chaîne")
|
||||
5. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
|
||||
6. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
|
||||
7. la date/heure courante (format : "date" ou "date:format")
|
||||
@@ -314,7 +314,8 @@ Exemples (chaînes simples) :
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${cut:2,+,test} ==> te+
|
||||
/eval -n ${cut:3,+,test} ==> tes+
|
||||
/eval -n ${cut:+3,+,test} ==> te+
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
/eval -n ${if:${info:term_width}>80?big:small} ==> big
|
||||
|
||||
|
||||
@@ -2086,19 +2086,27 @@ première étendue à la dernière) :
|
||||
`+************+`
|
||||
|
||||
| `+${cut:max,suffixe,chaîne}+` +
|
||||
`+${cut:+max,suffixe,chaîne}+` +
|
||||
(_WeeChat ≥ 1.8_) |
|
||||
Chaîne avec `max` caractères, et un `suffixe` facultatif si la chaîne est coupée. |
|
||||
Chaîne avec `max` caractères, et un `suffixe` facultatif si la chaîne est coupée. +
|
||||
Avec le format `+max`, le suffixe est compté dans la longueur maximale. |
|
||||
`+${cut:4,…,ceci est un test}+` +
|
||||
`+${cut:+4,…,ceci est un test}+` +
|
||||
`+${cut:2,>>,こんにちは世界}+` |
|
||||
`+ceci…+` +
|
||||
`+c…+` +
|
||||
`+こん>>+`
|
||||
|
||||
| `+${cutscr:max,suffixe,chaîne}+` +
|
||||
`+${cutscr:+max,suffixe,chaîne}+` +
|
||||
(_WeeChat ≥ 1.8_) |
|
||||
Chaîne avec `max` caractères affichés à l'écran, et un `suffixe` facultatif si la chaîne est coupée. |
|
||||
Chaîne avec `max` caractères affichés à l'écran, et un `suffixe` facultatif si la chaîne est coupée. +
|
||||
Avec le format `+max`, le suffixe est compté dans la longueur maximale. |
|
||||
`+${cutscr:4,…,ceci est un test}+` +
|
||||
`+${cutscr:+4,…,ceci est un test}+` +
|
||||
`+${cutscr:2,>>,こんにちは世界}+` |
|
||||
`+ceci…+` +
|
||||
`+cec…+` +
|
||||
`+こ>>+`
|
||||
|
||||
| `+${re:N}+` +
|
||||
|
||||
@@ -285,8 +285,8 @@ Some variables are replaced in expression, using the format ${variable}, variabl
|
||||
1. an evaluated sub-string (format: "eval:xxx")
|
||||
2. a string with escaped chars (format: "esc:xxx" or "\xxx")
|
||||
3. a string with chars to hide (format: "hide:char,string")
|
||||
4. a string with max chars (format: "cut:max,suffix,string")
|
||||
or max chars displayed on screen (format: "cutscr:max,suffix,string")
|
||||
4. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
|
||||
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
|
||||
5. a color (format: "color:xxx", see "Plugin API reference", function "color")
|
||||
6. an info (format: "info:name,arguments", arguments are optional)
|
||||
7. current date/time (format: "date" or "date:format")
|
||||
@@ -314,7 +314,8 @@ Examples (simple strings):
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${cut:2,+,test} ==> te+
|
||||
/eval -n ${cut:3,+,test} ==> tes+
|
||||
/eval -n ${cut:+3,+,test} ==> te+
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
/eval -n ${if:${info:term_width}>80?big:small} ==> big
|
||||
|
||||
|
||||
@@ -2121,19 +2121,27 @@ expanded to last):
|
||||
`+********+`
|
||||
|
||||
| `+${cut:max,suffix,string}+` +
|
||||
`+${cut:+max,suffix,string}+` +
|
||||
(_WeeChat ≥ 1.8_) |
|
||||
String with `max` chars, and optional `suffix` if string is cut. |
|
||||
String with `max` chars, and optional `suffix` if string is cut. +
|
||||
With the format `+max`, the suffix is counted in max length. |
|
||||
`+${cut:4,…,this is a test}+` +
|
||||
`+${cut:+4,…,this is a test}+` +
|
||||
`+${cut:2,>>,こんにちは世界}+` |
|
||||
`+this…+` +
|
||||
`+t…+` +
|
||||
`+こん>>+`
|
||||
|
||||
| `+${cutscr:max,suffix,string}+` +
|
||||
`+${cutscr:+max,suffix,string}+` +
|
||||
(_WeeChat ≥ 1.8_) |
|
||||
String with `max` chars displayed on screen, and optional `suffix` if string is cut. |
|
||||
String with `max` chars displayed on screen, and optional `suffix` if string is cut. +
|
||||
With the format `+max`, the suffix is counted in max length. |
|
||||
`+${cutscr:4,…,this is a test}+` +
|
||||
`+${cutscr:+4,…,this is a test}+` +
|
||||
`+${cutscr:2,>>,こんにちは世界}+` |
|
||||
`+this…+` +
|
||||
`+thi…+` +
|
||||
`+こ>>+`
|
||||
|
||||
| `+${re:N}+` +
|
||||
|
||||
@@ -257,54 +257,54 @@ infolists: インフォリストに関する情報を表示
|
||||
/eval [-n|-s] <expression>
|
||||
[-n] -c <expression1> <operator> <expression2>
|
||||
|
||||
-n: 結果をバッファに送信せずに表示 (デバッグモード)
|
||||
-s: 評価前に式を分割する (複数のコマンドを指定する場合はセミコロンで区切ってください)
|
||||
-c: 条件として評価: 演算子と括弧をを使い、ブール値 ("0" または "1") を返します
|
||||
expression: 評価する式、${variable} 型の書式の変数は置換されます (以下を参照); 複数のコマンドを指定する場合はセミコロンで区切ってください
|
||||
operator: 論理演算子や比較演算子:
|
||||
- 論理演算子:
|
||||
&& ブール演算の "and"
|
||||
|| ブール演算の "or"
|
||||
- 比較演算子:
|
||||
== 等しい
|
||||
!= 等しくない
|
||||
<= 以下
|
||||
< より少ない
|
||||
>= 以上
|
||||
> より大きい
|
||||
=~ 正規表現にマッチ
|
||||
!~ 正規表現にマッチしない
|
||||
-n: display result without sending it to buffer (debug mode)
|
||||
-s: split expression before evaluating it (many commands can be separated by semicolons)
|
||||
-c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1")
|
||||
expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons
|
||||
operator: a logical or comparison operator:
|
||||
- logical operators:
|
||||
&& boolean "and"
|
||||
|| boolean "or"
|
||||
- comparison operators:
|
||||
== equal
|
||||
!= not equal
|
||||
<= less or equal
|
||||
< less
|
||||
>= greater or equal
|
||||
> greater
|
||||
=~ is matching POSIX extended regex
|
||||
!~ is NOT matching POSIX extended regex
|
||||
|
||||
式が NULL でない場合、空でない場合、"0" でない場合、式は "真" と評価されます。
|
||||
両方の式が有効な整数である場合、比較は整数を使って行われます。
|
||||
文字列比較を強制するには、それぞれの式をダブルクォートで囲みます、例:
|
||||
An expression is considered as "true" if it is not NULL, not empty, and different from "0".
|
||||
The comparison is made using integers if the two expressions are valid integers.
|
||||
To force a string comparison, add double quotes around each expression, for example:
|
||||
50 > 100 ==> 0
|
||||
"50" > "100" ==> 1
|
||||
|
||||
式中の ${variable} 型の書式の変数は置換されます。変数は以下の優先順位に従います:
|
||||
1. 評価済みのサブ文字列 (書式: "eval:xxx")
|
||||
2. エスケープ文字を含む文字列 (書式: "esc:xxx" または "\xxx")
|
||||
3. 隠す文字を含む文字列 (書式: "hide:char,string")
|
||||
4. 最大文字数を指定した文字列 (書式: "cut:max,suffix,string")
|
||||
または最大文字表示幅を指定した文字列 (書式: "cutscr:max,suffix,string")
|
||||
5. 色 (書式: "color:xxx"、"プラグイン API リファレンス" の "color" 関数を参照してください)
|
||||
6. 情報 (書式: "info:name,arguments"、arguments は任意)
|
||||
7. 現在の日付/時刻 (書式: "date" または "date:format")
|
||||
8. 環境変数 (書式: "env:XXX")
|
||||
9. 三項演算子 (書式: "if:condition?value_if_true:value_if_false")
|
||||
10. オプション (書式: "file.section.option")
|
||||
11. バッファのローカル変数
|
||||
12. hdata の名前/変数 (値は自動的に文字列に変換されます)、デフォルトでは "window" と "buffer" は現在のウィンドウ/バッファを指します。
|
||||
hdata の書式は以下の 1 つです:
|
||||
hdata.var1.var2...: hdata (ポインタは既知) で開始し、1 個ずつ変数を続ける (他の hdata を続けることも可能)
|
||||
hdata[list].var1.var2...: リストを使う hdata で開始する、例:
|
||||
${buffer[gui_buffers].full_name}: バッファリストにリンクされた最初のバッファのフルネーム
|
||||
${plugin[weechat_plugins].name}: プラグインリストにリンクされた最初のプラグインの名前
|
||||
hdata[pointer].var1.var2...: ポインタを使う hdata で開始する、例:
|
||||
${buffer[0x1234abcd].full_name}: 与えたポインタを持つバッファの完全な名前 (トリガ中で使うことが可能です)
|
||||
hdata と変数の名前については、"プラグイン API リファレンス" の "weechat_hdata_get" 関数を参照してください。
|
||||
Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
|
||||
1. an evaluated sub-string (format: "eval:xxx")
|
||||
2. a string with escaped chars (format: "esc:xxx" or "\xxx")
|
||||
3. a string with chars to hide (format: "hide:char,string")
|
||||
4. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
|
||||
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
|
||||
5. a color (format: "color:xxx", see "Plugin API reference", function "color")
|
||||
6. an info (format: "info:name,arguments", arguments are optional)
|
||||
7. current date/time (format: "date" or "date:format")
|
||||
8. an environment variable (format: "env:XXX")
|
||||
9. a ternary operator (format: "if:condition?value_if_true:value_if_false")
|
||||
10. an option (format: "file.section.option")
|
||||
11. a local variable in buffer
|
||||
12. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
|
||||
Format for hdata can be one of following:
|
||||
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
|
||||
hdata[list].var1.var2...: start with a hdata using a list, for example:
|
||||
${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers
|
||||
${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins
|
||||
hdata[pointer].var1.var2...: start with a hdata using a pointer, for example:
|
||||
${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers)
|
||||
For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".
|
||||
|
||||
例 (単純な文字列):
|
||||
Examples (simple strings):
|
||||
/eval -n ${info:version} ==> 0.4.3
|
||||
/eval -n ${env:HOME} ==> /home/user
|
||||
/eval -n ${weechat.look.scroll_amount} ==> 3
|
||||
@@ -314,11 +314,12 @@ hdata と変数の名前については、"プラグイン API リファレン
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${cut:2,+,test} ==> te+
|
||||
/eval -n ${cut:3,+,test} ==> tes+
|
||||
/eval -n ${cut:+3,+,test} ==> te+
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
/eval -n ${if:${info:term_width}>80?big:small} ==> big
|
||||
|
||||
例 (条件):
|
||||
Examples (conditions):
|
||||
/eval -n -c ${window.buffer.number} > 2 ==> 0
|
||||
/eval -n -c ${window.win_width} > 100 ==> 1
|
||||
/eval -n -c (8 > 12) || (5 > 2) ==> 1
|
||||
|
||||
@@ -2048,20 +2048,30 @@ char *weechat_string_eval_expression (const char *expr,
|
||||
`+${hide:*,password}+` |
|
||||
`+********+`
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| `+${cut:max,suffix,string}+` +
|
||||
`+${cut:+max,suffix,string}+` +
|
||||
(_WeeChat バージョン 1.8 以上で利用可_) |
|
||||
`string` の先頭 `max` 文字とオプションの `suffix` 文字 (`string` の文字数が `max` 文字を超える場合) |
|
||||
`string` の先頭 `max` 文字とオプションの `suffix` 文字 (`string` の文字数が `max` 文字を超える場合) +
|
||||
With the format `+max`, the suffix is counted in max length. |
|
||||
`+${cut:4,…,this is a test}+` +
|
||||
`+${cut:+4,…,this is a test}+` +
|
||||
`+${cut:2,>>,こんにちは世界}+` |
|
||||
`+this…+` +
|
||||
`+t…+` +
|
||||
`+こん>>+`
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| `+${cutscr:max,suffix,string}+` +
|
||||
`+${cutscr:+max,suffix,string}+` +
|
||||
(_WeeChat バージョン 1.8 以上で利用可_) |
|
||||
`string` の先頭 `max` 文字 (半角文字幅換算) とオプションの `suffix` 文字 (`string` の文字数が `max` 文字を超える場合) |
|
||||
`string` の先頭 `max` 文字 (半角文字幅換算) とオプションの `suffix` 文字 (`string` の文字数が `max` 文字を超える場合) +
|
||||
With the format `+max`, the suffix is counted in max length. |
|
||||
`+${cutscr:4,…,this is a test}+` +
|
||||
`+${cutscr:+4,…,this is a test}+` +
|
||||
`+${cutscr:2,>>,こんにちは世界}+` |
|
||||
`+this…+` +
|
||||
`+thi…+` +
|
||||
`+こ>>+`
|
||||
|
||||
| `+${re:N}+` +
|
||||
|
||||
@@ -285,8 +285,8 @@ Some variables are replaced in expression, using the format ${variable}, variabl
|
||||
1. an evaluated sub-string (format: "eval:xxx")
|
||||
2. a string with escaped chars (format: "esc:xxx" or "\xxx")
|
||||
3. a string with chars to hide (format: "hide:char,string")
|
||||
4. a string with max chars (format: "cut:max,suffix,string")
|
||||
or max chars displayed on screen (format: "cutscr:max,suffix,string")
|
||||
4. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
|
||||
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
|
||||
5. a color (format: "color:xxx", see "Plugin API reference", function "color")
|
||||
6. an info (format: "info:name,arguments", arguments are optional)
|
||||
7. current date/time (format: "date" or "date:format")
|
||||
@@ -314,7 +314,8 @@ Examples (simple strings):
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${cut:2,+,test} ==> te+
|
||||
/eval -n ${cut:3,+,test} ==> tes+
|
||||
/eval -n ${cut:+3,+,test} ==> te+
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
/eval -n ${if:${info:term_width}>80?big:small} ==> big
|
||||
|
||||
|
||||
Reference in New Issue
Block a user