◀ANSI版開発トップへ
  • 1164 正規表現を使ったアウトライン解析機能
    • 1165 Re:正規表現を使ったアウトライン解析機能
      • 1170 Re2:正規表現を使ったアウトライン解析機能
        • 1171 Re3:正規表現を使ったアウトライン解析機能
          • 1172 Re4:正規表現を使ったアウトライン解析機能
            • 1174 Re4:正規表現を使ったアウトライン解析機能
      • 1173 Re:正規表現を使ったアウトライン解析機能
    • 1509 RE: 正規表現を使ったアウトライン解析機能
  • [1164] 正規表現を使ったアウトライン解析機能 みく 2002年01月15日 18:47

    正規表現を使ったアウトライン解析機能の実装に関する独り言...

    【できること】
    ・アウトライン解析が正規表現でユーザが自由に設定できるようになる。
    ・解析画面の見出しが編集画面でも色分けできる。

    【できないこと】
    ・行単位でしか解析できない。

    【変更】
    ・現在の「正規表現キーワード10」を「アウトライン解析(正規表現)」に変更する。
    ・この色指定での編集画面表示は従来どおり行う。
    ・解析方法に「正規表現」を追加する。
    ・アウトライン解析画面はリスト形式でタイトルは「見出し」とする。
    ・「正規表現」では「アウトライン解析(正規表現)」で指定された正規表現キーワードを使用して行解析を行う。マッチしたら見出しに登録する。
    ・設定ファイル保存は従来のまま(RKA)とする。
    ・CRegexKeyword.cppに指定の正規表現だけを使ってマッチするかしないかを検査する関数を追加する。
    ・CEditDoc(_new.cpp)に正規表現用アウトライン解析関数を追加する。

    となり、意外と簡単に実装できるのではないかと思ったりするのであった。

    • [1165] Re:正規表現を使ったアウトライン解析機能 hor 2002年01月15日 19:24

      ▼ みくさん
      > 正規表現を使ったアウトライン解析機能の実装に関する独り言...
      >
      > 【できること】
      > ・アウトライン解析が正規表現でユーザが自由に設定できるようになる。
      > ・解析画面の見出しが編集画面でも色分けできる。
      >

      ちょっと方向性が違いますけど、関数ジャンプとかを簡単に実行でけへんかな~と思って、

      1.検索・置換ダイアログに「該当行マーク」をくっつけて、
         検索パターンにマッチする行すべてにマークをつけられるようにする。
      2.外部マクロから、指定した正規表現にマッチする行にブックマークをつけられるようにする。

      ってゆうのをやりかけてます。
      必要なければやめちゃいますけど・・・どう思います?
      • [1170] Re2:正規表現を使ったアウトライン解析機能 やざき 2002年01月16日 00:18

        ▼ horさん
        > ▼ みくさん
        > > 正規表現を使ったアウトライン解析機能の実装に関する独り言...
        > >
        > > 【できること】
        > > ・アウトライン解析が正規表現でユーザが自由に設定できるようになる。
        > > ・解析画面の見出しが編集画面でも色分けできる。
        > >
        >
        > ちょっと方向性が違いますけど、関数ジャンプとかを簡単に実行でけへんかな~と思って、
        >
        > 1.検索・置換ダイアログに「該当行マーク」をくっつけて、
        >    検索パターンにマッチする行すべてにマークをつけられるようにする。
        > 2.外部マクロから、指定した正規表現にマッチする行にブックマークをつけられるようにする。
        >
        > ってゆうのをやりかけてます。
        > 必要なければやめちゃいますけど・・・どう思います?

        horさんは、ブックマーク+正規表現を実装しようとしてて、
        みくさんは、アウトライン解析+正規表現を実装しようとしているってことでいいですか?

        たぶんできあがりは同じようなものなので、ブックマーク+正規表現にして、
        いまあるアウトライン解析を、「2」の外部マクロから...というので再現すると、いいかなぁと
        わたしは思いました。
        「アウトライン解析+正規表現」にすると、正規表現01~10とか作ることになってシンプルじゃなくなりそうな気配が。。。

        • [1171] Re3:正規表現を使ったアウトライン解析機能 げんた 2002年01月16日 09:02

          >「アウトライン解析+正規表現」にすると、正規表現01~10とか作ることになってシンプルじゃなくなりそうな
          どうやって編集するかという問題は残りますけど,「アウトライン解析+正規表現」の方が正規表現の中で()を使ってツリーに表示する文字列を選択するなど自由度が高くなると思います.あと,うまいこと階層構造の指定ができないかなぁと.

          例えばdiffのアウトライン解析で
          LEVEL 1: ^diff .*([^ ]+)[\n\r]*$
          LEVEL 2: ^@@ (.* .*) @@
          みたいにやりたいです.

          あ,でも,検索キーワードを含む全ての行をBookmarkというのは以前から欲しいと思っていました(^^)
          • [1172] Re4:正規表現を使ったアウトライン解析機能 やざき 2002年01月16日 11:28

            ▼ げんたさん
            > >「アウトライン解析+正規表現」にすると、正規表現01~10とか作ることになってシンプルじゃなくなりそうな
            > どうやって編集するかという問題は残りますけど,「アウトライン解析+正規表現」の方が正規表現の中で()を使ってツリーに表示する文字列を選択するなど自由度が高くなると思います.あと,うまいこと階層構造の指定ができないかなぁと.
            >
            > 例えばdiffのアウトライン解析で
            > LEVEL 1: ^diff .*([^ ]+)[\n\r]*$
            > LEVEL 2: ^@@ (.* .*) @@
            > みたいにやりたいです.
            >
            > あ,でも,検索キーワードを含む全ての行をBookmarkというのは以前から欲しいと思っていました(^^)

            「ブックマーク+正規表現」だと、一括でブックマークをつけたあとに要らないやつをオフにしたり、
            さらに必要なところをオンにできるのは便利そう。

            正規表現の()を。ということであれば、ブックマーク+正規表現でもできると思うんですけど?

            それと
            >2.外部マクロから、指定した正規表現にマッチする行にブックマークをつけられるようにする。

            の「外部マクロ」からというところに、非常に魅力を感じました。
            では~
            • [1174] Re4:正規表現を使ったアウトライン解析機能 みく 2002年01月16日 19:32

              >タイトル: Re4:正規表現を使ったアウトライン解析機能
              >発言者: やざき
              >▼ げんたさん
              >> あと,うまいこと階層構造の指定ができないかなぁと.
              >>
              >> 例えばdiffのアウトライン解析で
              >> LEVEL 1: ^diff .*([^ ]+)[\n\r]*$
              >> LEVEL 2: ^@@ (.* .*) @@
              >> みたいにやりたいです.

              なるほど。ツリーにもできますね。
              #正規表現キーワードにレベル項目を追加すればできそうです。

              ブックマーク+正規表現はジャンプができるのがいいですね。

              希望:
              ファイルを開いたときに自動でブックマークを設定してくると便利だと思ったりします。
              あと、正規表現は複数指定できる方がいいです。
      • [1173] Re:正規表現を使ったアウトライン解析機能 みく 2002年01月16日 19:32

        >タイトル: Re:正規表現を使ったアウトライン解析機能
        >発言者: hor
        >ってゆうのをやりかけてます。
        >必要なければやめちゃいますけど・・・どう思います?

        続けてください。
        私はまだ何にもしてませんので。
    • [1509] RE: 正規表現を使ったアウトライン解析機能 みく 2002年02月08日 21:48


      メモです。

      【概要】
      正規表現キーワードを使用してアウトライン解析を行います。ユーザが設定可能にな
      ります。タイプ別に設定可能です。
      タイプ別の正規表現キーワードに「アウトライン解析に使用する」チェックボックス
      を追加します。このチェックが入るとアウトライン解析に使用します。また、この
      チェックを入れると「レベル」を指定可能になります。「レベル」は1~9までを指
      定可能なコンボボックスです。
      設定ファイルにはレベルを追加して記録するようにします。「アウトライン解析に使
      用する」のチェックをオフにした場合は内部的にはレベル0として扱います。
      設定ファイルは書式が変わってしまうため以下のようにします。
      RxKey[999]=@2,レベル,色指定,キーワード
      ここで@2はバージョンを表します。今回はバージョン2になります。@がない場合は
      バージョン1形式ということになります。バージョン1のときはレベル0として扱い
      ます。設定ファイルなら頭のバージョン表記で判別可能ですが、iniファイルのほうは
      そうはいかないので上記のようなバージョン指定になります。
      アウトライン解析はツリー形式で、レベルがツリーの深さになります。
      いきなり深いレベルが出現したときの処理不明。
      アウトライン解析のみに使用したい場合は色指定のチェックをはずしておきます。
      アウトライン解析にも使うし色分けもすることも可能です。
      しかもレベルに応じて色分けすることも可能です。


      【変更箇所】
      CPropTypesRegex.cpp
      設定
      CShareData.*
      設定のロードとセーブ
      CRegexKeyword.*
      アウトライン解析用検索処理の追加
      コンパイルなども
      その他
      アウトライン解析処理の追加