# MacのCotEditorでファイルをシンタックスに関連付ける

ファイルを開いたとき、CotEditorは自動でそのファイルの種類を判定して適切なシンタックスを適用します。

このとき、どのシンタックスが適用されるかは、各シンタックス定義内で設定された「ファイル関連付け」の情報を元に決定されます。

## ファイル関連付けの優先順位

CotEditorは以下の順序で最適なシンタックスを捜査します。

1. ファイル名拡張子
   - ファイル名拡張子から対応するシンタックスを探します。このとき大文字/小文字を無視しますが、対応するシンタックスが複数ある場合は大文字/小文字が対応しているものを優先します。
   - 例: .html → HTML
   - 例: .hTmL → HTML
   - 例: .py → Python
2. ファイル名
   - 対応する拡張子がなかったとき、またはファイル名に拡張子がなかったときは、ファイル名全体を元に対応するシンタックスを探します。
   - 例: .htaccess → Apache
   - 例: makefile → Makefile
3. ファイル内の1行目のシェバン
   - 対応する拡張子・ファイル名がないとき、書類内の最初の行がシェバンであれば、それを手掛かりにシンタックスを探します。この捜査ではシンタックス定義のファイル関連付けの「インタープリタ」の設定が用いられます。シェバンの `#!` 直後のパスの最後の語句、またはパスが `env` の場合はその次の語句が、インタープリタ名として検索語句に使用されます。
   - 例: `#!/usr/bin/perl` → Perl (インタープリタ名: `perl`)
   - 例: `#!/usr/bin/env python3` → Python (インタープリタ名: `python3`)
4. XML宣言
   - 対応する拡張子・ファイル名・インタープリタがないとき、ファイル内容がXML宣言で始まっていたら、自動的にXMLシンタックスを適用します。
   - 例: `<?xml version="1.0" encoding="utf-8"?>` → XML
5. なし
   - 該当するシンタックスが何もないときは、シンタックスは「なし」に設定されます。

拡張子やファイル名など同じレベルで複数の対応シンタックスがあった場合は、バンドルされたプリセットのシンタックスよりもユーザのカスタムシンタックスが優先されます。さらにその中でも複数の対応シンタックスがあった場合は、自動的に最初に見つかったシンタックスを適用します。

## ファイル関連付けを編集する

シンタックスのアファイル関連付けルールを定義するには、シンタックスエディタの左のリストから「ファイル関連付け」を選択し、右側のリストに拡張子やファイル名、インタープリタを追加します。シンタックスエディタの開き方は「シンタックスを定義する」を参照してください。

## ファイル関連付けのコンフリクトを解決する

バンドルされているシンタックスにファイル関連付けのコンフリクトはありませんが、ユーザが独自にシンタックスを追加した場合やバンドルされているシンタックスのファイル関連付けを変更した場合は、コンフリクトがおこることがあります。現在ファイル関連付けのコンフリクトが発生しているかどうかは、「フォーマット」設定の「使用可能なシンタックス」リストのアクションポップアップメニューにある「ファイル関連付けのコンフリクトを表示」から探すことができます。この項目が選択不可能になっているときは、ファイル関連付けのコンフリクトは発生していません。

ファイルを期待するシンタックスで開くことができているかぎりは、ファイル関連付けのコンフリクトがあっても放置しておいてかまいません。

## 関連項目

- シンタックスを定義する
- 「フォーマット」設定を変更する