強調表示ファイルの書式についてNo.06173
tamae さん 09/07/10 15:16
 
こんにちは
.hilightファイルを読み込んだり弄ったりするマクロを作っているところなのですが、
V6.00以降で追加された /<title> で始まるカラーやツリー定義などの項目の
書式がよくわからず難航しています。
(マクロヘルプも見ているのですが調べ方が悪いのかうまく見つけられませんでし
た。)
これらの解説テキストなどありましたらお教え願えませんでしょうか?

一応自分で調べて何となくはわかってきたのですが不明な点がいくつかあります。
識者の方にアドバイス等いただけたら嬉しいです。

・ /<ColorSet> のインデクス番号
 45 = 見出しバー
 46 = 折りたたみ用の余白
 47 = 折りたたまれた行の表示
 48 = アウトライン解析の枠選択
 49 = IME変換中の色
 50 = ????
(0〜44は マクロヘルプの configcolor にありました。50番目が不明です)

・ /<ColorSetEx> カーソル行の色取得
CurLineColorEx:0x0100000x (システム色)の時の実際の色をマクロから取得したいで
す。
 loadhilight $hilightfile ,0,0x1F;
 message hex(getconfig("CurLineColorEx"));
としてみましたが 0x0100000x がそのまま帰ってきてしまいました。
レジストリから "CURRENTUSER\Control Panel\Colors" あたりを直接見る以外
方法はないのでしょうか。
(ちなみに /<ColorSet>については getconfigcolor で実際の色を拾えています。)

・ /<HilightMulti> (複数行コメントのユーザー定義情報)
/表示方法,種類,終了文字列2回ヒット,エスケープ文字,開始オプション,"開始文字列
",終了オプション,"終了文字列"

実際にユーザー定義が有効になっているかどうかは .hilightファイルには
出力されないようですが、これをマクロから指定することは可能でしょうか?
複数行コメントの状態 (自動判定 / 言語指定 / ユーザー定義 )
どれが有効になっているかの読出し および 指定方法
(ヘルプの config / configcolor は見たのですがちょっとわかりませんでした)
一時的な設定での利用をメインに考えていますのでレジストリを直に読み書きする方
法はできれば避けたいです。

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

[ ]
RE:06173 強調表示ファイルの書式についてNo.06176
h-tom さん 09/07/11 12:50
 

h-tom です。

取りあえず、わかるところだけです。
>実際にユーザー定義が有効になっているかどうかは .hilightファイルには
>出力されないようですが、これをマクロから指定することは可能でしょうか?
>複数行コメントの状態 (自動判定 / 言語指定 / ユーザー定義 )
>どれが有効になっているかの読出し および 指定方法
getconfig("ColorComment")で、取得は可能ですが、自動判定の場合は、
判定結果が取得されます。
設定は、configでできるとは思いますが、やったことはないです。

[ ]
RE:06176 強調表示ファイルの書式についてNo.06182
tamae さん 09/07/11 22:06
 
ht-tomさん、こんにちは。
「h-tom's Warehouse」参考にさせていただいています。
ためになる情報が多く助かってます。
レスありがとうございます。

>getconfig("ColorComment")
ありがとうございます。取得/設定ともに上手くいきました!
隠しコマンドかと思ってヘルプ見たらちゃんと書いてありました(汗)
調べ方が足らなかっただけみたいです。本当ににありがとうございました。


しかし、ColorSet [50]の項が謎です
.hilightファイルでは すべて 0x00000000
マクロ内で configcolor しても getconfigcolor() で返ってくる値が一致しないで
すし。
予備か内部用の場所なんでしょうかね。

[ ]
RE:06182 強調表示ファイルの書式についてNo.06183
h-tom さん 09/07/11 23:42
 

h-tom です。

>ありがとうございます。取得/設定ともに上手くいきました!
>隠しコマンドかと思ってヘルプ見たらちゃんと書いてありました(汗)
>調べ方が足らなかっただけみたいです。本当ににありがとうございました。
しかし、改めて見てみると、"xColorComment"の機能説明だと、複数行コメント
の設定だとは、気がつきにくいかな?
でも、コメントの設定以外もあるので、「カラー表示にするモード」も間違い
じゃないし。

>しかし、ColorSet [50]の項が謎です
>.hilightファイルでは すべて 0x00000000
>マクロ内で configcolor しても getconfigcolor() で返ってくる値が一致しないで
>すし。
>予備か内部用の場所なんでしょうかね。
あとは、秀丸メール用かもしれません。
取りあえず、45以降は、明確にされていないので、一度、担当さんに確認した方が、
いいでしょう。
(この会議室だと、気づかれない場合もあるので、秀丸エディタの会議室で、聞いた
ほうがいいかもしれません。)

[ ]
RE:06183 強調表示ファイルの書式についてNo.06187
tamae さん 09/07/12 12:04
 
h-tomさん。レスありがとうございます。

秀丸メール用ですか、その可能性は考えていませんでした。

>一度、担当さんに確認した方が、いいでしょう。
そうですね、しばらく様子を見てこちらでレスがつかないようでしたら、
秀丸エディタの会議室で聞き直ししてみたいと思います。
ご助言ありがとうございます。

[ ]
RE:06187 強調表示ファイルの書式についてNo.06190
秀丸担当 さん 09/07/13 11:26
 
回答が遅れて申し訳ありません。
hilightファイルの /<ColorSet> などについてですが、公式にドキュメント化さ
れた情報は無いと思います。

>・ /<ColorSet> のインデクス番号

/<ColorSet> の 45〜49番 については、tamaeさんの書かれた通りの情報です。
50番は、内部的に使っている情報で、hilightファイルとしては意味が無いです。
具体的には、マークしていてさらに編集した行の色のためのものですが、ここに
何か書いてもそれが反映されるわけではありません。
本来ファイルに出力するべき内容ではありませんでした。
また、ヘルプには、configcolorのほうに45番以降を書いておきます。

>・ /<ColorSetEx> カーソル行の色取得

システム色の場合は、
0x010000xx
という感じで、xxの部分はWin32APIのGetSysColorに渡す値と同じです。
マクロから実際の色に変換することはできないのですが、レジストリから判断で
きるというのは知りませんでした。
HKEY_CURRENT_USER\Control Panel\Colors で取得できるということで、これで変
換できそうですね。

getconfigcolorと同じように、既に読み込まれた色を取得するということでよけ
れば、getconfig( "CurLineColor" ) または getconfig( "CurLineColorEx" ) で
できると思います。

>実際にユーザー定義が有効になっているかどうかは .hilightファイルには
>出力されないようですが、これをマクロから指定することは可能でしょうか?

h-tomさんの言われる通りの方法できるようですね。
config文の ColorComment というのは、以前は「カラー表示にするモード」とい
う設定名だったのですが、今は「複数行コメント」という設定名に変わっている
ので、ヘルプを修正しておきます。

[ ]
RE:06190 強調表示ファイルの書式についてNo.06192
tamae さん 09/07/13 14:31
 
秀丸担当様、レスありがとうございます。

>50番は、内部的に使っている情報で、hilightファイルとしては意味が無いです。
>具体的には、マークしていてさらに編集した行の色
ありがとうございます。謎が解けてすっきりしました。言われてみれば確かに
getconfigcolor(50,n); ではそういう感じの色が返ってきていました。

>hilightファイルの /<ColorSet> などについてですが、公式にドキュメント化さ
>れた情報は無いと思います。
あ、そうなんですか。あまり強調ファイル自身をカスタマイズする人はいない
ということなのでしょうか。ファイルタイプの設定を色々弄っては書き出しを繰り返
して
おおよその予想はついたのですが

/<TreeWord>
/000X,000X,0000,00000000,00000010,"",""

の 5番目の項目の下から二桁目(00000010)
定義方法やオプションをいろいろ変えてみたのですがここだけ常に1の状態っぽいです。
これも内部フラグなんでしょうか?

あとこれはうちの環境だけかもしれないですが、カラーセットの「検索文字列の強調」
ファイルタイプ別の設定のダイアログで スタイル=透過 を指定しても実際の表示では
下位層のスタイル情報を継承できてないみたいでした。
ヒット部分だけボールドが解除されてたりしてます (WinXP SP3 秀丸 Version.7.11)

>・ /<ColorSetEx> カーソル行の色取得
>getconfigcolorと同じように、既に読み込まれた色を取得するということでよけ
>れば、getconfig( "CurLineColor" ) または getconfig( "CurLineColorEx" ) で
>できると思います。
こちらの環境では getconfig( "CurLineColor(Ex)" ) では"5 0 0" / 0x01000005 や
 "8 0 0" / 0x01000008 がそのまま返ってきてるみたいです。
前途のレジストリ箇所でも見れるのですが、個人的に持ち出しキットと一緒に使用する
ことが多いためちょっと面倒だったんです。結局 configcolorで適当な場所に一時的に
セットしてから getconfigcolor()で 読み出す方法で何とかできました。

[ ]
RE:06192 強調表示ファイルの書式についてNo.06194
秀丸担当 さん 09/07/13 16:00
 

>の 5番目の項目の下から二桁目(00000010)
>定義方法やオプションをいろいろ変えてみたのですがここだけ常に1の状態っぽいで
>す。
>これも内部フラグなんでしょうか?

調べてみたところ、ここはアウトライン解析の設定の「ツリーの動作...」の「レ
ベルの見せ方」が相対的か絶対的かの情報でした。

>ファイルタイプ別の設定のダイアログで スタイル=透過 を指定しても実際の表示では
>下位層のスタイル情報を継承できてないみたいでした。

試してみましたが、特に問題は見られませんでした。
透過されない場合の他の強調表示やサンプルとなるテキストなどを教えていただ
けると何かわかるかもしれません。

>こちらの環境では getconfig( "CurLineColor(Ex)" ) では"5 0 0" / 0x01000005 や
> "8 0 0" / 0x01000008 がそのまま返ってきてるみたいです。

その通りでした。これでは解決になっていませんでした。すみません。

[ ]
RE:06194 強調表示ファイルの書式についてNo.06196
tamae さん 09/07/15 09:27
 
秀丸担当さん、レスありがとうございます。

>調べてみたところ、ここはアウトライン解析の設定の「ツリーの動作...」の「レ
>ベルの見せ方」が相対的か絶対的かの情報でした。

ありがとうございます。ツリー動作のレベルや行頭の無効行も定義に含まれているん
ですか。
そういうところまで考えると外部の人間が資料なしで全てを把握するのは無理っぽい
ですね。
具体的に使いたい箇所以外の調査はそこそこで切り上げたいと思いますが、最後に一
つだけ
(何度もすみません)、ツリー定義の3番目の項目は何の設定なのでしょうか?
こちらでの書き出しでは常に0000の状態で変化が見られませんでした。

>ファイルタイプ別の設定のダイアログで スタイル=透過 を指定しても実際の表示では
>下位層のスタイル情報を継承できてない

すみません、これは自分の勘違いでした。
透過が継承されなかったのは、強調表示でレベル付けされた文字ではなく
colormarker文で一時的に色とスタイルをセットした箇所でした。
(見た目ボールドになってても、本来のスタイルが「普通」なのでその通りに
表示されていただけみたいです)

[ ]
RE:06196 強調表示ファイルの書式についてNo.06197
秀丸担当 さん 09/07/15 09:45
 

>(何度もすみません)、ツリー定義の3番目の項目は何の設定なのでしょうか?
>こちらでの書き出しでは常に0000の状態で変化が見られませんでした。

調べてみたところ、定義によって検索された行と、実際にアウトライン解析に表
示される行にずれがある場合を想定して考えられていたオプションでした。
設定ダイアログにはその項目は無いので、ここは意味が無いです。

 ---------
 見出し

というテキストの場合、「---------」を定義すると、アウトライン解析は「---
------」だらけになってしまいますが、3番目の項目が0001になっていると1行
下にずらして「見出し」を表示します。
・・・ということを想定していたのですが、編集すると整合性が取れなくなって
きてしまうため、ボツになったのだと思います。

[ ]
RE:06197 強調表示ファイルの書式についてNo.06198
tamae さん 09/07/15 14:16
 
秀丸担当さん、レスありがとうございます。

なるほど、では気にしなくても大丈夫そうですね。
小分けで何度も質問して調べさせてすみませんでした。
ありがとうございます。

[ ]