[要望]grep時にファイル単位でコメント状No.11207
inouen さん 06/10/05 22:49
 
grep実行時にファイルをまたがってコメント部分の判定が引き継がれているようです。

新しいファイルに移ったときに、コメント判定状態をリセットするようにお願いしま
す。

また現在はgrep結果出力部分のみでコメントの判定が行われていると思います。

これでも特に困るわけではありませんが、grep結果が途切れ、新しい部分を
出力する場合には、改めて本文が開始されたと仮定して出力することも検討して
頂けたらと思います。

現状よりもコメント/本文の区別が正しく出力される割合がこの変更により多くなる
のでは
と考えた次第です。

grep結果に  "/*"  が含まれ、対応する "*/" が含まれなかったために、
その後の本文出力がコメントと見なされる等の割合を、grepの実行時間に響かない、
比較的簡単に対応出来る範囲で改良していただけたらと要望いたします。


[ ]
RE:11207 [要望]grep時にファイル単位でコNo.11209
三月 さん 06/10/06 06:33
 
>grep実行時にファイルをまたがってコメント部分の判定が引き継がれているようです。
>
>新しいファイルに移ったときに、コメント判定状態をリセットするようにお願いし
>ます。
>
http://www.maruo.co.jp/hidesoft/2/x20811_.html?a=1#21895
grep自体にコメント判定は行われてないようですが?
それとも↓のgrep結果のはなし?

>また現在はgrep結果出力部分のみでコメントの判定が行われていると思います。
>
>これでも特に困るわけではありませんが、grep結果が途切れ、新しい部分を
>出力する場合には、改めて本文が開始されたと仮定して出力することも検討して
>頂けたらと思います。
>
>現状よりもコメント/本文の区別が正しく出力される割合がこの変更により多くなる
>のでは
>と考えた次第です。
>
>grep結果に  "/*"  が含まれ、対応する "*/" が含まれなかったために、
>その後の本文出力がコメントと見なされる等の割合を、grepの実行時間に響かない、
>比較的簡単に対応出来る範囲で改良していただけたらと要望いたします。
>
grep結果に元ファイルタイプでコメントだったかを求めるのは
酷ってものではないでしょうか?
grep自体にコメント判定してないし、したとしてもgrep結果に
「コメントだった」情報は残せないし。

関係ないところまで(次行のファイル名部分とか)コメント色に
なるのがいやなら、ファイルタイプの設定で「grepの設定」を
コメント色の付かないものに変更するほうが正道でしょう。

(1ユーザの感想ですが。)

[ ]
RE:11209 [要望]grep時にファイル単位でコNo.11212
秀丸担当 さん 06/10/06 09:22
 

>grep実行時にファイルをまたがってコメント部分の判定が引き継がれているようです。
>
>新しいファイルに移ったときに、コメント判定状態をリセットするようにお願いしま
>す。

たぶんgrep結果のことを言われているのだと思いますが、ファイルタイプ別の設
定で、複数行コメントを無効にしておけばいいと思います。

おそらく、grep結果のファイルタイプ別の設定をC言語あるいはJavaと同じもの
にしているのだと思います。

grep結果が出ているときに、[その他]→[ファイルタイプ別の設定]で、上部の
「設定のリスト」より、新しく設定を作成して、grep結果用の設定を作っておく
ことをお勧めします。

[ ]
RE:11212 [要望]grep時にファイル単位でコNo.11214
inouen さん 06/10/06 18:41
 
>grep結果が出ているときに、[その他]→[ファイルタイプ別の設定]で、上部の
>「設定のリスト」より、新しく設定を作成して、grep結果用の設定を作っておく
>ことをお勧めします。


grep実行時に表示される、grep実行結果出力についての要望を記したつもりです。

grep結果は、現状通り元ファイルのタイプに応じてコメント部分の自動判定を行い、
本文/コメント部分のカラーを切り替えて表示されることで考えています。

HTML, C, Pascal Perl... と元ファイルに応じてコメントの判定は異なりますので、
grep出力専用のコメント判定設定は余り意味がないのではと考えられます。

grep結果コメントの判定は、grep結果出力のみの内容を一連のファイル相当と
見なして元ファイルに応じて行われていると思います。


C言語/Javaの例では複数行コメント、言語指定で通常編集していますし、
grep結果出力も、現状通りその元ファイルのコメント判定にしたがってカラー出力
されるのが見やすいですし、その状態で便利に使わせて頂いています。

複数ファイルにまたがってgrepを掛けた結果の出力が、前のファイルの複数行
コメント "/*"  が閉じられないままになっている場合に、次のファイルの
grep結果は、前のコメントの続きと見なされ、次のファイルで複数行コメントの終了に
相当する "*/" が現れるまで コメントのカラーで表示されてしまいます。

そこで繰り返しになりますが、ファイルが切り替った場合に、コメントの判定は
改めて初期化状態から始めて、本文、コメントの別をして頂くように要望します。

これは1ないし数行程度の簡単な追加で実現できると思います。

>grep結果が途切れ、新しい部分を出力する場合には、....
この項は無視されてかまいません。

以上、よろしくお願いします。

[ ]
RE:11214 [要望]grep時にファイル単位でコNo.11215
Iranoan さん 06/10/06 19:41
 
 inouen さん今日は、Iranoan です。
> grep結果コメントの判定は、grep結果出力のみの内容を一連のファイル相当と
> 見なして元ファイルに応じて行われていると思います。
 この認識が間違っていますよ。grep の出力結果を 1 つのファイルと見なし
て、コメントなり文字列の判定を行います。
 たまたま inouen さんが検索したファイルのコメント形式と、grep のそれ
が同じになっているだけでしょう。

[ ]
RE:11215 [要望]grep時にファイル単位でコNo.11216
kaisan さん 06/10/06 21:44
 
inouenさん 今日は、kaisan@ユーザです。

カラー表示をまじめにやろうとすると、

 ・検索時に元のファイルタイプに従った構文解析

 ・「検索時」のカラー情報を元に表示
  ※ファイルタイプ毎に異なる色が設定されている可能性がある
  ※マクロなどで普通に編集できる必要がある

など、いろいろ考慮する必要があり簡単にはできません。


適当でよいのなら、
「grepの設定」で複数行コメントの設定をユーザ定義にして
以下の内容(grep.hilight)を読み込んでみたら如何でしょうか。

複数行コメントの設定は、ver6.00以降で利用できます。

いい加減ですがそれなりに見えると思います。
#複数行コメントも行末で終わるようにする設定

--- grep.hilight はじめ ---
/<HilightMulti>
/0003,00000003,00,00,00000002,"//",00000002,""
/0003,00000003,00,00,00010001,"(?<=[^(:]*\\.(vb|cls|frm|vbs)[(:][^']*)'",000
00002,""
/0003,00000002,00,00,00010001,"/\\*",00010001,"(\\*/|$)"
/0014,00000002,00,00,00000002,"\"",00010001,"(\"|$)"
/0003,00000003,00,00,00010005,"(?<=[^(:]*\\.(vb|cls|frm|vbs)[(:][^r]*)rem",0
0000002,""
/0003,00000002,00,00,00010001,"(?<=[^(:]*\\.pas[(:][^{]*){",00010001,"(}|$)"
/0003,00000002,00,00,00010001,"<!--",00010001,"(-->|$)"
/0003,00000003,00,00,00010001,"(?<=[^(:]*\\.(pl|pm|cgi|sh|csh|bash|rb|php[0-
9]?)[(:][^#]*)#",00000002,""
--- grep.hilight 終わり ---


※秀丸担当様へ

あまりこのようなことはしないと思いますが
複数行コメントの終わりの指定に、終了文字or行末の設定をすると
開始文字直後で行が終わると、次の行末までコメント扱いになります。
開始文字の直後に1文字でもあれば正常に表示されます


 開始:<!--
 終了:(-->|$)           ※正規表現有効

■OK例
<!--ここはコメント
ここは通常

■NG例
<!--
ここまでコメント

環境は秀丸6.03です。



[ ]
RE:11216 [要望]grep時にファイル単位でコNo.11217
inouen さん 06/10/07 08:04
 
秀丸のファイルタイプ別の設定の機能を十分理解出来無いままに話を進めていたことに
皆様からのご指摘でやっと気がつきました。

ファイルタイプ別の共通設定が 言語指定、C言語/Java としていたためにgrep結果が
C/Java言語のコメント相当にカラー表示されるようになっていました。
それを元ファイル対応でカラー表示されると思い込んでいました。

grep表示結果がファイルをまたがってコメントカラー表示されるのを止めるためには
ファイルの区切りのところで 手で "*/" を入力すれば済みますので...

この要望は取り下げさせてください。

どうもすみませんでした。

[ ]
RE:11216 [要望]grep時にファイル単位でコNo.11270
秀丸担当 さん 06/10/25 15:30
 

>あまりこのようなことはしないと思いますが
>複数行コメントの終わりの指定に、終了文字or行末の設定をすると
>開始文字直後で行が終わると、次の行末までコメント扱いになります。
>開始文字の直後に1文字でもあれば正常に表示されます

この報告の対応を忘れていました。
すみません。
次のバージョンで修正します。


[ ]