English help on website



loadhilight文(Ver9.24対応版)
目次− loadhilight文
loadhilight文は、パラメータで指定された強調表示ファイルを読み込み,画面を再描画します。
loadhilight "test.hilight",0;
パラメータ1(文字列型)
ファイル名を指定します。
フルパスでない場合は、設定ファイル用のフォルダからの相対パスになります。

パラメータ2(数値型)
0にすると読み込んだものは一時的な設定になり、保存させません。(ファイルタイプ別の設定で「保存しないで更新」を押したときの状態)
1にすると、設定は保存されます。(「OK」を押したときの状態)

パラメータ3(数値型、省略可能)
読み込む対象を指定します。(V6.00以降)
指定しなければ強調表示が対象となります。

結果コード
読み込まれた対象の値が格納されます。



強調表示は、ファイルタイプ別の設定の強調表示の設定もONになっている必要があります。(マクロの config "y+"; 相当)
強調表示ファイルは普通のテキストファイルなので、マクロで内容を書き換える等してからloadhilightするという使い方もできます。
パラメータ3の対象は、以下の値をOR演算した値を指定します。
resultの読み込まれた対象の値でも使われます。
0x00000001    強調表示
0x00000002    複数行の強調
0x00000004    ツリー定義
0x00000008    カラー
0x00000010    #ifdef等の詳細
0x80000000    実際に読み込みをせずresultだけを得る
loadhilight "test.hilight", 0, 0x1f;
個数が多すぎて全て読み込めなかった場合は、getresultex(13)で状態を取得できます。


参考:
.hilight ファイルのフラグ
10進数   16進数   文字指定   意味
1   0x0001   h1   強調1
65   0x0041   h2   強調2
129   0x0081   h3   強調3
193   0x00C1   h4   強調4
257   0x0101   h5   強調5 (または259 0x0103)
321   0x0141   h6   強調6 (または323 0x0143)
385   0x0181   h7   強調7 (または387 0x0183)
449   0x01C1   h8   強調8 (または451 0x01C3)
5   0x0005   l1   行の強調1
69   0x0045   l2   行の強調2
133   0x0085   l3   行の強調3
197   0x00C5   l4   行の強調4
3   0x0003   s1   特に強調1
67   0x0043   s2   特に強調2
131   0x0083   s3   特に強調3
195   0x00C3   s4   特に強調4
上のいずれかと組み合わせするフラグ(10進数で上の値と足し算)
0   0x0000   c   大文字/小文字を区別する
8   0x0008   C   大文字/小文字を区別しない
16   0x0010   r   正規表現=ON
0   0x0000   R   正規表現=OFF
32   0x0020   w   単語の検索=ON
0   0x0000   W   単語の検索=OFF
行頭が"//"となっているとコメントになります。
行頭に"/"が1つが付いて保存されることがありますが、V6.00未満と秀tagsの互換のためで、"/"は無くてもいいです。
強調5〜8は、上記の値よりも +2 された値で保存されますが、上記の値でも、+2された値でも、どちらでも有効です。
「33,test1」の場合  : 強調1 , 単語 , 大文字/小文字を区別する , 文字列は"test1"
「0x21,test2」の場合 : 強調1 , 単語 , 大文字/小文字を区別する , 文字列は"test2"
「97,test3」の場合  : 強調2 , 単語 , 大文字/小文字を区別する , 文字列は"test3"
「0x61,test4」の場合 : 強調2 , 単語 , 大文字/小文字を区別する , 文字列は"test4"
文字指定は、数値の代わりに以下のように連続して書きます。
文字で指定する方法はV8.89以降が必要です。
「h1wc,test5」の場合 : 強調1 , 単語 , 大文字/小文字を区別する , 文字列は"test5"
「s2r,test6」の場合 : 特に強調2 , 正規表現 , 文字列は"test6"

フラグの部分は日本語の代替名で書くこともできます。(V9.12以降)
空白区切りで以下の文字列が使えます。フラグはカンマで終わり、カンマ以降は生の文字列を書けます。
「強調1」
「強調2」
「強調3」
「強調4」
「強調5」
「強調6」
「強調7」
「強調8」
「行の強調1」
「行の強調2」
「行の強調3」
「行の強調4」
「特に強調1」
「特に強調2」
「特に強調3」
「特に強調4」
「正規表現」
「単語の検索」または「単語」
「大文字/小文字の区別」または「普通」
「大/小区別なし」
強調1 正規表現 大/小区別なし,[a-z]+
強調2 普通 単語,#define


<HilightMultiEx>の後に複数行の強調のユーザー定義を日本語で記述できます。(V9.12以降)
1つの定義あたり、合計3行または2行で記述します。
最初の行は種類や表示方法などの情報で、空白区切りで以下の文字列が使えます。
「複数行」
「単一行(行末まで)」または「単一行」
「単一の文字列」
「次の行から色付け」
「普通の文字」
「スクリプト部分」
「強調1」
「強調2」
「強調3」
「強調4」
「強調5」
「強調6」
「強調7」
「強調8」
「数値」
「文字定数」
「行の強調1」
「行の強調2」
「行の強調3」
「行の強調4」
「コメント」
「#ifdef等の無効部分」
「特に強調1」
「特に強調2」
「特に強調3」
「特に強調4」
「開始文字列のタグを終了文字列でも使う」または「タグ使用」
「終了文字列2回ヒット」
「HTMLのカラー表示」または「HTML」
「子を含むのを許可」
「子になるのを許可」
「自身の入れ子を許可」
「\エスケープ」(\のエスケープ文字のみ限定)
「エスケープ文字=XX」(XXの部分はエスケープ文字のASCIIコード16進数)
次の行はタブ文字でインデントし、開始文字列を記述します。
強調表示同様に、フラグには以下の文字列が使えます。フラグはカンマで終わり、カンマ以降は生の文字列を書けます。
「正規表現」
「単語の検索」または「単語」
「大文字/小文字の区別」または「普通」
「大/小区別なし」
さらに次の行にもタブ文字でインデントし、終了文字列を記述します。
単一行や単一の単語の場合は必要ありません。
<HilightMultiEx>
複数行 文字定数 タグ使用
	正規表現,R"(.*?)\(
	正規表現,\)\1"
単一行(行末まで) コメント
	普通,//
ファイルタイプ別の設定でShiftやCtrlを押しながら保存すると、日本語のフラグで保存します。