1 件の投稿を表示中 (合計 6 個)
  • 作成者
    投稿
  • #22529

    開発お疲れ様です。

    v15.8.1 x64を使ってて不具合らしきものがあります。

    既定の正規表現エンジンを鬼雲にしてると、アウトラインバーで置換表示させたとき、おかしくなるようです。

    具体的には、
     アウトラインの設定で
     「タイプ」 カスタム
     「一致した文字列を隠す/正規表現で置換する」にチェック
     後方参照を含む正規表現パターンを登録
     「正規表現」にチェック
     「置換」に \1 または $1
    としたとき、
    文書にそれに一致する文字列があると、
    Boost.Regexだと、正常に表示されるのですが、
    鬼雲だと、ツリー構造を示す点線とかは表示されるものの、その右側、後方参照した文字列が表示されません。
    (なお、正規表現エンジンを切り替えたら、文書切り替え/アウトラインバーを開きなおすなどして再描画させなと反映されません)

    では確認お願いします。

    #22533
    Yutaka Emura
    キーマスター

    星くず彼方に 様

    いつもお世話になっております。江村です。

    こちらでも同じ環境でテストを行いたいため、問題が再現できるサンプル ファイル、アウトラインの設定を詳しく書いていただくか、tech @ emurasoft.com あてに送っていただけると幸いです。

    よろしくお願いします。

    #22535
    redakt55
    参加者

    追試しました。

    後方参照を使うかどうかは本質ではなく,要は検索でキャプチャーした文字列が,Onigmo だと置換側で \1 で参照できない,という問題のようです。
    以下で再現します。テキストは「あいう」でも何でも OK。

    タイプ:カスタム
    一致した文字列を隠す/正規表現で置換する:ON
    正規表現:ON
    検索:(.).*
    置換:\1

    Boost だと各行の最初の一文字がアウトラインバーに表示されますが,Onigmo だと表示されません。

    #22536

    再現方法

    まっさらの v15.8.1 x64 ポータブルからスタート

    起動し、適当な文字列を入力
    ひとまず、「abc⏎」と入力

    「現在の設定のプロパティ」を開き、「アウトライン」を開く。
     「タイプ」を「カスタム」
     「一致した文字列を隠す/正規表現で置換する」にチェックをいれる。
     「追加」をクリックし、「検索」に、()を含んだ正規表現パターンを入力。
       とりあえず「^(.+)$」というパターンを入力。
     「正規表現」にチェックを入れる。
     「置換」に「\1」を入力。
     「OK」をクリック。

    「アウトラインバー」を開く。
    この時点では、正規表現エンジンは Boost.Regex なので、アウトラインバーに期待通りに「abc」が表示される。

    「カスタマイズ」を開き、「検索」を開く。
     「既定の正規表現エンジン」を「Onigmo」にする。
     「OK」をクリック。

    「アウトラインバー」を閉じ、再度開く。
    アウトラインバーには、点線は表示されているが、その右側には「abc」は表示されない。

    では確認お願いします。

    #22539
    Yutaka Emura
    キーマスター

    いつもお世話になっております。江村です。

    確かに再現しました。これについては、次のバージョンで修正いたします。
    ご迷惑をおかけして申し訳ありませんでした。

    よろしくお願いします。

    #22553

    v15.8.2で修正されてるの確認しました。
    ありがとうございました。

1 件の投稿を表示中 (合計 6 個)
  • このトピックに返信するにはログインしてください。