「次/前の文字列を検索・改」の版間の差分
修正版 |
|||
| 4行目: | 4行目: | ||
'''選択範囲が改行をふくむ複数行'''(論理行)のばあいでも「次/前の文字列を検索」と同様のジャンプ機能を実現する目論見です。 | '''選択範囲が改行をふくむ複数行'''(論理行)のばあいでも「次/前の文字列を検索」と同様のジャンプ機能を実現する目論見です。 | ||
<br><br> | |||
; ダウンロード >> 「[[メディア:次/前の文字列を検索・改.zip]]」(アイコン入り) | |||
<br><br> | <br><br> | ||
| 105行目: | 107行目: | ||
: 検索ヒット数のステータス表示機能を追加 | : 検索ヒット数のステータス表示機能を追加 | ||
: ソースコードが長くなったので、ZIP 書庫をアップロード | : ソースコードが長くなったので、ZIP 書庫をアップロード | ||
* 2019/12/ | * 2019/12/01 - 2019/12/02(第3版) | ||
: 「単語のみ検索する」にも対応させた | : 「単語のみ検索する」にも対応させた | ||
| 125行目: | 127行目: | ||
* ---------------------------------------------- | * ---------------------------------------------- | ||
* 「次/前の文字列を検索・改」 | * 「次/前の文字列を検索・改」 | ||
* sukemaru, (2018/07/19 - 2019/12/ | * sukemaru, (2018/07/19 - 2019/12/02) | ||
* ---------------------------------------------- | * ---------------------------------------------- | ||
* 「次/前の文字列を検索」機能をカスタマイズ | * 「次/前の文字列を検索」機能をカスタマイズ | ||
| 156行目: | 158行目: | ||
// ※「終了したら閉じる」と、ベータ版 2.6.10 で追加された「インクリメンタルサーチ」のオプションフラグは解除されない | // ※「終了したら閉じる」と、ベータ版 2.6.10 で追加された「インクリメンタルサーチ」のオプションフラグは解除されない | ||
var highlightEnable = | var highlightEnable = false; | ||
// true なら、検索文字列の強調を残す | // true なら、検索文字列の強調を残す | ||
// false なら、検索文字列の強調を解除する | // false なら、検索文字列の強調を解除する | ||
| 163行目: | 165行目: | ||
// true なら、検索文字列の出現回数をステータスバーに表示する | // true なら、検索文字列の出現回数をステータスバーに表示する | ||
// false なら、検索ヒット数をステータスバーに表示しない | // false なら、検索ヒット数をステータスバーに表示しない | ||
// ※ true | // ※ 検索ダイアログのオプションフラグの状態を取得できないので、 | ||
// | // optionEnable = true のばあいでも、 | ||
// matchCaseEnable と onlyWordEnable のフラグを利用する | |||
| 198行目: | 201行目: | ||
var st = s.Text; | var st = s.Text; | ||
var sy = ScrollY; | var sy = ScrollY; | ||
var direction = /^(?:next|down|true|1)$/i.test( String( findNext ) ) | var direction = /^(?:next|down|true|1)$/i.test( String( findNext ) ) | ||
? meFindNext : meFindPrevious; | |||
var findAround = findAroundEnable ? meFindAround : 0; | |||
var matchCase = matchCaseEnable ? meFindReplaceCase : 0; | |||
var onlyWord = onlyWordEnable ? meFindReplaceOnlyWord : 0; | |||
var multiLines = ( multiLinesEnable && st.indexOf( "\n" ) > -1 ); | |||
onlyWord = ( multiLines || /\W/.test( st ) ) | |||
? 0 : onlyWord; | |||
// 検索オプションを適用して検索する場合 ※「次/前の文字列を検索」コマンド | // 検索オプションを適用して検索する場合 ※「次/前の文字列を検索」コマンド | ||
| 210行目: | 219行目: | ||
// 検索オプションをリセットして検索する場合 | // 検索オプションをリセットして検索する場合 | ||
else { | else { | ||
var flags = direction + findAround + matchCase + onlyWord; | var flags = direction + findAround + matchCase + onlyWord; | ||
| 246行目: | 249行目: | ||
// 検索ヒット数をステータス表示 | // 検索ヒット数をステータス表示 | ||
var hitStatus = ( st && hitCountEnable ) | var hitStatus = ( st && hitCountEnable ) | ||
? ( multiLines || /\W/.test( st ) ) | ? ( multiLines || /\W/.test( st ) || ! onlyWord ) | ||
? HitStatus( st, d.Text, matchCase, countMinimum = false ) | ? HitStatus( st, d.Text, matchCase, countMinimum = false ) | ||
: WordHitStatus( st, d.Text, matchCase ) | : WordHitStatus( st, d.Text, matchCase ) | ||
| 329行目: | 332行目: | ||
*[[利用者:Sukemaru#Find() メソッド と FindRepeat() メソッド の 定数|個人的な覚え書き]] のページに [[マクロリファレンス:Selection インターフェイス#FindRepeat メソッド|FindRepeat メソッド]] で「大文字と小文字を区別」や「末尾まで検索したら先頭から検索」オプションを使うために [[マクロリファレンス:Selection インターフェイス#Find メソッド|Find メソッド]] を併用する方法の説明を書いています。(sukemaru) | *[[利用者:Sukemaru#Find() メソッド と FindRepeat() メソッド の 定数|個人的な覚え書き]] のページに [[マクロリファレンス:Selection インターフェイス#FindRepeat メソッド|FindRepeat メソッド]] で「大文字と小文字を区別」や「末尾まで検索したら先頭から検索」オプションを使うために [[マクロリファレンス:Selection インターフェイス#Find メソッド|Find メソッド]] を併用する方法の説明を書いています。(sukemaru) | ||
*「単語のみ検索する」にあわせた検索ヒット数表示用の関数 ''WordHitStatus()'' | *「単語のみ検索する」にあわせた検索ヒット数表示用の関数 ''WordHitStatus()'' の正確度について、あまり自信がありません (ふだん「単語のみ検索」を利用していないため)。 なにがしかの問題または改善点を見つけた方は、[https://www.haijin-boys.com/discussions Mery 公式フォーラム] などからお知らせください。(sukemaru) | ||
<br> | <br> | ||
---- | ---- | ||
<br> | <br> | ||
スポンサーリンク