NEditor3 色分け設定ファイル「.n3e」作成方法

このページについて

このページでは、NEditor3で使用する色分けを設定したファイルの作り方を説明します。
このページのバージョンは0.3です。バージョン1.0までは読みづらいところがあるかもしれません。
また、このページで説明している色分け設定ファイルの書き方は、色分け設定ファイルの書式バージョンver.1に対応しています。
 

色分け設定ファイルの書き方

NEditor3の色分け設定ファイルは、「.n3e」という拡張子を持つテキストファイルです。
例として、標準でついている「html.n3e」を参考にしながら解説します。
まず、「html.n3e」の中身を以下に示します。
ver.1
NEditor3用色分け設定ファイル
速度重視のため--まで行は固定となっていますので編集の際はお気をつけください
HTML
1.0
.htm,.html
「<」「>」に囲まれた部分やコメント部分を色分けしています。「<」「>」内で「"」に囲まれた部分もまた色分けしてみました。
--
<-- --> 3 0 31 all -1 #808080
< > 3 0 5 all,-31 -1 #3333CC
" " 3 0 4 none,5 -1 #6600CC
色分け設定ファイル自体にも書いてありますが、速度重視のため「--」まで行は固定となっています。
8行目の区切り「--」までは単純なため、1行ずつ説明していきます。
1行目 色分け設定ファイルの書式のバージョンです。今のところ「ver.1」のみです。
ここに書かれているバージョンとして読み込みますので、必ず色分け設定ファイルの書式バージョンと同じものをお書きください。
2行目 NEditor3用の色分け設定ファイルであるということの説明です。
3行目 編集する際の注意書きです。記入しなくても問題ありません。
4行目 色分け設定ファイルの名前です。メインメニューの色分けメニューに使われます。
5行目 色分け設定ファイルのバージョンです。お好きな文字列をお使いください。
6行目 対応拡張子です。この拡張子を持つファイルを開いたときに自動的に色分けします。
他の色分け設定ファイルと被ってしまった場合に対応するための優先度の指定等はできません。
(先に読まれた色分け設定ファイルが優先されるため、ファイル名の文字順に適用されるはずです。NEditor3側で優先度を指定できるようにしたいところですが、機能追加時期は不明です。)
7行目 コメントです。
8行目 見やすくするための区切りです。
 
ここからは区切り「--」より下の行、色分け設定のところの説明をします。
まず、色分け設定は1行に一つずつ記入します。
タブ区切りで計7項の情報を記入します。
まず一項ずつ説明をさせていただきます。
1項目 単語単位で色分けする文字、または範囲を色分けするときのの文字です。
2項目 範囲を色分けするときの終わりの文字です。
3項目 色分けの設定です。表現しづらいのですが以下のリストを見ていただければどのような設定か分かっていただけるはずです。
 0:単語の色分け
 1:1項目の単語から行末まで色分け
 2:1項目目の単語から2項目目の単語までの範囲を色分け(同一行)
 3:1項目目の単語から2項目目の単語までの範囲を色分け(複数行)
4項目 色分けの設定です。オプション的な設定です。
 0:通常の色分け
 1:太字(未対応)
 2:大文字と小文字の区別をしない(多用するとレスポンスが悪くなるようです)
 4:行頭のみ色分け
たとえば、大文字と小文字の区別をせず、かつ行頭のみ色分けしたい場合は2+4をして6となります。
5項目 色分けレベルです。詳細は後述します。
1から31の範囲で指定してください。
6項目 色分けを行うレベルです。このレベル内でのみ色分けします。詳細は後述します。
まず、初期状態を記入します。
全てのレベルで色分けを行う場合はall、全てのレベルで色分けを行わない場合はnoneと記入します(こちらは省略可)。
最初にallと記入した場合、,区切りで「-レベル」を記入して色分けを行わないレベルを記入していきます。
最初にnoneと記入した場合は、,区切りで色分けを行うレベルを記入してください。
7項目 色分けする単語の独立の度合いを設定します。詳細は後述します。
通常は-1で良いと思われます。
8項目 色です。16進数で#XXXXXXという書き方で指定してください。
 
上表で後述すると述べたもののうち、まず色分けレベル色分けを行うレベルについて説明します。
この色分けのレベルというものは、色分けする範囲がかぶったときにどう処理するかを決めるための機能です。
最初の「html.n3e」の例を再び引用します。
<-- --> 3 0 31 all -1 #808080
< > 3 0 5 all,-31 -1 #3333CC
" " 3 0 4 none,5 -1 #6600CC
まず「<-- 」〜「 -->」の色分けでは、色分けレベルが31、色分けを行うレベルがallとなっています。
31という数値自体には意味はありません。
次に「<」〜「>」の色分けを見ると、色分けレベルが5、色分けを行うレベルがall,-31となっています。
色分けを行うレベルをall,-31とすることで、色分けレベル31以外では色分けを行うということになっています。
すなわち、「<-- 」〜「 -->」の範囲以外では「<」〜「>」の色分けを行います。
最後に、「"」〜「"」の色分けを見てみると、色分けレベルが4、色分けを行うレベルがnone,5となっています。
none,55のみでも同じ意味を持ちます。
none,5と指定することで、色分けレベル5の範囲でのみ色分けすることになります。
すなわち、「<」〜「>」の範囲の中にあるときのみ、「"」〜「"」を色分けします。
以上のように、色分けのレベルという機能により複雑な色分けが可能になります。
 
次に、色分けする単語の独立の度合いの設定について説明します。
これは、色分けする文字の前後にあることを許可する文字を指定するものです。
たとえば、「<-- 」「 -->」が前後にある場合のみbrを色分けするということが可能になります。
以下に一覧を示します。(右側はFooty2の解説を使わせていただきました)
1 前後に丸括弧()があることを許可する
2 前後に中括弧{}があることを許可する
4 前後に山形括弧<>が前後にある場合のみがあることを許可する
8 前後に各括弧[]があることを許可する
16 前後にコーテーション'"があることを許可する
32 前後にアンダーバー_があることを許可する
64 前後に演算子 + - * / % ^ = があることを許可する
128 前述のものを除く全てのASCII記号 # ! $ & | \ @ ? , .
256 前後に(半角)数字を許可する
512 前後に大文字アルファベットを許可する
1024 前後に小文字アルファベットを許可する
4096 前後に半角スペースを許可する
8192 前後に全角スペースを許可する
16384 前後にタブを許可する
65536 日本語
131072 韓国語
262144 東ヨーロッパ言語
-2147483648 上記以外
以下は上記の設定をまとめたものです
255 全てのASCII記号列を許可する
3840 全てのASCII文字を許可する(数字とアルファベット)
61440 全ての空白文字列を許可する
-65536 全てのキャラクタセットを許可する(日本語、韓国語…)
-1 全て
以上を、複数指定する場合は足し合わせた数字にして記入してください。
たとえば、<>が前後にある場合なら4、{}と[]が前後にある場合なら2+8より10となります。
 
以上、NEditor3用色分け設定ファイルの書き方の説明とさせていただきます。