書類を開いたとき、CotEditorは自動でその書類の種類を判定して適切なシンタックスを適用します。
CotEditorは、各シンタックス定義内で設定された「ファイル関連付け」の情報を元にそれらを統合して、開いた書類にどのシンタックスを適用するかを決定します。
CotEditorは以下の順序で最適なシンタックスを捜査します:
ファイル名拡張子:
ファイル名拡張子から対応するシンタックスを探します。このとき大文字/小文字を無視しますが、対応するシンタックスが複数あるときは大文字/小文字が対応しているものを優先します。
以下に例を挙げます:
.html → HTML
.hTmL → HTML
.py → Python
ファイル名:
対応する拡張子がなかったとき、またはファイル名に拡張子がなかったときは、ファイル名全体を元に対応するシンタックスを探します。
以下に例を挙げます:
.htaccess → Apache
makefile → Makefile
書類内の#!ヘッダー:
対応する拡張子・ファイル名がないとき、書類内の最初の行が#!(shebang)ヘッダーであれば、それを手掛かりにシンタックスを探します。この捜査ではシンタックス定義のファイル関連付けの「インタープリタ」の設定が用いられます。#!ヘッダーの #! 直後のパスの最後の語句、またはパスが env のときはその次の語句が、インタープリタ名として検索語句に使用されます。
以下に例を挙げます:
#!/usr/bin/perl → Perl (インタープリタ名: perl)
#!/usr/bin/env python3 → Python (インタープリタ名: python3)
XML宣言:
対応する拡張子・ファイル名・インタープリタがないとき、ファイル内容がXML宣言で始まっていたら、自動的にXMLシンタックスを適用します。
以下に例を挙げます:
<?xml version="1.0" encoding="utf-8"?> → XML
なし:
該当するシンタックスが何もないときは、シンタックスは「なし」に設定されます。
同じレベルで複数の対応シンタックスがあった場合は、内蔵されたシンタックスよりもカスタムシンタックスが優先されます。それでも複数の対応シンタックスがあった場合は、CotEditorは最初に見つかったシンタックスを使用します。
シンタックスのアファイル関連付けルールを定義するには、シンタックスエディタの左のリストから「ファイル関連付け」を選択し、右側のリストに拡張子やファイル名、インタープリタを追加します。シンタックスエディタの開き方は、シンタックスを定義するを参照してください。
内蔵されているシンタックスにファイル関連付けのコンフリクトはありませんが、独自にシンタックスを追加したときや内蔵されているシンタックスのファイル関連付けを変更したときは、コンフリクトが起こることがあります。現在ファイル関連付けのコンフリクトが発生しているかどうかは、「フォーマット」設定の「使用可能なシンタックス」リストのアクションポップアップメニューにある「ファイル関連付けのコンフリクトを表示」から探すことができます。この項目が選択不可能になっているときは、ファイル関連付けのコンフリクトは発生していません。
書類を期待するシンタックスで開くことができているかぎりは、ファイル関連付けのコンフリクトがあっても放置しておいてかまいません。