# 設定ファイルの作成方法

拡張子ごとの設定は、MSDファイルに記述されています。 このファイルの作成方法を以下に解説します。

## 基本仕様

作成位置
  <MAXY.EXEのあるディレクトリ>/types
ファイル名
  <設定名>.msd
  設定名は、メニューの[設定S]→[設定の変更C]をポイントした後に出てくるポップアップメニューに表示されます。
文字コード
  UTF-16LE（BOMなし）
改行コード
  CR+LF

## 記述方法

### コメント

先頭にセミコロン（;）のある行はコメントとして扱われ、無視されます。

### 書式

<変数> = <値>

- 値の内容は、変数名によって異なります（後述）。
- 認識できない変数や値が記述されている場合、その式は無視されます。
- 1行に記述できる式の数は1つ以下です。C言語のように、2つ以上の式を記述することはできません。

### 基本設定

基本的な設定です。

変数名 | 意味 | 説明
--- | --- | ---
filter | 設定を適用する拡張子（ワイルドカードで指定） | 複数の拡張子を指定するには、セミコロンで区切ります。
default-extension | 既定の拡張子 | 名前を付けて保存した時、拡張子を指定しなければここで指定した拡張子が自動的に付加されます。
quote-mark | 引用マーク | 引用符付きコピー等で付加される引用符を指定します。
flags | 動作フラグ | 以下の情報の論理和（もしくは算術和）を、16進数で指定します。
値（16進数） | 意味
--- | ---
01 | ファイルに含まれるBOMを自動的に検出
02 | 文字コードがUTF-8の場合、自動的に検出
04 | HTMLファイル（文字コードの検出精度が向上します）
08 | ルーラーを表示
10 | 行番号を表示
20 | 現在行に下線を表示
40 | 自動検出を行わず、常に規定の文字コード（後述）を使用
default-linefeed | 既定の改行コード | 改行コードを、以下のいずれかで指定します。
コード名 | 意味
--- | ---
CR | 復帰
LF | 改行
CR+LF | 復帰＋改行
NEL |
VT | 垂直タブ
FF | 改ページ
LS |
PS |
default-charset | 既定の文字コード | この設定の既定の文字コード（コードページ）を数値で指定します。 自動認識に失敗した時や、"flags"変数に"40"が含まれている時はこの文字コードが使用されます。 使用可能なコードページは、コントロールパネルの「地域と言語のオプション」から「詳細設定」タブをクリックすると「コード ページ変換テーブル(C)」に表示されます。

### テキストエリア

テキスト表示エリアの設定です。

変数名 | 意味 | 説明
--- | --- | ---
text.flags | 動作フラグ | 以下の情報の論理和（もしくは算術和）を、16進数で指定します。
値（16進数） | 意味
--- | ---
01 | ファイルを開いた時、自動的にIMEを起動
02 | 改行マークを描画
04 | 半角空白マークを描画
08 | 全角空白マークを描画
10 | タブマークを描画
20 | EOFマークを描画
text.tab-size | タブサイズ | タブに使用する文字数を指定します。
text.line-space | 行間 | 行と行の間隔をドット単位で指定します。
text.char-space | 文字間 | 文字と文字の間隔をドット単位で指定します。
text.font.flags | フォントの状態フラグ | 使用フォントについて、以下の情報の論理和（もしくは算術和）を、16進数で指定します。
値（16進数） | 意味
--- | ---
01 | アンダーライン
02 | 太字
04 | 斜体
08 | 打ち消し線
text.font.name | フォント名 | テキストエリア及び行番号で使用するフォントを指定します。
text.font.size | フォントサイズ | テキストエリア及び行番号で使用するフォントサイズを指定します。

### 色

フォントや背景等の色を設定します。 色は、6桁の16進数（RRGGBB）またはシステムカラーを指定します。

変数名 | 意味 | 説明
--- | --- | ---
color.text-underline | 現在行の下線の色 | "flags"変数に"20"が含まれている時の下線の色を指定します。
color.default.text | 文字の色 | 通常の文字色を指定します。
color.default.back | 背景の色 | 通常の背景色を指定します。
color.mark.text | マークの色 | 改行やタブ等のマークの色を指定します。
color.mark.back | マークの背景の色 | 改行やタブ等のマークの背景色を指定します。
color.line-number.text | 行番号の色 | 行番号の文字色を指定します。
color.line-number.back | 行番号の背景の色 | 行番号の背景色を指定します。
color.ruler.text | ルーラーの色 | ルーラーの線色を指定します。
color.ruler.back | ルーラーの背景の色 | ルーラーの背景色を指定します。

## 注意

- 1行の長さは、改行を含めて必ず256文字（512バイト）以内にしてください。
- 設定を変更・追加・削除した場合、これを反映するには一旦Maxyを全て終了する必要があります。
- 同じタイトルのMKWファイル（例："C++.msd"に対して"C++.mkw"）が存在する場合、そこで指定されたキーワードを強調表示します。詳しくはキーワードファイルの作成方法を参照してください。
- 設定ファイルを直接編集するのではなく、GUIから編集する機能はまだ作成していません。
- MSDファイルを100個以上作成した場合、最初に読み込んだ99個が有効となります。ただし、読み込まれる順番は保証されません。

## 記述例

MKWファイルの記述例として、C++言語の設定を以下に示します。

    ; 基本設定
    filter            = *.c;*.cpp;*.cxx;*.h;*.hpp;*.hxx;*.inl
    default-extension = cpp
    quote-mark        = >
    flags             = 3b
    default-linefeed  = CR+LF
    default-charset   = 50932

    ; テキストエリアの設定
    text.flags        = 3e
    text.tab-size     = 4
    text.line-space   = 0
    text.char-space   = 0
    text.line-color   = COLOR_BTNFACE
    text.font.flags = 00
    text.font.name  = ＭＳ ゴシック
    text.font.size  = 10

    ; 色の設定
    color.text-underline = COLOR_BTNFACE
    color.default.text = COLOR_WINDOWTEXT
    color.default.back = COLOR_WINDOW
    color.mark.text = ff8000
    color.mark.back = COLOR_WINDOW
    color.line-number.text = 808000
    color.line-number.back = ffffff
    color.ruler.text = 808000
    color.ruler.back = ffffff

Copyright© 2001-2008 しまたろ