強調表示

強調表示の設定は、オプションダイアログにて行います。
インストール時はハイライト定義ファイルとして「./hl/highlight.dat」が選択されています。このファイルにはコメント記号、URL、ドルマークで始まる単語、タグ*1で囲まれた文字列、二重括弧*2で囲まれた文字列を強調する設定が保存されています。
「highlight.dat」は専用形式に変換されていますので、内容を確認しても数字と記号だけで意味不明ですが、これの元になったファイルにいくつか定義を加えたものを見てみましょう。インストールフォルダの「./test/強調表示用.txt」をエディタなどで開いてください。

./test/強調表示用.txt

((	pair tags ))
<	pair tags >
http	noblank url
#	nobreak comment
*	nobreak comment
file:	nobreak url
test	word syntax1
$	noblank syntax2
"	char syntax3

各行に強調表示させたい文字列の定義が記されています。データの形式は次の通りです。

強調表示したい文字列の先頭部分<tab>文字列の定義<space>タグ名<space>対応するペア(pairのみ)

タグ名が「url」になっている行を見てみましょう。「http」「noblank」「url」の3要素が書かれています。

  • 1つめの要素「http」には、強調表示したい文字列の先頭部分が書いてあります。
  • 2つめの要素「noblank」には、文字列のクラスが書いてあります。
    • noblank:1つめの要素で指定された文字列で始まり、次の空白文字(スペースやタグ、改行)までに含まれる文字列
    • nobreak:1つめの要素で指定された文字列で始まり、次の改行までに含まれる文字列
    • word:1つめの要素で指定された文字列で構成される単語*3
    • char:1つめの要素で指定された文字(1文字)
    • pair:1つめの要素で指定された文字列で始まり、4つめの要素で指定される対応文字列(閉じ括弧など)で終わる文字列
  • 3つめの要素:「url」にはタグ名が書いてあります。このタグ名は色の設定項目と対応づけられています。詳細は次項にて説明します。
  • 4つめの要素:「./test/強調表示用.txt」の先頭の定義には、4つめの要素「))」が書いてあります。1つめの要素「((」に対応する文字列となります。2つめの要素が「pair」である場合は、必ず4つめの要素を指定します。「pair」でない場合は、この要素は必要ありません。

「./test/強調表示用.txt」には、「highlight.dat」に含まれていない「test」と「"(ダブルクオーテーション)」が書かれています。そのため、このファイルから強調表示用ファイルを作成すると「test」と「"」の部分が強調表示されるようになります。それぞれ「syntax1」と「syntax3」のタグが付けられているので、このタグに対応した強調表示が行われます。試しに新規作成ボタンを押して「強調表示用.txt」からハイライト定義ファイルを作成し、「test」と入力してみてください。強調表示されるはずです。

「(( pair tags ))」と「< pair tags >」は必須要素です。ハイライト定義ファイルを作成する場合は、この2要素を含める必要があります。

タグと色の設定項目の対応関係

強調表示のタグ名は色の設定項目と対応づけられています。定義されているタグ名は次の通りです。

タグ 色の設定項目
comment 08.コメント行の文字色
url 10.URLの文字色
tags 15.タグに囲まれた文字列
syntax1 16.強調表示1の文字色
syntax2 17.強調表示2の文字色
syntax3 18.強調表示3の文字色

※設定項目の番号は、色設定コマンドバー上の番号を示しています。

「強調表示用.txt」では、「test」を「syntax1」としていますので、色設定コマンドバー上で「16.強調表示1の文字色」を赤色に設定すると、Xin上で入力された文字列「test」が赤色に強調表示されます。
なお、括弧の設定に登録している文字については、charクラスで強調表示設定を行っても正しく処理されません。ご了承ください。

色の設定項目


Xinで設定できる色の項目は以下の通りです。

テキストの色
通常の文字列です。
テキストの背景色
通常の文字列の背景色です。
入力カーソルの色
点滅している入力カーソルの色を変更します。
行番号の文字色
画面左側の行番号の文字色です。
行番号の背景色
行番号の背景色です。上の画像では薄いグレーに設定されています。
選択時の行番号の色
行番号をダブルクリックしてマーキングした時の行番号の色です。上の図では青に設定されています。
境界線の色
行番号表示欄とテキスト表示欄を分ける境界線の色です。
コメント行の文字色
「#」ではじまる文字列の色です。
括弧の文字色
Xinでは開き括弧または閉じ括弧の右側にカーソルを持ってくると、対応する括弧が強調表示されます。その時の色を設定します。
URLの文字色
URL(uniform resource locator)の文字色です。
検索語句の文字色
検索した文字を強調表示するための文字色です。
検索語句の背景色
検索した文字を強調表示するための背景色で、上の画像では黄色に設定されています。
選択テキストの文字色
マウスなどでドラッグした時の文字色です。
選択テキストの背景色
マウスなどでドラッグした時の背景色です。
タグに囲まれた文字列
<文字列>のように<と>で囲まれた部分を強調表示するための色です。上の図ではグレーに設定されています。
強調表示1〜3の文字色
強調表示1〜3については、強調表示の設定をご参照ください。
タブの背景色、半角スペースの背景色、全角スペースの背景色
タブやスペースの背景色を指定します。これらの背景色を強調表示するにはオプションダイアログの「強調表示」タブで「空白文字を強調する」を有効にする必要があります。

*1:<と>

*2:((と))

*3:「単語」ですので、たとえば「testing」は強調表示されません。