◀一般トップへ
  • 4479 ある特定の#if、#ifdefの強調表示のやり方
    • 4480 Re:ある特定の#if、#ifdefの強調表示のやり方
      • 4483 Re2:ある特定の#if、#ifdefの強調表示のやり方
    • 4481 秀丸いつのまにか独自進化してますね
  • [4479] ある特定の#if、#ifdefの強調表示のやり方 Arugon 2005年05月28日 11:43

    こんにちわ。
    Arugonです。

    早速ですが質問です。下記のようなソースがあったとき、ZONEは
    KAMIで宣言されているので6行目~9行目までしか実行しません。
    なので、1行目~4行目は強調表示でフォントの色を変えたいのですが出来ますでしょうか?

    #define ZONE KAMI

    1 #if ZONE != KAMI
    2 a = 100
    3 b = 150
    4 #endif
    5
    6 #if ZONE == KAMI
    7 a = 200
    8 b = 300
    9 #endif

    備考:
    秀丸では、
    「その他(O)」⇒「ファイルタイプ別の設定」⇒「表示とカラー」⇒「モード」⇒「C言語/JAVA」⇒
    「#ifdef等のカラー表示」⇒「詳細」で設定できます。
    • [4480] Re:ある特定の#if、#ifdefの強調表示のやり方 りーや 2005年05月29日 20:46

      ▼ Arugonさん
      > 1行目~4行目は強調表示でフォントの色を変えたいのですが出来ますでしょうか?

      この一種類だけなら、コメントの #if 0 を書き換えちゃうくらいかな?
      正規表現キーワードではマルチライン指定の m 指示子が通らないので私にはノーアイデアです

      でも、秀丸もヘルプをみると、
      >> 秀丸は式の評価をしているわけではなく、
      >> 文字列が一致しているかどうかだけで判断している
      「#ifで有効にする式の内容」をそのつど全部入れなきゃならないということで、
      #define ZONE KAMI
      が効いているわけではないですね。入れ子のディレクティブに対応しているのはスゴイけど
      • [4483] Re2:ある特定の#if、#ifdefの強調表示のやり方 かて 2005年06月01日 09:28

        > ▼ Arugonさん
        > >> 秀丸は式の評価をしているわけではなく、
        > >> 文字列が一致しているかどうかだけで判断している
        > 「#ifで有効にする式の内容」をそのつど全部入れなきゃならないということで、
        > #define ZONE KAMI
        > が効いているわけではないですね。入れ子のディレクティブに対応しているのはスゴイけど

        それでも、#if 0、#if 1 の入れ子は結構便利だと思いました。

        次のようなソースがあった場合、
        7行目の括弧から「対応する括弧」を探した場合に
        サクラエディタを含めたほとんどのエディタは4行目に移動しますが、
        秀丸はキチンと2行目に飛んでくれたり。

        1 #if 1
        2 if(式1){
        3 #else
        4 if(式2){
        5 #endif
        6 <なんか色々な処理>
        7 }

    • [4481] 秀丸いつのまにか独自進化してますね りーや 2005年05月29日 21:06

      レジストはしたものの随分昔に EmEditor に乗り換えて、鶴亀メールのためにインストールだけはしてたのですが久方ぶりに最新版にしました。
      OLEドラック&ドロップ対応は、やっとという感じですがタブ付きの結合ウインドも追いついたし、言語系では「強調表示の一覧枠」がエディタ面の右側に常にダイナミックに変わるアウトライン表示のよう。
      気合の入った強調表示定義ファイルもライブラリに整備されてて、Ruby なんてチカチカするほどカラフル。
      また、少し使ってみようかと思わせるところもあるかなぁ?
      上の「ファイルタイプ別の設定」で「HTML/XML」と「C言語/Java」にだけ今のところ付いてる「プロパティ」というのは秀丸ならではのアプローチでしょうね。