引用された行をカラー表示No.03082
伊藤 さん 01/01/11 15:44
 
伊藤です。

BUGか要望か迷ったのですが、一応こちらに。

引用された行をカラー表示で、行頭のスペースを除いた最初の文字が引用記号だった
場合のみ、カラー表示するというようにはできないのでしょうか。

C/C++ の -> を含む行がみんな引用行になってしまうので...

[ ]
RE:03082 引用された行をカラー表示No.03086
長澤薫 さん 01/01/11 15:55
 
こんにちは、長澤です。

>引用された行をカラー表示で、行頭のスペースを除いた最初の文字が引用記号だった
>場合のみ、カラー表示するというようにはできないのでしょうか。

これって、

KaoruNagasawa> 引用元

てな具合の引用する方がそれなりにいるために、そうなっていたんだ
と記憶してますが。それ以外にも、折り返したときに、たまたま行頭
に>が来てしまった場合とか、(>_<)顔文字とか、色々パターンがあっ
て、面倒だったので今の仕様になっていたような気がします。

[ ]
RE:03082 引用された行をカラー表示No.03088
伊藤 さん 01/01/11 15:58
 
伊藤です。

すみません、前発言撤回します。

行頭が > か、
行頭に空白がなく、途中に > がある場合

に引用行と判断するのですね。

[ ]
RE:03088 引用された行をカラー表示No.03101
秀まるお さん 01/01/11 18:24
 
 引用のカラー化については今の仕様もけっこう適当なので、もっと「こういうルー
ルの方が望ましい」というのがありましたら変更してもいいです。

 問題となる「maruo>」のような形の引用についてですが、例えば「半角英文字が最
低1つ入ってないとダメ」とか、「全角文字が入っていてはダメ」とか、そういう形
の方が良ければそうします。(というか、そうしようかなぁと思っています)

 ちなみに今の引用判定処理は以下の通りです。(0以外が返ったら引用という意味
で)

 あ、この辺の話については出来れば要望会議室にお願いします。バグが一段落した
らお返事させていただきますので。


static int GetQuotedLength( char* psz ) {
    int cchQuote = 0;
Restart:
    int cchAdd = 0;
    if( psz[cchQuote] == '>'
     || psz[cchQuote] == '|' ) {
        cchAdd = 1;
    } else if( memcmp( psz+cchQuote, ">", 2 ) == 0
            || memcmp( psz+cchQuote, "|", 2 ) == 0
            || memcmp( psz+cchQuote, "》", 2 ) == 0 ) {
        cchAdd = 2;
    } else {
        int x = 0;
        while( x < 15 && psz[x+cchQuote] >= ' ' ) {
            char    ch = psz[x+cchQuote];
            if( ch == '>' ) {
                cchAdd = x;
                break;
            }
            if( ch == '<' || (ch < '0' && ch != '-') ) {
                break;
            }
            x ++;
        }
    }
    if( cchAdd != 0 ) {
        cchQuote += cchAdd;
        if( psz[cchQuote] == ' ' ) {
            cchQuote ++;
        }
        if( cchQuote < 32 ) {
            goto Restart;
        }
    }
    return cchQuote;
}

[ ]
RE:03101 引用された行をカラー表示No.03106
伊藤 さん 01/01/11 18:56
 
伊藤です。

> あ、この辺の話については出来れば要望会議室にお願いします。バグが一段落した
>らお返事させていただきますので。

承知致しました。ポスト先をBUG会議室にして申し訳ありませんでした。

[ ]