English help on website



colormarker文(Ver9.35対応版)
目次検索系文− colormarker文
colormarker文は、範囲選択をした部分に、カラーマーカーを付けたりするなどの操作をします。(V7.00以降)
colormarker 0x0000ff,0xff0000,-1,0;
colormarker 0x0000ff,0xff0000,-1,0,#user,$layer,#line1,#col1,#line2,#col2;
パラメータ1(数値型 または 文字列型、省略可能)
文字色を指定します。24bitのRGB値です。
または#から始まる文字列も指定できます。(V9.10以降)
または{から始まる文字列の場合、JSONで指定できます。(V9.19以降)詳細
パラメータ1以降全て省略すると、範囲のカラーマーカーを削除します。

パラメータ2(数値型 または 文字列型、省略可能)
背景色を指定します。24bitのRGB値です。
または#から始まる文字列も指定できます。(V9.10以降)
省略すると、透明になります。

パラメータ3(数値型 または 文字列型、省略可能)
スタイルを指定します。以下の値を指定できます。
省略すると透過になります。
-1 透過(V8.40以降)
0 普通
1 ボールド
2 下線付き
3 下線付きボールド
4 イタリック
5 イタリックボールド
6 下線付きイタリック
7 下線付きイタリックボールド
8 白抜き
9 極太
10 影付き
11 透過
JSON指定と同じ文字列による指定もできます。(V9.20以降)

パラメータ4(数値型、省略可能)
種類を指定します。以下の値のいずれかを指定できます。
省略すると、「編集しても維持」になります。
0x00 編集しても維持
0x01 編集したら分裂
0x02 編集したら消える
以下の値をOR演算して指定できます。
0x10 改行に色付けするとき、改行以降の余白などにも背景色を適用。(V8.92以降)
32ビット値の上位16ビットで強調表示としての指定ができます。(後述)(V8.92以降)

パラメータ5(数値型、省略可能)
ユーザーデータを指定します。
任意の値を入れることができます。

パラメータ6(文字列型、省略可能)
レイヤー名を指定します。(V8.30以降)
省略した場合は、名前なしのレイヤー(一時的なカラーマーカー相当)になります。

パラメータ7(数値型、省略可能)
開始位置の行番号を指定します。1から数えます。(V8.40以降)
開始位置以降を省略すると、範囲選択が対象になります。
位置を指定する場合は、開始行/桁と終了行/桁の4つを全部指定する必要があります。

パラメータ8(数値型、省略可能)
開始位置の桁を指定します。0から数えます。

パラメータ9(数値型、省略可能)
終了位置の行番号を指定します。1から数えます。

パラメータ10(数値型、省略可能)
終了位置の桁を指定します。0から数えます。

結果コード
成功した場合はresultは0以外になります。
失敗した場合はresultは0になります。

JavaScript
JavaScriptの場合、パラメータ1はオブジェクトを指定できます。(JSONの文字列でも可)(V9.19以降)


任意の位置に、幾つでもカラーマーカーを付けることができます。
V8.30以降ではBOX選択でも適用されます。
文字色、背景色について
文字色、背景色は24bitのRGB値です。
色は24bitの数値で、第0〜7bitが赤、8〜15bitが緑、16〜23bitが青です。例えば赤は0x000000FF、緑は0x0000FF00、青は0x00FF0000、白は0x00FFFFFF、黒は0x0000000になります。
-1を指定すると透明になります。
色を文字列で指定することもできます。(V9.10以降)
文字列指定の場合先頭に#を付けて、6桁のRGB順の16進数文字列を記述します。例えば赤は"#FF0000"、緑は"#00FF00"、青は"#0000FF"になります。
3桁の16進数文字列では、赤は"#F00"、緑は"#0F0"、青は"#00F"になります。
""を指定すると透明になります。

レイヤー名について
レイヤー名を指定すると、上書きしたり削除したりしても他のレイヤーにあるカラーマーカーには影響を与えないようにできます。
指定しない場合は名前なしのレイヤーになります。
「一時的なカラーマーカー」系のコマンドは名前なしのレイヤーです。
レイヤーの数には上限があります。
際限なく幾つもレイヤーを作るような使い方は避けてください。
上限は、V8.30〜V8.42は11個まで、V8.50〜V8.81は22個まで、V8.83以降は32個までです。
レイヤー名の先頭に"\x01#"が付く文字列は内部的に予約された文字列になるので使用できません。

位置指定について
開始行, 開始桁, 終了行, 終了桁を指定すると、範囲選択していなくても、指定した位置を色付けします。
lineno, column相当の行と桁で表します。

省略について
パラメータは省略できます。(参考:省略について
全て何も指定しないか、全て透明・透過を指定して後のパラメータを指定しないと、範囲選択に含まれるカラーマーカーを削除します。
または、deletecolormarker文で削除できます。

その他
同じレイヤーで既にカラーマーカーがある位置にカラーマーカーを付けた場合は上書きされます。
ファイルに保存されることはありません。

パラメータ4について
種類の32ビット値の上位16ビットで指定できる強調表示の値:(colorcodeと似ています)
0x00190000 ... スクリプト部分
0x00040000 ... 強調表示1
0x00070000 ... 強調表示2
0x00160000 ... 強調表示3
0x00170000 ... 強調表示4
0x40040000 ... 強調表示5
0x40070000 ... 強調表示6
0x40160000 ... 強調表示7
0x40170000 ... 強調表示8
0x001b0000 ... 数値(V8.98β7以降)
0x00060000 ... 行の強調表示1
0x00090000 ... 行の強調表示2
0x40060000 ... 行の強調表示3
0x40090000 ... 行の強調表示4
0x00030000 ... コメント
0x00140000 ... 文字定数
0x001A0000 ... #ifdef等での無効部分
0x00050000 ... 特に強調表示1
0x00080000 ... 特に強調表示2
0x40050000 ... 特に強調表示3
0x40080000 ... 特に強調表示4
強調表示の値を指定している場合は、文字色=-1、背景色=-1、スタイル=-1で指定しない場合は、本来の強調表示の色やスタイルが適用されます。

強調表示として指定したものは、対応する括弧からの除外、検索での追加の条件や、アウトライン解析の強調表示の指定など、強調表示としての意味を持つようになります。

行の強調表示の変化がある場合、範囲外の描画をするためにredrawをする必要がある場合があります。
行の強調表示で行全体を任意の色にする場合は、行頭から改行を含めた次の行の行頭までを対象にしたうえで、種類のフラグの0x10も一緒に指定する必要があります。

アウトライン解析の変化がある場合、更新するためにrefreshoutlineをする必要がある場合があります。

JSON指定/オブジェクト指定について
JSON指定/オブジェクト指定について
参照:
nextcolormarker
prevcolormarker
enumcolormarkerlayer

colormarker
getcolormarker
setselectionrange
getselectedrange