私はvim構文ファイルを書いています。 そして、いくつかの既存の構文ファイルでmain_syntax
という変数が使用されています。 しかし、私はそれを説明するドキュメントを見つけることができません。main_syntaxの意味は何ですか
このdocumentは、である別の変数b:current_syntax
のみを記述し、現在の構文が何であるかを別のスクリプトに伝えます。
main_syntax
は同じ意味を持っています。 これは従来の変数ですか?
私はvim構文ファイルを書いています。 そして、いくつかの既存の構文ファイルでmain_syntax
という変数が使用されています。 しかし、私はそれを説明するドキュメントを見つけることができません。main_syntaxの意味は何ですか
このdocumentは、である別の変数b:current_syntax
のみを記述し、現在の構文が何であるかを別のスクリプトに伝えます。
main_syntax
は同じ意味を持っています。 これは従来の変数ですか?
一部の構文スクリプトでは、:syntax include
で別の構文にインポートすることができます。 javascript inside html。
変数main_syntax
は、どの構文が実際にユーザー/ファイルタイプによって設定されたかを追跡します。インクルードされた構文スクリプトは、この変数が設定されているときに既存の構文項目のクリアを省略します。 (b:current_syntax
が設定されている場合は、構文スクリプトは:finish
になります。b:current_syntax
との別の相違点は、main_syntax
は実際の構文読み込み処理中にのみ定義され、他の文字はそのままです。
TL; DR:他の構文を含める/自分自身をサポートする場合は、条件付き定型文を既存の構文からコピーします。 $VIMRUNTIME/syntax/html.vim
;もしそうでなければ、あなたはこれを無視することができます。
これがvimでサポートされている概念の慣習であるかどうかはわかりません。後者の場合、どうやってドキュメントを見つけましたか? –
@DanielKaplan:明示的なドキュメントはありませんが、Vimに同梱されているいくつかの構文では 'main_syntax'を使用しています。ほとんどの構文作成者がそれらの構文に基づいているので、それは強力な規約であり、恐らくBramもサポートしています。これを文書化する必要があると思われる場合は、docパッチを提出してください! –