hilight ファイルの hilight ファイル

なんのこっちゃって感じですが、秀丸エディタ強調表示定義ファイル(以下 hilight ファイル)を秀丸エディタで開いて編集するための hilight ファイルです。

17,^0*(1|9|17|25|33|41|49|57),.*
81,^0*(65|73|81|89|97|105|113|121),.*
145,^0*(129|137|145|153|161|169|177|185),.*
209,^0*(193|201|209|217|225|233|241|249),.*
275,^0*(259|267|275|283|291|299|307|315),.*
339,^0*(323|331|339|347|355|363|371|379),.*
403,^0*(387|395|403|411|419|427|435|443),.*
467,^0*(451|459|467|475|483|491|499|507),.*
21,^0*(5|13|21|29|37|45|53|61),.*
85,^0*(69|77|85|93|101|109|117|125),.*
149,^0*(133|141|149|157|165|173|181|189),.*
213,^0*(197|205|213|221|229|237|245|253),.*
19,^0*(3|11|19|27|35|43|51|59),.*
83,^0*(67|75|83|91|99|107|115|123),.*
147,^0*(131|139|147|155|163|171|179|187),.*
211,^0*(195|203|211|219|227|235|243|251),.*

それぞれの強調に対応した強調の種類でハイライトします。あとは、コメント(//~行末)の強調とか、カラー・複数行の強調・ツリー定義・#ifdef等の詳細なんかの定義も強調したら完璧でしょうけど。

ついでに、さっき調べた強調のオプション(強調の種類とか大文字小文字を区別するか、とか)と数値の規則を書いておきます。

強調の種類数値
強調101
強調265
強調3129
強調4193
強調5259
強調6323
強調7387
強調8451
行の強調105
行の強調269
行の強調3133
行の強調4197
特に強調103
特に強調267
特に強調3131
特に強調4195

上の表の強調の種類に対応する数値とオプションによって以下のそれぞれの値の合計(論理和といっても OK )になります。

オプション足す値
大文字/小文字の区別が OFF+8
単語の検索が ON+32
正規表現が ON+16

例を出すと「強調1」で「大文字/小文字の区別がOFF」で「単語の検索がON」で「正規表現がOFF」の場合は 01 + 8 + 32 で 41 となります。( 16 進数の方が分かりやすいのですが、指定は 10 進数でしなくてはならないので...)

しかしこれ...、全通りを列挙しているという原始的な方法なので、設定が 1 つ増えただけで、列挙する数は 2 倍になってしまいますね...。

ていうか、 hilght ファイルの仕様はどこかに書いていないのかしら。他の人の hilght ファイル見て初めて中にコメントが書けることを知ったのだけれど。

あ、もちろん、上の hilght ファイルは手作業で書いたわけではなく。 HSP で自動的に作成しました。

a. 0 = 0x001, 0x041, 0x081, 0x0c1
a. 4 = 0x103, 0x143, 0x183, 0x1c3
a. 8 = 0x005, 0x045, 0x085, 0x0c5
a.12 = 0x003, 0x043, 0x083, 0x0c3

buf = ""
repeat 16
    i = cnt
    buf += "" + ( a.i + 0x010 ) + ",^0*("
    repeat 8
        j = cnt
        v = a.i
        if j & 1 : v += 0x008
        if j & 2 : v += 0x010
        if j & 4 : v += 0x020
        buf += "" + v
        if cnt < 7 : buf += "|"
    loop
    buf += "),.*\n"
loop
mesbox buf, 640, 480

hilightファイルの仕様についてですが、「秀丸エディタマクロヘルプ」のloadhilight文のページに解説が少しありました。(マクロのヘルプは盲点だった...)それと見比べるとところどころ上の表と違っていますね...恐らく当ブログの記事の方が間違っているのだとは思いますが、もう一度検証してみます。

強調5~8の値が公式ヘルプと 2 違うということでしたが、どちらでも問題ないようです。上の表は実際に保存して確かめた値です。参考までに 0 ~ 1023 のフラグで読み込んで保存したもの

インフォメーション

公開日時
2007年10月10日 午後8時50分41秒
最終更新日時
2007年10月28日 午後8時33分29秒
カテゴリ
秀丸エディタ