core: add search of regular expression in buffer, don't reset search type on a new search, select where to search (messages/prefixes)
Key changed in search context: - ctrl+"r": switch search type: string/regex New keys in search context: - alt+"c": case (in)sensitive search - tab: search in messages/prefixes/bothv2.8-utf8proc
parent
c624960336
commit
600ee3ddf3
|
@ -1,7 +1,7 @@
|
|||
WeeChat ChangeLog
|
||||
=================
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
v0.4.2-dev, 2013-08-16
|
||||
v0.4.2-dev, 2013-08-17
|
||||
|
||||
|
||||
This document lists all changes for each version.
|
||||
|
@ -14,6 +14,10 @@ http://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
|||
Version 0.4.2 (under dev!)
|
||||
--------------------------
|
||||
|
||||
* core: add search of regular expression in buffer, don't reset search type on
|
||||
a new search, select where to search (messages/prefixes), add keys in search
|
||||
context: alt+"c" (case (in)sensitive search), tab (search in
|
||||
messages/prefixes)
|
||||
* core: add text emphasis in messages when searching text in buffer, new
|
||||
options: weechat.look.emphasized_attributes, weechat.color.emphasized,
|
||||
weechat.color.emphasized_bg
|
||||
|
|
32
NEWS
32
NEWS
|
@ -1,7 +1,7 @@
|
|||
WeeChat Release Notes
|
||||
=====================
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
v0.4.2-dev, 2013-08-05
|
||||
v0.4.2-dev, 2013-08-17
|
||||
|
||||
|
||||
This document lists important changes for each version, that require manual
|
||||
|
@ -16,6 +16,36 @@ http://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
|
|||
Version 0.4.2 (under dev!)
|
||||
--------------------------
|
||||
|
||||
=== Regex search in buffer ===
|
||||
|
||||
Search with regular expression has been added, and therefore some keys in search
|
||||
context have been changed.
|
||||
|
||||
The key ctrl+"r" in search context is now used to switch string/regex search
|
||||
(instead of searching exact text).
|
||||
|
||||
If you never changed keys in search context, you can reset them all with one
|
||||
command:
|
||||
|
||||
----------------------------------------
|
||||
/key resetall -yes search
|
||||
----------------------------------------
|
||||
|
||||
Or the manual method:
|
||||
|
||||
----------------------------------------
|
||||
/key missing search
|
||||
/key bindctxt search ctrl-R /input search_switch_regex
|
||||
----------------------------------------
|
||||
|
||||
To view keys in search context:
|
||||
|
||||
----------------------------------------
|
||||
/key list search
|
||||
----------------------------------------
|
||||
|
||||
For more information, see the chapter about keys in the 'WeeChat User's guide'.
|
||||
|
||||
=== New rmodifier ===
|
||||
|
||||
A new rmodifier "secure" has been added to hide passphrase and passwords
|
||||
|
|
|
@ -529,6 +529,9 @@
|
|||
'num_history' (integer) +
|
||||
'text_search' (integer) +
|
||||
'text_search_exact' (integer) +
|
||||
'text_search_regex' (integer) +
|
||||
'text_search_regex_compiled' (pointer) +
|
||||
'text_search_where' (integer) +
|
||||
'text_search_found' (integer) +
|
||||
'text_search_input' (string) +
|
||||
'highlight_words' (string) +
|
||||
|
|
|
@ -342,56 +342,58 @@ value: Anzahl der gewünschten Einträgen im Befehlsverlauf anzeigen
|
|||
........................................
|
||||
/input <action> [<arguments>]
|
||||
|
||||
Auflistung der möglichen Funktionen:
|
||||
return: simuliert die "enter" Taste
|
||||
complete_next: vervollständigt Wort mit nächster Komplettierung
|
||||
complete_previous: vervollständigt Word mit vorheriger Komplettierung
|
||||
search_text: sucht nach Text im Buffer
|
||||
search_switch_case: schaltet Groß-/Kleinschreibung ein und aus
|
||||
search_previous: sucht vorheriger Zeile
|
||||
search_next: sucht nächste Zeile
|
||||
search_stop: suche stoppen
|
||||
delete_previous_char: entfernt vorheriges Zeichen
|
||||
delete_next_char: entfernt nächstes Zeichen
|
||||
delete_previous_word: entfernt vorheriges Wort
|
||||
delete_next_word: entfernt nächstes Wort
|
||||
delete_beginning_of_line: entfernt alle Zeichen ab Zeilenanfang bis zum Cursor
|
||||
delete_end_of_line: entfernt alle Zeichen ab Cursor bis zum Ende der Zeile
|
||||
delete_line: löscht die komplette Eingabezeile
|
||||
clipboard_paste: fügt Zeichenkette aus der Zwischenablage ein
|
||||
transpose_chars: Zeichen austauschen
|
||||
undo: letzten Befehl in der Eingabezeile rückgängig machen
|
||||
redo: letzten Befehl in der Eingabezeile wiederherstellen
|
||||
move_beginning_of_line: springt an den Anfang der Eingabezeile
|
||||
move_end_of_line: springt ans Ende der Eingabezeile
|
||||
move_previous_char: setzt den Cursor eine Position nach links
|
||||
move_next_char: setzt den Cursor eine Position nach rechts
|
||||
move_previous_word: springt zum Anfang des vorherigen Wortes, in der Eingabezeile
|
||||
move_next_word: springt zum Anfang des nächsten Wortes, in der Eingabezeile
|
||||
history_previous: ruft vorherigen Befehl oder Nachricht aus dem Befehlsspeicher auf (im Such-Modus: rückwärts suchen)
|
||||
history_next: ruft nächsten Befehl oder Nachricht aus dem Befehlsspeicher auf (im Such-Modus: vorwärts suchen)
|
||||
history_global_previous: ruft vorherigen Befehl/Nachricht aus dem globalen Befehlsspeicher auf (für alle Buffer)
|
||||
history_global_next: ruft nächsten Befehl/Nachricht aus dem globalen Befehlsspeicher auf (für alle Buffer)
|
||||
jump_smart: wechselt zum nächsten Buffer mit Aktivität (nach Priorität: highlight, Nachricht, …)
|
||||
jump_last_buffer: springt zum letzten Buffer, in der Bufferliste
|
||||
jump_last_buffer_displayed: wechselt zum jeweils zuletzt angezeigten Buffer
|
||||
jump_previously_visited_buffer: springt zum letzten besuchten Buffer
|
||||
jump_next_visited_buffer: springt zum nächsten besuchten Buffer
|
||||
hotlist_clear: löscht Hotliste (Aktivitätsanzeige für die Buffer)
|
||||
grab_key: fängt eine Taste (optionales Argument: Verzögerung um eine Taste einzufangen. Standard sind 500 Millisekunden)
|
||||
grab_key_command: zeigt den Tastencode (inklusive des eingebundenen Befehls) einer Tastenkombination an und fügt ihn in die Befehlszeile ein (optionales Argument: Verzögerung um eine Taste einzufangen. Standard sind 500 Millisekunden)
|
||||
grab_mouse: fängt den Code einer Maus Aktivität
|
||||
grab_mouse_area: fängt den Code einer Maus Aktivität mit entsprechendem Bereich
|
||||
set_unread: setzt für alle Buffer die Markierung der ungelesen Nachrichten
|
||||
set_unread_current_buffer: setzt nur für den aktuellen Buffer eine Markierung der ungelesen Nachrichten
|
||||
switch_active_buffer: springt zum nächsten zusammengefügten Buffer
|
||||
switch_active_buffer_previous: springt zum vorherigen zusammengefügten Buffer
|
||||
zoom_merged_buffer: zoomt in zusammengefügte Buffer
|
||||
insert: fügt einen Text in die Eingabezeile ein
|
||||
paste_start: Einfügen wird gestartet (bracketed paste mode)
|
||||
paste_stop: Einfügen wird beendet (bracketed paste mode)
|
||||
list of actions:
|
||||
return: simulate key "enter"
|
||||
complete_next: complete word with next completion
|
||||
complete_previous: complete word with previous completion
|
||||
search_text: search text in buffer
|
||||
search_switch_case: switch exact case for search
|
||||
search_switch_regex: switch search type: string/regular expression
|
||||
search_switch_where: switch search in messages/prefixes
|
||||
search_previous: search previous line
|
||||
search_next: search next line
|
||||
search_stop: stop search
|
||||
delete_previous_char: delete previous char
|
||||
delete_next_char: delete next char
|
||||
delete_previous_word: delete previous word
|
||||
delete_next_word: delete next word
|
||||
delete_beginning_of_line: delete from beginning of line until cursor
|
||||
delete_end_of_line: delete from cursor until end of line
|
||||
delete_line: delete entire line
|
||||
clipboard_paste: paste from clipboard
|
||||
transpose_chars: transpose two chars
|
||||
undo: undo last command line action
|
||||
redo: redo last command line action
|
||||
move_beginning_of_line: move cursor to beginning of line
|
||||
move_end_of_line: move cursor to end of line
|
||||
move_previous_char: move cursor to previous char
|
||||
move_next_char: move cursor to next char
|
||||
move_previous_word: move cursor to previous word
|
||||
move_next_word: move cursor to next word
|
||||
history_previous: recall previous command in current buffer history
|
||||
history_next: recall next command in current buffer history
|
||||
history_global_previous: recall previous command in global history
|
||||
history_global_next: recall next command in global history
|
||||
jump_smart: jump to next buffer with activity
|
||||
jump_last_buffer: jump to last buffer
|
||||
jump_last_buffer_displayed: jump to last buffer displayed (before last jump to a buffer)
|
||||
jump_previously_visited_buffer: jump to previously visited buffer
|
||||
jump_next_visited_buffer: jump to next visited buffer
|
||||
hotlist_clear: clear hotlist
|
||||
grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds)
|
||||
grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds)
|
||||
grab_mouse: grab mouse event code
|
||||
grab_mouse_area: grab mouse event code with area
|
||||
set_unread: set unread marker for all buffers
|
||||
set_unread_current_buffer: set unread marker for current buffer
|
||||
switch_active_buffer: switch to next merged buffer
|
||||
switch_active_buffer_previous: switch to previous merged buffer
|
||||
zoom_merged_buffer: zoom on merged buffer
|
||||
insert: insert text in command line
|
||||
paste_start: start paste (bracketed paste mode)
|
||||
paste_stop: stop paste (bracketed paste mode)
|
||||
|
||||
Dieser Befehl wird sinnvollerweise mittels Tastenbelegungen oder Erweiterungen genutzt.
|
||||
This command is used by key bindings or plugins.
|
||||
........................................
|
||||
|
||||
[[command_weechat_key]]
|
||||
|
|
|
@ -526,7 +526,8 @@ In der 'input' Bar lautet die Standardeinstellung:
|
|||
| input_paste | [Paste 7 lines ? [ctrl-Y] Ja [ctrl-N] Nein] | Nachfrage ob sieben Zeilen eingefügt werden sollen
|
||||
| input_prompt | [@Flashy] | input prompt (Nickname für den IRC)
|
||||
| away | (away) | Abwesenheitsanzeige
|
||||
| input_search | [Text search] | Textsuche
|
||||
// TRANSLATION MISSING
|
||||
| input_search | [Search (~ str,msg)] | search indicator ("`~`": case insensitive, "`==`": case sensitive, "`str`": search string, "`regex`": search regular expression, "`msg`": search in messages, "`pre`": search in prefixes, "`pre\|msg`": search in prefixes and messages)
|
||||
| input_text | hi peter! | Text der eingegeben wird
|
||||
|========================================
|
||||
|
||||
|
@ -1039,7 +1040,11 @@ in einem Buffer nach einem Text zu suchen).
|
|||
[width="100%",cols="^.^3,.^10,.^5l",options="header"]
|
||||
|========================================
|
||||
| Taste | Beschreibung | Befehl
|
||||
| @k(C-)@k(r) | auf Groß-/Kleinschreibung umschalten | /input search_switch_case
|
||||
// TRANSLATION MISSING
|
||||
| @k(C-)@k(r) | Switch search type: string (default), regular expression | /input search_switch_regex
|
||||
| @k(A-)@k(c) | auf Groß-/Kleinschreibung umschalten | /input search_switch_case
|
||||
// TRANSLATION MISSING
|
||||
| @k(Tab) | Switch search in: messages (default), prefixes, prefixes + messages | /input search_switch_where
|
||||
| @k(↑) | sucht vorheriger Zeile | /input search_previous
|
||||
| @k(↓) | sucht nächste Zeile | /input search_next
|
||||
| @k(Enter) .3+| Suche abbrechen .3+| /input search_stop
|
||||
|
|
|
@ -529,6 +529,9 @@
|
|||
'num_history' (integer) +
|
||||
'text_search' (integer) +
|
||||
'text_search_exact' (integer) +
|
||||
'text_search_regex' (integer) +
|
||||
'text_search_regex_compiled' (pointer) +
|
||||
'text_search_where' (integer) +
|
||||
'text_search_found' (integer) +
|
||||
'text_search_input' (string) +
|
||||
'highlight_words' (string) +
|
||||
|
|
|
@ -348,6 +348,8 @@ list of actions:
|
|||
complete_previous: complete word with previous completion
|
||||
search_text: search text in buffer
|
||||
search_switch_case: switch exact case for search
|
||||
search_switch_regex: switch search type: string/regular expression
|
||||
search_switch_where: switch search in messages/prefixes
|
||||
search_previous: search previous line
|
||||
search_next: search next line
|
||||
search_stop: stop search
|
||||
|
|
|
@ -526,7 +526,7 @@ Bar 'input' has following default items:
|
|||
| input_paste | [Paste 7 lines ? [ctrl-Y] Yes [ctrl-N] No] | question to user for pasting lines
|
||||
| input_prompt | [@Flashy] | input prompt (nick for irc plugin)
|
||||
| away | (away) | away indicator
|
||||
| input_search | [Text search] | text search indicator
|
||||
| input_search | [Search (~ str,msg)] | search indicator ("`~`": case insensitive, "`==`": case sensitive, "`str`": search string, "`regex`": search regular expression, "`msg`": search in messages, "`pre`": search in prefixes, "`pre\|msg`": search in prefixes and messages)
|
||||
| input_text | hi peter! | input text
|
||||
|========================================
|
||||
|
||||
|
@ -1027,7 +1027,9 @@ text in buffer).
|
|||
[width="100%",cols="^.^3,.^10,.^5l",options="header"]
|
||||
|========================================
|
||||
| Key | Description | Command
|
||||
| @k(C-)@k(r) | Switch exact case for search | /input search_switch_case
|
||||
| @k(C-)@k(r) | Switch search type: string (default), regular expression | /input search_switch_regex
|
||||
| @k(A-)@k(c) | Switch exact case for search | /input search_switch_case
|
||||
| @k(Tab) | Switch search in: messages (default), prefixes, prefixes + messages | /input search_switch_where
|
||||
| @k(↑) | Search previous line | /input search_previous
|
||||
| @k(↓) | Search next line | /input search_next
|
||||
| @k(Enter) .3+| Stop search .3+| /input search_stop
|
||||
|
|
|
@ -529,6 +529,9 @@
|
|||
'num_history' (integer) +
|
||||
'text_search' (integer) +
|
||||
'text_search_exact' (integer) +
|
||||
'text_search_regex' (integer) +
|
||||
'text_search_regex_compiled' (pointer) +
|
||||
'text_search_where' (integer) +
|
||||
'text_search_found' (integer) +
|
||||
'text_search_input' (string) +
|
||||
'highlight_words' (string) +
|
||||
|
|
|
@ -348,6 +348,8 @@ liste des actions:
|
|||
complete_previous: compléter le mot avec la complétion précédente
|
||||
search_text: chercher du texte dans le tampon
|
||||
search_switch_case: basculer la casse exacte pour la recherche
|
||||
search_switch_regex: basculer le type de recherche: chaîne/expression régulière
|
||||
search_switch_where: basculer la recherche dans les messages/préfixes
|
||||
search_previous: chercher la ligne précédente
|
||||
search_next: chercher la ligne suivante
|
||||
search_stop: arrêter la recherche
|
||||
|
|
|
@ -536,7 +536,7 @@ La barre 'input' contient les objets (items) suivants par défaut :
|
|||
| input_paste | [Coller 7 lignes ? [ctrl-Y] Oui [ctrl-N] Non] | question à l'utilisateur pour coller des lignes
|
||||
| input_prompt | [@Flashy] | prompt (pseudo pour l'extension irc)
|
||||
| away | (absent) | indicateur d'absence
|
||||
| input_search | [Recherche texte] | indicateur de recherche de texte
|
||||
| input_search | [Recherche (~ str,msg)] | indicateur de recherche de texte ("`~`" : insensible à la casse, "`==`" : sensible à la casse, "`str`" : recherche de chaîne, "`regex`" : recherche d'expression régulière, "`msg`" : recherche dans les messages, "`pre`" : recherche dans les préfixes, "`pre\|msg`" : recherche dans les préfixes et messages)
|
||||
| input_text | salut peter ! | texte entré
|
||||
|========================================
|
||||
|
||||
|
@ -1051,7 +1051,9 @@ pressé pour chercher du texte dans le tampon).
|
|||
[width="100%",cols="^.^3,.^10,.^5l",options="header"]
|
||||
|========================================
|
||||
| Touche | Description | Commande
|
||||
| @k(C-)@k(r) | Basculer la casse exacte pour la recherche | /input search_switch_case
|
||||
| @k(C-)@k(r) | Basculer le type de recherche : chaîne (par défaut), expression régulière | /input search_switch_regex
|
||||
| @k(A-)@k(c) | Basculer la casse exacte pour la recherche | /input search_switch_case
|
||||
| @k(Tab) | Basculer la recherche dans : les messages (par défaut), les préfixes, les préfixes + messages | /input search_switch_where
|
||||
| @k(↑) | Chercher la ligne précédente | /input search_previous
|
||||
| @k(↓) | Chercher la ligne suivante | /input search_next
|
||||
| @k(Enter) .3+| Arrêter la recherche .3+| /input search_stop
|
||||
|
|
|
@ -529,6 +529,9 @@
|
|||
'num_history' (integer) +
|
||||
'text_search' (integer) +
|
||||
'text_search_exact' (integer) +
|
||||
'text_search_regex' (integer) +
|
||||
'text_search_regex_compiled' (pointer) +
|
||||
'text_search_where' (integer) +
|
||||
'text_search_found' (integer) +
|
||||
'text_search_input' (string) +
|
||||
'highlight_words' (string) +
|
||||
|
|
|
@ -348,6 +348,8 @@ list of actions:
|
|||
complete_previous: complete word with previous completion
|
||||
search_text: search text in buffer
|
||||
search_switch_case: switch exact case for search
|
||||
search_switch_regex: switch search type: string/regular expression
|
||||
search_switch_where: switch search in messages/prefixes
|
||||
search_previous: search previous line
|
||||
search_next: search next line
|
||||
search_stop: stop search
|
||||
|
|
|
@ -546,7 +546,8 @@ La barra 'input' ha i seguenti elementi predefiniti:
|
|||
| input_paste | [Incollare 7 righe ? [ctrl-Y] Sì [ctrl-N] No] | chiede all'utente se incollare le righe
|
||||
| input_prompt | [@Flashy] | prompt per l'input (nick per il plugin irc)
|
||||
| away | (assente) | indicatore di assenza
|
||||
| input_search | [Ricerca testo] | indicatore di ricerca testo
|
||||
// TRANSLATION MISSING
|
||||
| input_search | [Search (~ str,msg)] | search indicator ("`~`": case insensitive, "`==`": case sensitive, "`str`": search string, "`regex`": search regular expression, "`msg`": search in messages, "`pre`": search in prefixes, "`pre\|msg`": search in prefixes and messages)
|
||||
| input_text | ciao peter! | testo in input
|
||||
|========================================
|
||||
|
||||
|
@ -1051,7 +1052,11 @@ Questi tasti sono usati nel contesto "search" (quando viene digitato
|
|||
[width="100%",cols="^.^3,.^10,.^5l",options="header"]
|
||||
|========================================
|
||||
| Key | Descrizione | Comando
|
||||
| @k(C-)@k(r) | Passa alla ricerca esatta | /input search_switch_case
|
||||
// TRANSLATION MISSING
|
||||
| @k(C-)@k(r) | Switch search type: string (default), regular expression | /input search_switch_regex
|
||||
| @k(A-)@k(c) | Passa alla ricerca esatta | /input search_switch_case
|
||||
// TRANSLATION MISSING
|
||||
| @k(Tab) | Switch search in: messages (default), prefixes, prefixes + messages | /input search_switch_where
|
||||
| @k(↑) | Cerca riga precedente | /input search_previous
|
||||
| @k(↓) | Cerca riga successiva | /input search_next
|
||||
| @k(Invio) .3+| Ferma ricerca .3+| /input search_stop
|
||||
|
|
|
@ -529,6 +529,9 @@
|
|||
'num_history' (integer) +
|
||||
'text_search' (integer) +
|
||||
'text_search_exact' (integer) +
|
||||
'text_search_regex' (integer) +
|
||||
'text_search_regex_compiled' (pointer) +
|
||||
'text_search_where' (integer) +
|
||||
'text_search_found' (integer) +
|
||||
'text_search_input' (string) +
|
||||
'highlight_words' (string) +
|
||||
|
|
|
@ -342,56 +342,58 @@ value: 表示する履歴エントリの数
|
|||
........................................
|
||||
/input <action> [<arguments>]
|
||||
|
||||
アクションリスト:
|
||||
return: "enter" キーをシミュレート
|
||||
complete_next: 次の補完候補で単語を補完
|
||||
complete_previous: 一つ前の補完候補で単語を補完
|
||||
search_text: バッファ内のテキストを検索
|
||||
search_switch_case: 完全一致検索に変更
|
||||
search_previous: 一つ前の行を検索
|
||||
search_next: 次の行を検索
|
||||
search_stop: 検索を終了
|
||||
delete_previous_char: 一つ前の文字を削除
|
||||
delete_next_char: 次の文字を削除
|
||||
delete_previous_word: 一つ前の単語を削除
|
||||
delete_next_word: 次の単語を削除
|
||||
delete_beginning_of_line: 行の最初からカーソル位置までを削除
|
||||
delete_end_of_line: カーソルから行の最後までを削除
|
||||
delete_line: 行を削除
|
||||
clipboard_paste: クリップボードから貼り付け
|
||||
transpose_chars: 2 つの文字を入れ替え
|
||||
undo: 最新のコマンドラインアクションまで元に戻す
|
||||
redo: 最新のコマンドラインアクションまでやり直す
|
||||
move_beginning_of_line: カーソルを行頭に移動
|
||||
move_end_of_line: カーソルを行末まで移動
|
||||
move_previous_char: カーソルを一つ前の文字に移動
|
||||
move_next_char: カーソルを次の文字に移動
|
||||
move_previous_word: カーソルを一つ前の単語に移動
|
||||
move_next_word: カーソルを次の単語に移動
|
||||
history_previous: 現在のバッファ履歴のひとつ前のコマンドを再呼び出し
|
||||
history_next: 現在のバッファ履歴の次のコマンドを再呼び出し
|
||||
history_global_previous: グローバル履歴の一つ前のコマンドを再呼び出し
|
||||
history_global_next: グローバル履歴の次のコマンドを再呼び出し
|
||||
jump_smart: 次のアクティブバッファに飛ぶ
|
||||
jump_last_buffer: 最後のバッファに移動
|
||||
jump_last_buffer_displayed: 表示されている最後のバッファに移動 (最新のバッファ移動の一つ前に表示されていたバッファ)
|
||||
jump_previously_visited_buffer: 一つ前に訪れたバッファに移動
|
||||
jump_next_visited_buffer: 次に訪れたバッファに移動
|
||||
hotlist_clear: ホットリストを消去
|
||||
grab_key: キーを横取りする (オプション引数: 最後の横取りからの遅延時間、デフォルトは 500 ミリ秒)
|
||||
grab_key_command: あるコマンドに関連してキーを横取りする (オプション引数: 最後の横取りからの遅延時間、デフォルトは 500 ミリ秒)
|
||||
grab_mouse: grab マウスイベントコードを横取り
|
||||
grab_mouse_area: 範囲指定のマウスイベントコードを横取り
|
||||
set_unread: 全てのバッファに対して未読マーカーを設定
|
||||
set_unread_current_buffer: 現在のバッファに対して未読マーカーを設定
|
||||
switch_active_buffer: 次のマージされたバッファに移動
|
||||
switch_active_buffer_previous: 一つ前のマージされたバッファに移動
|
||||
zoom_merged_buffer: マージされたバッファにズーム
|
||||
insert: コマンドラインにテキストを挿入
|
||||
paste_start: ペーストの開始 (括弧付きペーストモード)
|
||||
paste_stop: ペーストの終了 (括弧付きペーストモード)
|
||||
list of actions:
|
||||
return: simulate key "enter"
|
||||
complete_next: complete word with next completion
|
||||
complete_previous: complete word with previous completion
|
||||
search_text: search text in buffer
|
||||
search_switch_case: switch exact case for search
|
||||
search_switch_regex: switch search type: string/regular expression
|
||||
search_switch_where: switch search in messages/prefixes
|
||||
search_previous: search previous line
|
||||
search_next: search next line
|
||||
search_stop: stop search
|
||||
delete_previous_char: delete previous char
|
||||
delete_next_char: delete next char
|
||||
delete_previous_word: delete previous word
|
||||
delete_next_word: delete next word
|
||||
delete_beginning_of_line: delete from beginning of line until cursor
|
||||
delete_end_of_line: delete from cursor until end of line
|
||||
delete_line: delete entire line
|
||||
clipboard_paste: paste from clipboard
|
||||
transpose_chars: transpose two chars
|
||||
undo: undo last command line action
|
||||
redo: redo last command line action
|
||||
move_beginning_of_line: move cursor to beginning of line
|
||||
move_end_of_line: move cursor to end of line
|
||||
move_previous_char: move cursor to previous char
|
||||
move_next_char: move cursor to next char
|
||||
move_previous_word: move cursor to previous word
|
||||
move_next_word: move cursor to next word
|
||||
history_previous: recall previous command in current buffer history
|
||||
history_next: recall next command in current buffer history
|
||||
history_global_previous: recall previous command in global history
|
||||
history_global_next: recall next command in global history
|
||||
jump_smart: jump to next buffer with activity
|
||||
jump_last_buffer: jump to last buffer
|
||||
jump_last_buffer_displayed: jump to last buffer displayed (before last jump to a buffer)
|
||||
jump_previously_visited_buffer: jump to previously visited buffer
|
||||
jump_next_visited_buffer: jump to next visited buffer
|
||||
hotlist_clear: clear hotlist
|
||||
grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds)
|
||||
grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds)
|
||||
grab_mouse: grab mouse event code
|
||||
grab_mouse_area: grab mouse event code with area
|
||||
set_unread: set unread marker for all buffers
|
||||
set_unread_current_buffer: set unread marker for current buffer
|
||||
switch_active_buffer: switch to next merged buffer
|
||||
switch_active_buffer_previous: switch to previous merged buffer
|
||||
zoom_merged_buffer: zoom on merged buffer
|
||||
insert: insert text in command line
|
||||
paste_start: start paste (bracketed paste mode)
|
||||
paste_stop: stop paste (bracketed paste mode)
|
||||
|
||||
これらのコマンドはキーバインドかプラグインで利用できます。
|
||||
This command is used by key bindings or plugins.
|
||||
........................................
|
||||
|
||||
[[command_weechat_key]]
|
||||
|
|
|
@ -516,7 +516,8 @@ WeeChat を起動したターミナルの例:
|
|||
| input_paste | [Paste 7 lines ? [ctrl-Y] Yes [ctrl-N] No] | 行をペーストする場合にユーザへ行われる質問
|
||||
| input_prompt | [@Flashy] | 入力プロンプト (irc プラグインの場合はニックネーム)
|
||||
| away | (away) | 離席状態表示
|
||||
| input_search | [Text search] | テキスト検索表示
|
||||
// TRANSLATION MISSING
|
||||
| input_search | [Search (~ str,msg)] | search indicator ("`~`": case insensitive, "`==`": case sensitive, "`str`": search string, "`regex`": search regular expression, "`msg`": search in messages, "`pre`": search in prefixes, "`pre\|msg`": search in prefixes and messages)
|
||||
| input_text | hi peter! | 入力テキスト
|
||||
|========================================
|
||||
|
||||
|
@ -1007,7 +1008,11 @@ irc サーバ "freenode" に含まれる全てのバッファに対して設定
|
|||
[width="100%",cols="^.^3,.^10,.^5l",options="header"]
|
||||
|========================================
|
||||
| キー | 説明 | コマンド
|
||||
| @k(C-)@k(r) | 大文字小文字を区別して検索 | /input search_switch_case
|
||||
// TRANSLATION MISSING
|
||||
| @k(C-)@k(r) | Switch search type: string (default), regular expression | /input search_switch_regex
|
||||
| @k(A-)@k(c) | 大文字小文字を区別して検索 | /input search_switch_case
|
||||
// TRANSLATION MISSING
|
||||
| @k(Tab) | Switch search in: messages (default), prefixes, prefixes + messages | /input search_switch_where
|
||||
| @k(↑) | 前のキーワードで検索 | /input search_previous
|
||||
| @k(↓) | 次のキーワードで検索 | /input search_next
|
||||
| @k(Enter) .3+| 検索を終了 .3+| /input search_stop
|
||||
|
|
22
po/cs.po
22
po/cs.po
|
@ -20,8 +20,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-07-31 18:41+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 10:37+0200\n"
|
||||
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: cs\n"
|
||||
|
@ -1507,6 +1507,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -3856,11 +3858,8 @@ msgstr[0] "%sVložit %d řádků ? [ctrl-Y] Ano [ctrl-N] Ne"
|
|||
msgstr[1] "%sVložit %d řádků ? [ctrl-Y] Ano [ctrl-N] Ne"
|
||||
msgstr[2] "%sVložit %d řádků ? [ctrl-Y] Ano [ctrl-N] Ne"
|
||||
|
||||
msgid "Text search"
|
||||
msgstr "Vyhledávání textu"
|
||||
|
||||
msgid "Text search (exact)"
|
||||
msgstr "Vyhledávání textu (přesné)"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s-MORE(%d)-"
|
||||
|
@ -9789,12 +9788,3 @@ msgstr ""
|
|||
|
||||
msgid "Constants"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "time format for date displayed when day changed"
|
||||
#~ msgstr "formát času pro zobrazení dne při změně dne"
|
||||
|
||||
#~ msgid "username for SASL authentication"
|
||||
#~ msgstr "uživatelské jméno pro SASL autentizaci"
|
||||
|
||||
#~ msgid "password for SASL authentication"
|
||||
#~ msgstr "heslo pro SASL autentizaci"
|
||||
|
|
14
po/de.po
14
po/de.po
|
@ -22,8 +22,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-08-12 09:02+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 10:37+0200\n"
|
||||
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
|
||||
"Language-Team: German <weechatter@arcor.de>\n"
|
||||
"Language: de_DE\n"
|
||||
|
@ -1620,6 +1620,7 @@ msgstr "Funktionen für die Befehlszeile"
|
|||
msgid "<action> [<arguments>]"
|
||||
msgstr "<action> [<arguments>]"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"list of actions:\n"
|
||||
" return: simulate key \"enter\"\n"
|
||||
|
@ -1627,6 +1628,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -4388,11 +4391,8 @@ msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
|
|||
msgstr[0] "%s%d Zeile einfügen? [Strg-Y] Ja [Strg-N] Nein"
|
||||
msgstr[1] "%s%d Zeilen einfügen? [Strg-Y] Ja [Strgl-N] Nein"
|
||||
|
||||
msgid "Text search"
|
||||
msgstr "Textsuche"
|
||||
|
||||
msgid "Text search (exact)"
|
||||
msgstr "Textsuche (genau)"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s-MORE(%d)-"
|
||||
|
|
23
po/es.po
23
po/es.po
|
@ -22,8 +22,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-07-31 18:41+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 10:37+0200\n"
|
||||
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: es\n"
|
||||
|
@ -1537,6 +1537,7 @@ msgstr "funciones para la línea de comandos"
|
|||
msgid "<action> [<arguments>]"
|
||||
msgstr "<acción> [<argumentos>]"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"list of actions:\n"
|
||||
" return: simulate key \"enter\"\n"
|
||||
|
@ -1544,6 +1545,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -4056,11 +4059,8 @@ msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
|
|||
msgstr[0] "%sPegar %d línea ? [ctrl-Y] Sí [ctrl-N] No"
|
||||
msgstr[1] "%sPegar %d líneas ? [ctrl-Y] Sí [ctrl-N] No"
|
||||
|
||||
msgid "Text search"
|
||||
msgstr "Búsqueda de texto"
|
||||
|
||||
msgid "Text search (exact)"
|
||||
msgstr "Búsqueda de texto (exacto)"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s-MORE(%d)-"
|
||||
|
@ -10044,12 +10044,3 @@ msgstr "Tipo"
|
|||
|
||||
msgid "Constants"
|
||||
msgstr "Constantes"
|
||||
|
||||
#~ msgid "time format for date displayed when day changed"
|
||||
#~ msgstr "formato para la fecha mostrada cuando el día cambió"
|
||||
|
||||
#~ msgid "username for SASL authentication"
|
||||
#~ msgstr "nombre de usuario para la autenticación SASL"
|
||||
|
||||
#~ msgid "password for SASL authentication"
|
||||
#~ msgstr "clave para la autenticación SASL"
|
||||
|
|
43
po/fr.po
43
po/fr.po
|
@ -21,8 +21,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-08-16 15:18+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 11:50+0200\n"
|
||||
"Last-Translator: Sebastien Helleu <flashcode@flashtux.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -1601,6 +1601,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -1655,6 +1657,9 @@ msgstr ""
|
|||
" complete_previous: compléter le mot avec la complétion précédente\n"
|
||||
" search_text: chercher du texte dans le tampon\n"
|
||||
" search_switch_case: basculer la casse exacte pour la recherche\n"
|
||||
" search_switch_regex: basculer le type de recherche: chaîne/expression "
|
||||
"régulière\n"
|
||||
" search_switch_where: basculer la recherche dans les messages/préfixes\n"
|
||||
" search_previous: chercher la ligne précédente\n"
|
||||
" search_next: chercher la ligne suivante\n"
|
||||
" search_stop: arrêter la recherche\n"
|
||||
|
@ -4285,11 +4290,8 @@ msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
|
|||
msgstr[0] "%sColler %d ligne ? [ctrl-Y] Oui [ctrl-N] Non"
|
||||
msgstr[1] "%sColler %d lignes ? [ctrl-Y] Oui [ctrl-N] Non"
|
||||
|
||||
msgid "Text search"
|
||||
msgstr "Recherche texte"
|
||||
|
||||
msgid "Text search (exact)"
|
||||
msgstr "Recherche texte (exact)"
|
||||
msgid "Search"
|
||||
msgstr "Recherche"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-MORE(%d)-"
|
||||
|
@ -10527,30 +10529,3 @@ msgstr "Type"
|
|||
|
||||
msgid "Constants"
|
||||
msgstr "Constantes"
|
||||
|
||||
#~ msgid "text color for emphasized text (for example when searching text)"
|
||||
#~ msgstr ""
|
||||
#~ "couleur du texte pour le texte mis en valeur (par exemple lors d'une "
|
||||
#~ "recherche de texte)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "background color for emphasized text (for example when searching text)"
|
||||
#~ msgstr ""
|
||||
#~ "couleur du fond pour le texte mis en valeur (par exemple lors de la "
|
||||
#~ "recherche de texte)"
|
||||
|
||||
#~ msgid "time format for date displayed when day changed"
|
||||
#~ msgstr "format de date pour la date affichée quand le jour a changé"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "To recover your secured data, you can issue commands: \"/secure "
|
||||
#~ "passphrase xxx\" and \"/reload sec\""
|
||||
#~ msgstr ""
|
||||
#~ "Pour récupérer vos données sécurisées, vous pouvez lancer les commandes: "
|
||||
#~ "\"/secure passphrase xxx\" et \"/reload sec\""
|
||||
|
||||
#~ msgid "username for SASL authentication"
|
||||
#~ msgstr "nom d'utilisateur pour l'authentification SASL"
|
||||
|
||||
#~ msgid "password for SASL authentication"
|
||||
#~ msgstr "mot de passe pour l'authentification SASL"
|
||||
|
|
23
po/hu.po
23
po/hu.po
|
@ -20,8 +20,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-07-31 18:41+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 10:37+0200\n"
|
||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: hu\n"
|
||||
|
@ -1376,6 +1376,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -3485,13 +3487,8 @@ msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
|
|||
msgstr[0] " Beszúrható %d sor? [ctrl-Y] Igen [ctrl-N] Nem"
|
||||
msgstr[1] " Beszúrható %d sor? [ctrl-Y] Igen [ctrl-N] Nem"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Text search"
|
||||
msgstr "Szöveg keresése: "
|
||||
|
||||
#, fuzzy
|
||||
msgid "Text search (exact)"
|
||||
msgstr "Szöveg keresése (pontos): "
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s-MORE(%d)-"
|
||||
|
@ -9230,11 +9227,3 @@ msgstr ""
|
|||
|
||||
msgid "Constants"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "username for SASL authentication"
|
||||
#~ msgstr "SSL használata a a kapcsolathoz"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "password for SASL authentication"
|
||||
#~ msgstr "SSL használata a a kapcsolathoz"
|
||||
|
|
22
po/it.po
22
po/it.po
|
@ -20,8 +20,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-07-31 18:41+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 10:37+0200\n"
|
||||
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: it\n"
|
||||
|
@ -1589,6 +1589,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -4125,11 +4127,8 @@ msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
|
|||
msgstr[0] "%sIncollare %d riga? [ctrl-Y] Sì [ctrl-N] No"
|
||||
msgstr[1] "%sIncollare %d righe? [ctrl-Y] Sì [ctrl-N] No"
|
||||
|
||||
msgid "Text search"
|
||||
msgstr "Ricerca testo"
|
||||
|
||||
msgid "Text search (exact)"
|
||||
msgstr "Ricerca testo (esatta)"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s-MORE(%d)-"
|
||||
|
@ -10142,12 +10141,3 @@ msgstr "Tipo"
|
|||
|
||||
msgid "Constants"
|
||||
msgstr "Costanti"
|
||||
|
||||
#~ msgid "time format for date displayed when day changed"
|
||||
#~ msgstr "formato dell'ora visualizzato al cambio di data"
|
||||
|
||||
#~ msgid "username for SASL authentication"
|
||||
#~ msgstr "nome utente per l'autenticazione SASL"
|
||||
|
||||
#~ msgid "password for SASL authentication"
|
||||
#~ msgstr "password per l'autenticazione SASL"
|
||||
|
|
23
po/ja.po
23
po/ja.po
|
@ -20,8 +20,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-08-02 08:50+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 10:37+0200\n"
|
||||
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
|
||||
"Language-Team: Japanese <https://github.com/l/WeeChat>\n"
|
||||
"Language: ja\n"
|
||||
|
@ -1558,6 +1558,7 @@ msgstr "コマンドライン関数"
|
|||
msgid "<action> [<arguments>]"
|
||||
msgstr "<action> [<arguments>]"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"list of actions:\n"
|
||||
" return: simulate key \"enter\"\n"
|
||||
|
@ -1565,6 +1566,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -4049,11 +4052,8 @@ msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No"
|
|||
msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
|
||||
msgstr[0] "%s %d 行を貼り付けますか? [ctrl-Y] はい [ctrl-N] いいえ"
|
||||
|
||||
msgid "Text search"
|
||||
msgstr "テキスト検索"
|
||||
|
||||
msgid "Text search (exact)"
|
||||
msgstr "テキスト検索 (完全一致)"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s-MORE(%d)-"
|
||||
|
@ -10097,12 +10097,3 @@ msgstr "タイプ"
|
|||
|
||||
msgid "Constants"
|
||||
msgstr "定数"
|
||||
|
||||
#~ msgid "time format for date displayed when day changed"
|
||||
#~ msgstr "日付が変わったときに表示される時間フォーマット"
|
||||
|
||||
#~ msgid "username for SASL authentication"
|
||||
#~ msgstr "SASL 認証用ユーザ名"
|
||||
|
||||
#~ msgid "password for SASL authentication"
|
||||
#~ msgstr "SASL 認証用パスワード"
|
||||
|
|
23
po/pl.po
23
po/pl.po
|
@ -21,8 +21,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-08-02 08:50+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 10:37+0200\n"
|
||||
"Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: pl\n"
|
||||
|
@ -1595,6 +1595,7 @@ msgstr "funkcje linii komend"
|
|||
msgid "<action> [<arguments>]"
|
||||
msgstr "<akcja> [<argumenty>]"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"list of actions:\n"
|
||||
" return: simulate key \"enter\"\n"
|
||||
|
@ -1602,6 +1603,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -4134,11 +4137,8 @@ msgstr[0] "%sWkleić %d linię ? [ctrl-Y] Tak [ctrl-N] Nie"
|
|||
msgstr[1] "%sWkleić %d linii ? [ctrl-Y] Tak [ctrl-N] Nie"
|
||||
msgstr[2] "%sWkleić %d linii ? [ctrl-Y] Tak [ctrl-N] Nie"
|
||||
|
||||
msgid "Text search"
|
||||
msgstr "Wyszukiwanie teksu"
|
||||
|
||||
msgid "Text search (exact)"
|
||||
msgstr "Wyszukiwanie tekstu (dokładne)"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s-MORE(%d)-"
|
||||
|
@ -10255,12 +10255,3 @@ msgstr "Typ"
|
|||
|
||||
msgid "Constants"
|
||||
msgstr "Stałe"
|
||||
|
||||
#~ msgid "time format for date displayed when day changed"
|
||||
#~ msgstr "format czasu wyświetlanej daty przy zmianie dnia"
|
||||
|
||||
#~ msgid "username for SASL authentication"
|
||||
#~ msgstr "nazwa użytkownika dla uwierzytelniania SASL"
|
||||
|
||||
#~ msgid "password for SASL authentication"
|
||||
#~ msgstr "hasło dla uwierzytelniania SASL"
|
||||
|
|
22
po/pt_BR.po
22
po/pt_BR.po
|
@ -21,8 +21,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-07-31 18:42+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 10:37+0200\n"
|
||||
"Last-Translator: Sergio Durigan Junior <sergiosdj@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
|
@ -1573,6 +1573,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -3947,11 +3949,8 @@ msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
|
|||
msgstr[0] "%sColar %d linhas ? [ctrl-Y] Sim [ctrl-N] Não"
|
||||
msgstr[1] "%sColar %d linhas ? [ctrl-Y] Sim [ctrl-N] Não"
|
||||
|
||||
msgid "Text search"
|
||||
msgstr "Busca de texto"
|
||||
|
||||
msgid "Text search (exact)"
|
||||
msgstr "Busca de texto (exata)"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s-MORE(%d)-"
|
||||
|
@ -9423,12 +9422,3 @@ msgstr ""
|
|||
|
||||
msgid "Constants"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "time format for date displayed when day changed"
|
||||
#~ msgstr "formato de hora tempo para a data mostrada quando o dia muda"
|
||||
|
||||
#~ msgid "username for SASL authentication"
|
||||
#~ msgstr "nome de usuário para autenticação SASL"
|
||||
|
||||
#~ msgid "password for SASL authentication"
|
||||
#~ msgstr "senha para autenticação SASL"
|
||||
|
|
23
po/ru.po
23
po/ru.po
|
@ -21,8 +21,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-07-31 18:42+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 10:37+0200\n"
|
||||
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: ru\n"
|
||||
|
@ -1397,6 +1397,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -3518,13 +3520,8 @@ msgstr[0] " Вставить %d строк ? [ctrl-Y] Да [ctrl-N] Нет"
|
|||
msgstr[1] " Вставить %d строк ? [ctrl-Y] Да [ctrl-N] Нет"
|
||||
msgstr[2] " Вставить %d строк ? [ctrl-Y] Да [ctrl-N] Нет"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Text search"
|
||||
msgstr "Поиск текста: "
|
||||
|
||||
#, fuzzy
|
||||
msgid "Text search (exact)"
|
||||
msgstr "Поиск текста (регистрозависимый): "
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s-MORE(%d)-"
|
||||
|
@ -9250,11 +9247,3 @@ msgstr ""
|
|||
|
||||
msgid "Constants"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "username for SASL authentication"
|
||||
#~ msgstr "использовать SSL при связи с сервером"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "password for SASL authentication"
|
||||
#~ msgstr "использовать SSL при связи с сервером"
|
||||
|
|
17
po/tr.po
17
po/tr.po
|
@ -20,8 +20,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"PO-Revision-Date: 2013-07-31 18:42+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-08-17 10:37+0200\n"
|
||||
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: tr\n"
|
||||
|
@ -1236,6 +1236,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -3120,10 +3122,7 @@ msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No"
|
|||
msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
|
||||
msgstr[0] ""
|
||||
|
||||
msgid "Text search"
|
||||
msgstr "Metin arama"
|
||||
|
||||
msgid "Text search (exact)"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
|
@ -8252,9 +8251,3 @@ msgstr "Tür"
|
|||
|
||||
msgid "Constants"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "username for SASL authentication"
|
||||
#~ msgstr "SASL kimlik doğrulaması için kullanıcı adı"
|
||||
|
||||
#~ msgid "password for SASL authentication"
|
||||
#~ msgstr "SASL kimlik doğrulaması için parola"
|
||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.4.1-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2013-08-16 15:18+0200\n"
|
||||
"POT-Creation-Date: 2013-08-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2013-02-14 18:20+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
|
@ -1242,6 +1242,8 @@ msgid ""
|
|||
" complete_previous: complete word with previous completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
@ -3125,10 +3127,7 @@ msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
|
|||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
msgid "Text search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Text search (exact)"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
|
|
|
@ -2507,6 +2507,10 @@ COMMAND_CALLBACK(input)
|
|||
gui_input_search_next (buffer);
|
||||
else if (string_strcasecmp (argv[1], "search_switch_case") == 0)
|
||||
gui_input_search_switch_case (buffer);
|
||||
else if (string_strcasecmp (argv[1], "search_switch_regex") == 0)
|
||||
gui_input_search_switch_regex (buffer);
|
||||
else if (string_strcasecmp (argv[1], "search_switch_where") == 0)
|
||||
gui_input_search_switch_where (buffer);
|
||||
else if (string_strcasecmp (argv[1], "search_stop") == 0)
|
||||
gui_input_search_stop (buffer);
|
||||
else if (string_strcasecmp (argv[1], "delete_previous_char") == 0)
|
||||
|
@ -6523,6 +6527,8 @@ command_init ()
|
|||
"completion\n"
|
||||
" search_text: search text in buffer\n"
|
||||
" search_switch_case: switch exact case for search\n"
|
||||
" search_switch_regex: switch search type: string/regular expression\n"
|
||||
" search_switch_where: switch search in messages/prefixes\n"
|
||||
" search_previous: search previous line\n"
|
||||
" search_next: search next line\n"
|
||||
" search_stop: stop search\n"
|
||||
|
|
|
@ -1201,12 +1201,15 @@ gui_chat_display_line (struct t_gui_window *window, struct t_gui_line *line,
|
|||
ptr_data = (message_with_tags) ?
|
||||
message_with_tags : line->data->message;
|
||||
message_with_search = NULL;
|
||||
if (window->buffer->text_search != GUI_TEXT_SEARCH_DISABLED)
|
||||
if ((window->buffer->text_search != GUI_TEXT_SEARCH_DISABLED)
|
||||
&& (window->buffer->text_search_where & GUI_TEXT_SEARCH_IN_MESSAGE)
|
||||
&& (!window->buffer->text_search_regex
|
||||
|| window->buffer->text_search_regex_compiled))
|
||||
{
|
||||
message_with_search = gui_color_emphasize (ptr_data,
|
||||
window->buffer->input_buffer,
|
||||
window->buffer->text_search_exact,
|
||||
NULL);
|
||||
window->buffer->text_search_regex_compiled);
|
||||
if (message_with_search)
|
||||
ptr_data = message_with_search;
|
||||
}
|
||||
|
@ -1321,8 +1324,7 @@ gui_chat_display_line (struct t_gui_window *window, struct t_gui_line *line,
|
|||
/* display marker if line is matching user search */
|
||||
if (window->buffer->text_search != GUI_TEXT_SEARCH_DISABLED)
|
||||
{
|
||||
if (gui_line_search_text (line, window->buffer->input_buffer,
|
||||
window->buffer->text_search_exact))
|
||||
if (gui_line_search_text (window->buffer, line))
|
||||
{
|
||||
gui_window_set_weechat_color (GUI_WINDOW_OBJECTS(window)->win_chat,
|
||||
GUI_COLOR_CHAT_TEXT_FOUND);
|
||||
|
|
|
@ -223,7 +223,9 @@ gui_key_default_bindings (int context)
|
|||
{
|
||||
BIND(/* Enter */ "ctrl-M", "/input search_stop");
|
||||
BIND(/* Enter */ "ctrl-J", "/input search_stop");
|
||||
BIND(/* ^R */ "ctrl-R", "/input search_switch_case");
|
||||
BIND(/* m-c */ "meta-c", "/input search_switch_case");
|
||||
BIND(/* ^R */ "ctrl-R", "/input search_switch_regex");
|
||||
BIND(/* tab */ "ctrl-I", "/input search_switch_where");
|
||||
BIND(/* up */ "meta2-A", "/input search_previous");
|
||||
BIND(/* down */ "meta2-B", "/input search_next");
|
||||
}
|
||||
|
@ -433,12 +435,16 @@ gui_key_flush (int paste)
|
|||
|| (strcmp (input_old, gui_current_window->buffer->input_buffer) != 0)))
|
||||
{
|
||||
/*
|
||||
* if current input is longer than old input, and that
|
||||
* beginning of current input is exactly equal to old input,
|
||||
* then do nothing (search will not find any result and can
|
||||
* take some time on buffer with many lines..)
|
||||
* if following conditions are all true, then do not search
|
||||
* again (search will not find any result and can take some time
|
||||
* on a buffer with many lines):
|
||||
* - old search was not successful
|
||||
* - searching a string (not a regex)
|
||||
* - current input is longer than old input
|
||||
* - beginning of current input is exactly equal to old input.
|
||||
*/
|
||||
if (!gui_current_window->buffer->text_search_found
|
||||
&& !gui_current_window->buffer->text_search_regex
|
||||
&& (input_old != NULL)
|
||||
&& (input_old[0])
|
||||
&& (gui_current_window->buffer->input_buffer != NULL)
|
||||
|
|
|
@ -700,10 +700,7 @@ char *
|
|||
gui_bar_item_default_input_search (void *data, struct t_gui_bar_item *item,
|
||||
struct t_gui_window *window)
|
||||
{
|
||||
char *text_search = N_("Text search");
|
||||
char *text_search_exact = N_("Text search (exact)");
|
||||
char *ptr_message, *buf;
|
||||
int length;
|
||||
char str_search[1024];
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
@ -715,22 +712,21 @@ gui_bar_item_default_input_search (void *data, struct t_gui_bar_item *item,
|
|||
if (window->buffer->text_search == GUI_TEXT_SEARCH_DISABLED)
|
||||
return NULL;
|
||||
|
||||
ptr_message = (window->buffer->text_search_exact) ?
|
||||
_(text_search_exact) : _(text_search);
|
||||
length = 16 + strlen (ptr_message) + 1;
|
||||
buf = malloc (length);
|
||||
if (buf)
|
||||
{
|
||||
snprintf (buf, length, "%s%s",
|
||||
(window->buffer->text_search_found
|
||||
|| !window->buffer->input_buffer
|
||||
|| !window->buffer->input_buffer[0]) ?
|
||||
GUI_COLOR_CUSTOM_BAR_FG :
|
||||
gui_color_get_custom (gui_color_get_name (CONFIG_COLOR(config_color_input_text_not_found))),
|
||||
ptr_message);
|
||||
}
|
||||
snprintf (str_search, sizeof (str_search), "%s%s (%s %s,%s%s%s)",
|
||||
(window->buffer->text_search_found
|
||||
|| !window->buffer->input_buffer
|
||||
|| !window->buffer->input_buffer[0]) ?
|
||||
GUI_COLOR_CUSTOM_BAR_FG :
|
||||
gui_color_get_custom (gui_color_get_name (CONFIG_COLOR(config_color_input_text_not_found))),
|
||||
_("Search"),
|
||||
(window->buffer->text_search_exact) ? "==" : "~",
|
||||
(window->buffer->text_search_regex) ? "regex" : "str",
|
||||
(window->buffer->text_search_where & GUI_TEXT_SEARCH_IN_PREFIX) ? "pre" : "",
|
||||
((window->buffer->text_search_where & GUI_TEXT_SEARCH_IN_PREFIX)
|
||||
&& (window->buffer->text_search_where & GUI_TEXT_SEARCH_IN_MESSAGE)) ? "|" : "",
|
||||
(window->buffer->text_search_where & GUI_TEXT_SEARCH_IN_MESSAGE) ? "msg" : "");
|
||||
|
||||
return buf;
|
||||
return strdup (str_search);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -81,7 +81,8 @@ char *gui_buffer_properties_get_integer[] =
|
|||
"nicklist_count", "nicklist_groups_count", "nicklist_nicks_count",
|
||||
"nicklist_visible_count", "input", "input_get_unknown_commands",
|
||||
"input_size", "input_length", "input_pos", "input_1st_display",
|
||||
"num_history", "text_search", "text_search_exact", "text_search_found",
|
||||
"num_history", "text_search", "text_search_exact", "text_search_regex",
|
||||
"text_search_where", "text_search_found",
|
||||
NULL
|
||||
};
|
||||
char *gui_buffer_properties_get_string[] =
|
||||
|
@ -91,7 +92,7 @@ char *gui_buffer_properties_get_string[] =
|
|||
NULL
|
||||
};
|
||||
char *gui_buffer_properties_get_pointer[] =
|
||||
{ "plugin", "highlight_regex_compiled",
|
||||
{ "plugin", "text_search_regex_compiled", "highlight_regex_compiled",
|
||||
NULL
|
||||
};
|
||||
char *gui_buffer_properties_set[] =
|
||||
|
@ -538,6 +539,9 @@ gui_buffer_new (struct t_weechat_plugin *plugin,
|
|||
/* text search */
|
||||
new_buffer->text_search = GUI_TEXT_SEARCH_DISABLED;
|
||||
new_buffer->text_search_exact = 0;
|
||||
new_buffer->text_search_regex = 0;
|
||||
new_buffer->text_search_regex_compiled = NULL;
|
||||
new_buffer->text_search_where = 0;
|
||||
new_buffer->text_search_found = 0;
|
||||
new_buffer->text_search_input = NULL;
|
||||
|
||||
|
@ -895,6 +899,10 @@ gui_buffer_get_integer (struct t_gui_buffer *buffer, const char *property)
|
|||
return buffer->text_search;
|
||||
else if (string_strcasecmp (property, "text_search_exact") == 0)
|
||||
return buffer->text_search_exact;
|
||||
else if (string_strcasecmp (property, "text_search_regex") == 0)
|
||||
return buffer->text_search_regex;
|
||||
else if (string_strcasecmp (property, "text_search_where") == 0)
|
||||
return buffer->text_search_where;
|
||||
else if (string_strcasecmp (property, "text_search_found") == 0)
|
||||
return buffer->text_search_found;
|
||||
}
|
||||
|
@ -958,6 +966,8 @@ gui_buffer_get_pointer (struct t_gui_buffer *buffer, const char *property)
|
|||
{
|
||||
if (string_strcasecmp (property, "plugin") == 0)
|
||||
return buffer->plugin;
|
||||
else if (string_strcasecmp (property, "text_search_regex_compiled") == 0)
|
||||
return buffer->text_search_regex_compiled;
|
||||
else if (string_strcasecmp (property, "highlight_regex_compiled") == 0)
|
||||
return buffer->highlight_regex_compiled;
|
||||
}
|
||||
|
@ -2244,6 +2254,11 @@ gui_buffer_close (struct t_gui_buffer *buffer)
|
|||
free (buffer->input_undo_snap);
|
||||
if (buffer->text_search_input)
|
||||
free (buffer->text_search_input);
|
||||
if (buffer->text_search_regex_compiled)
|
||||
{
|
||||
regfree (buffer->text_search_regex_compiled);
|
||||
free (buffer->text_search_regex_compiled);
|
||||
}
|
||||
if (buffer->highlight_words)
|
||||
free (buffer->highlight_words);
|
||||
if (buffer->highlight_regex)
|
||||
|
@ -3225,6 +3240,9 @@ gui_buffer_hdata_buffer_cb (void *data, const char *hdata_name)
|
|||
HDATA_VAR(struct t_gui_buffer, num_history, INTEGER, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_gui_buffer, text_search, INTEGER, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_gui_buffer, text_search_exact, INTEGER, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_gui_buffer, text_search_regex, INTEGER, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_gui_buffer, text_search_regex_compiled, POINTER, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_gui_buffer, text_search_where, INTEGER, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_gui_buffer, text_search_found, INTEGER, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_gui_buffer, text_search_input, STRING, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_gui_buffer, highlight_words, STRING, 0, NULL, NULL);
|
||||
|
@ -3398,6 +3416,12 @@ gui_buffer_add_to_infolist (struct t_infolist *infolist,
|
|||
return 0;
|
||||
if (!infolist_new_var_integer (ptr_item, "text_search_exact", buffer->text_search_exact))
|
||||
return 0;
|
||||
if (!infolist_new_var_integer (ptr_item, "text_search_regex", buffer->text_search_regex))
|
||||
return 0;
|
||||
if (!infolist_new_var_pointer (ptr_item, "text_search_regex_compiled", buffer->text_search_regex_compiled))
|
||||
return 0;
|
||||
if (!infolist_new_var_integer (ptr_item, "text_search_where", buffer->text_search_where))
|
||||
return 0;
|
||||
if (!infolist_new_var_integer (ptr_item, "text_search_found", buffer->text_search_found))
|
||||
return 0;
|
||||
if (!infolist_new_var_string (ptr_item, "text_search_input", buffer->text_search_input))
|
||||
|
@ -3600,6 +3624,9 @@ gui_buffer_print_log ()
|
|||
log_printf (" num_history . . . . . . : %d", ptr_buffer->num_history);
|
||||
log_printf (" text_search . . . . . . : %d", ptr_buffer->text_search);
|
||||
log_printf (" text_search_exact . . . : %d", ptr_buffer->text_search_exact);
|
||||
log_printf (" text_search_regex . . . : %d", ptr_buffer->text_search_regex);
|
||||
log_printf (" text_search_regex_compiled: 0x%lx", ptr_buffer->text_search_regex_compiled);
|
||||
log_printf (" text_search_where . . . : %d", ptr_buffer->text_search_where);
|
||||
log_printf (" text_search_found . . . : %d", ptr_buffer->text_search_found);
|
||||
log_printf (" text_search_input . . . : '%s'", ptr_buffer->text_search_input);
|
||||
log_printf (" highlight_words . . . . : '%s'", ptr_buffer->highlight_words);
|
||||
|
|
|
@ -50,6 +50,9 @@ enum t_gui_buffer_notify
|
|||
#define GUI_TEXT_SEARCH_BACKWARD 1
|
||||
#define GUI_TEXT_SEARCH_FORWARD 2
|
||||
|
||||
#define GUI_TEXT_SEARCH_IN_MESSAGE 1
|
||||
#define GUI_TEXT_SEARCH_IN_PREFIX 2
|
||||
|
||||
#define GUI_BUFFER_INPUT_BLOCK_SIZE 256
|
||||
|
||||
/* buffer structures */
|
||||
|
@ -158,6 +161,9 @@ struct t_gui_buffer
|
|||
/* text search */
|
||||
int text_search; /* text search type */
|
||||
int text_search_exact; /* exact search (case sensitive) ? */
|
||||
int text_search_regex; /* search with a regex */
|
||||
regex_t *text_search_regex_compiled; /* regex used to search */
|
||||
int text_search_where; /* search where? prefix and/or msg */
|
||||
int text_search_found; /* 1 if text found, otherwise 0 */
|
||||
char *text_search_input; /* input saved before text search */
|
||||
|
||||
|
|
|
@ -658,6 +658,7 @@ gui_color_emphasize (const char *string,
|
|||
if (regex)
|
||||
{
|
||||
/* search next match using the regex */
|
||||
regex_match.rm_so = -1;
|
||||
rc = regexec (regex, ptr_no_color, 1, ®ex_match, 0);
|
||||
|
||||
/*
|
||||
|
|
|
@ -555,6 +555,105 @@ gui_input_search_text (struct t_gui_buffer *buffer)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Compiles regex used to search text in buffer.
|
||||
*/
|
||||
|
||||
void
|
||||
gui_input_search_compile_regex (struct t_gui_buffer *buffer)
|
||||
{
|
||||
int flags;
|
||||
|
||||
/* remove the compiled regex */
|
||||
if (buffer->text_search_regex_compiled)
|
||||
{
|
||||
regfree (buffer->text_search_regex_compiled);
|
||||
free (buffer->text_search_regex_compiled);
|
||||
buffer->text_search_regex_compiled = NULL;
|
||||
}
|
||||
|
||||
/* compile regex */
|
||||
if (buffer->text_search_regex)
|
||||
{
|
||||
buffer->text_search_regex_compiled = malloc (sizeof (*buffer->text_search_regex_compiled));
|
||||
if (buffer->text_search_regex_compiled)
|
||||
{
|
||||
flags = REG_EXTENDED;
|
||||
if (!buffer->text_search_exact)
|
||||
flags |= REG_ICASE;
|
||||
if (string_regcomp (buffer->text_search_regex_compiled,
|
||||
buffer->input_buffer, flags) != 0)
|
||||
{
|
||||
free (buffer->text_search_regex_compiled);
|
||||
buffer->text_search_regex_compiled = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Switches case for search in buffer (default key: meta-c during search).
|
||||
*/
|
||||
|
||||
void
|
||||
gui_input_search_switch_case (struct t_gui_buffer *buffer)
|
||||
{
|
||||
struct t_gui_window *window;
|
||||
|
||||
window = gui_window_search_with_buffer (buffer);
|
||||
if (window && (window->buffer->type == GUI_BUFFER_TYPE_FORMATTED)
|
||||
&& (window->buffer->text_search != GUI_TEXT_SEARCH_DISABLED))
|
||||
{
|
||||
window->buffer->text_search_exact ^= 1;
|
||||
gui_window_search_restart (window);
|
||||
gui_input_search_signal (buffer);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Switches string/regex for search in buffer (default key: ctrl-R during
|
||||
* search).
|
||||
*/
|
||||
|
||||
void
|
||||
gui_input_search_switch_regex (struct t_gui_buffer *buffer)
|
||||
{
|
||||
struct t_gui_window *window;
|
||||
|
||||
window = gui_window_search_with_buffer (buffer);
|
||||
if (window && (window->buffer->type == GUI_BUFFER_TYPE_FORMATTED)
|
||||
&& (window->buffer->text_search != GUI_TEXT_SEARCH_DISABLED))
|
||||
{
|
||||
window->buffer->text_search_regex ^= 1;
|
||||
gui_window_search_restart (window);
|
||||
gui_input_search_signal (buffer);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Switches search in messages/prefixes (default key: tab during search).
|
||||
*/
|
||||
|
||||
void
|
||||
gui_input_search_switch_where (struct t_gui_buffer *buffer)
|
||||
{
|
||||
struct t_gui_window *window;
|
||||
|
||||
window = gui_window_search_with_buffer (buffer);
|
||||
if (window && (window->buffer->type == GUI_BUFFER_TYPE_FORMATTED)
|
||||
&& (window->buffer->text_search != GUI_TEXT_SEARCH_DISABLED))
|
||||
{
|
||||
if (window->buffer->text_search_where == GUI_TEXT_SEARCH_IN_MESSAGE)
|
||||
window->buffer->text_search_where = GUI_TEXT_SEARCH_IN_PREFIX;
|
||||
else if (window->buffer->text_search_where == GUI_TEXT_SEARCH_IN_PREFIX)
|
||||
window->buffer->text_search_where = GUI_TEXT_SEARCH_IN_MESSAGE | GUI_TEXT_SEARCH_IN_PREFIX;
|
||||
else
|
||||
window->buffer->text_search_where = GUI_TEXT_SEARCH_IN_MESSAGE;
|
||||
gui_window_search_restart (window);
|
||||
gui_input_search_signal (buffer);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Searches backward in buffer (default key: up during search).
|
||||
*/
|
||||
|
@ -591,25 +690,6 @@ gui_input_search_next (struct t_gui_buffer *buffer)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Switches case for search in buffer (default key: ctrl-R during search).
|
||||
*/
|
||||
|
||||
void
|
||||
gui_input_search_switch_case (struct t_gui_buffer *buffer)
|
||||
{
|
||||
struct t_gui_window *window;
|
||||
|
||||
window = gui_window_search_with_buffer (buffer);
|
||||
if (window && (window->buffer->type == GUI_BUFFER_TYPE_FORMATTED)
|
||||
&& (window->buffer->text_search != GUI_TEXT_SEARCH_DISABLED))
|
||||
{
|
||||
window->buffer->text_search_exact ^= 1;
|
||||
gui_window_search_restart (window);
|
||||
gui_input_search_signal (buffer);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Stops text search (default key: return during search).
|
||||
*/
|
||||
|
|
|
@ -44,9 +44,12 @@ extern void gui_input_return (struct t_gui_buffer *buffer);
|
|||
extern void gui_input_complete_next (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_complete_previous (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_search_text (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_search_compile_regex (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_search_switch_case (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_search_switch_regex (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_search_switch_where (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_search_previous (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_search_next (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_search_switch_case (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_search_stop (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_delete_previous_char (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_delete_next_char (struct t_gui_buffer *buffer);
|
||||
|
|
|
@ -398,37 +398,70 @@ gui_line_get_next_displayed (struct t_gui_line *line)
|
|||
*/
|
||||
|
||||
int
|
||||
gui_line_search_text (struct t_gui_line *line, const char *text,
|
||||
int case_sensitive)
|
||||
gui_line_search_text (struct t_gui_buffer *buffer, struct t_gui_line *line)
|
||||
{
|
||||
char *prefix, *message;
|
||||
int rc;
|
||||
|
||||
if (!line || !line->data->message || !text || !text[0])
|
||||
if (!line || !line->data->message
|
||||
|| !buffer->input_buffer || !buffer->input_buffer[0])
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
rc = 0;
|
||||
|
||||
if (line->data->prefix)
|
||||
if ((buffer->text_search_where & GUI_TEXT_SEARCH_IN_PREFIX)
|
||||
&& line->data->prefix)
|
||||
{
|
||||
prefix = gui_color_decode (line->data->prefix, NULL);
|
||||
if (prefix)
|
||||
{
|
||||
if ((case_sensitive && (strstr (prefix, text)))
|
||||
|| (!case_sensitive && (string_strcasestr (prefix, text))))
|
||||
if (buffer->text_search_regex)
|
||||
{
|
||||
if (buffer->text_search_regex_compiled)
|
||||
{
|
||||
if (regexec (buffer->text_search_regex_compiled,
|
||||
prefix, 0, NULL, 0) == 0)
|
||||
{
|
||||
rc = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((buffer->text_search_exact
|
||||
&& (strstr (prefix, buffer->input_buffer)))
|
||||
|| (!buffer->text_search_exact
|
||||
&& (string_strcasestr (prefix, buffer->input_buffer))))
|
||||
{
|
||||
rc = 1;
|
||||
}
|
||||
free (prefix);
|
||||
}
|
||||
}
|
||||
|
||||
if (!rc)
|
||||
if (!rc && (buffer->text_search_where & GUI_TEXT_SEARCH_IN_MESSAGE))
|
||||
{
|
||||
message = gui_color_decode (line->data->message, NULL);
|
||||
if (message)
|
||||
{
|
||||
if ((case_sensitive && (strstr (message, text)))
|
||||
|| (!case_sensitive && (string_strcasestr (message, text))))
|
||||
if (buffer->text_search_regex)
|
||||
{
|
||||
if (buffer->text_search_regex_compiled)
|
||||
{
|
||||
if (regexec (buffer->text_search_regex_compiled,
|
||||
message, 0, NULL, 0) == 0)
|
||||
{
|
||||
rc = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((buffer->text_search_exact
|
||||
&& (strstr (message, buffer->input_buffer)))
|
||||
|| (!buffer->text_search_exact
|
||||
&& (string_strcasestr (message, buffer->input_buffer))))
|
||||
{
|
||||
rc = 1;
|
||||
}
|
||||
free (message);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,8 +80,8 @@ extern struct t_gui_line *gui_line_get_first_displayed (struct t_gui_buffer *buf
|
|||
extern struct t_gui_line *gui_line_get_last_displayed (struct t_gui_buffer *buffer);
|
||||
extern struct t_gui_line *gui_line_get_prev_displayed (struct t_gui_line *line);
|
||||
extern struct t_gui_line *gui_line_get_next_displayed (struct t_gui_line *line);
|
||||
extern int gui_line_search_text (struct t_gui_line *line, const char *text,
|
||||
int case_sensitive);
|
||||
extern int gui_line_search_text (struct t_gui_buffer *buffer,
|
||||
struct t_gui_line *line);
|
||||
extern int gui_line_match_regex (struct t_gui_line_data *line_data,
|
||||
regex_t *regex_prefix,
|
||||
regex_t *regex_message);
|
||||
|
|
|
@ -1502,9 +1502,7 @@ gui_window_search_text (struct t_gui_window *window)
|
|||
gui_line_get_last_displayed (window->buffer);
|
||||
while (ptr_line)
|
||||
{
|
||||
if (gui_line_search_text (ptr_line,
|
||||
window->buffer->input_buffer,
|
||||
window->buffer->text_search_exact))
|
||||
if (gui_line_search_text (window->buffer, ptr_line))
|
||||
{
|
||||
window->scroll->start_line = ptr_line;
|
||||
window->scroll->start_line_pos = 0;
|
||||
|
@ -1527,9 +1525,7 @@ gui_window_search_text (struct t_gui_window *window)
|
|||
gui_line_get_first_displayed (window->buffer);
|
||||
while (ptr_line)
|
||||
{
|
||||
if (gui_line_search_text (ptr_line,
|
||||
window->buffer->input_buffer,
|
||||
window->buffer->text_search_exact))
|
||||
if (gui_line_search_text (window->buffer, ptr_line))
|
||||
{
|
||||
window->scroll->start_line = ptr_line;
|
||||
window->scroll->start_line_pos = 0;
|
||||
|
@ -1553,8 +1549,10 @@ void
|
|||
gui_window_search_start (struct t_gui_window *window)
|
||||
{
|
||||
window->buffer->text_search = GUI_TEXT_SEARCH_BACKWARD;
|
||||
window->buffer->text_search_exact = 0;
|
||||
if (window->buffer->text_search_where == 0)
|
||||
window->buffer->text_search_where = GUI_TEXT_SEARCH_IN_MESSAGE;
|
||||
window->buffer->text_search_found = 0;
|
||||
gui_input_search_compile_regex (window->buffer);
|
||||
if (window->buffer->text_search_input)
|
||||
{
|
||||
free (window->buffer->text_search_input);
|
||||
|
@ -1577,6 +1575,7 @@ gui_window_search_restart (struct t_gui_window *window)
|
|||
window->scroll->start_line_pos = 0;
|
||||
window->buffer->text_search = GUI_TEXT_SEARCH_BACKWARD;
|
||||
window->buffer->text_search_found = 0;
|
||||
gui_input_search_compile_regex (window->buffer);
|
||||
if (gui_window_search_text (window))
|
||||
window->buffer->text_search_found = 1;
|
||||
else
|
||||
|
@ -1599,6 +1598,12 @@ gui_window_search_stop (struct t_gui_window *window)
|
|||
{
|
||||
window->buffer->text_search = GUI_TEXT_SEARCH_DISABLED;
|
||||
window->buffer->text_search = 0;
|
||||
if (window->buffer->text_search_regex_compiled)
|
||||
{
|
||||
regfree (window->buffer->text_search_regex_compiled);
|
||||
free (window->buffer->text_search_regex_compiled);
|
||||
window->buffer->text_search_regex_compiled = NULL;
|
||||
}
|
||||
gui_input_delete_line (window->buffer);
|
||||
if (window->buffer->text_search_input)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue