5

これが可能/賢明かどうかはわかりませんが、javascriptファイルの文字列にhtmlハイライトを付けることができるかどうか知りたいと思いました。phpの文字列でSQL構文が強調表示される可能性があることを発見したので、それは可能だと思います。

しかし、私はvim-scriptingを知らないので、これについての助けはありがたいです。

私はBetterJavascript構文を使用しています。

PS:jsファイルの編集中にオンとオフを切り替えるオプションがあれば、それは素晴らしいことです

ありがとう

4

1 に答える 1

4

はい、構文ファイルのハッキングを気にしない場合は可能です。まず、Javascript構文ファイル内からHTML構文ファイルを含める必要があります:help syn-include。詳細については、を参照してください。次に、HTML構文が特定の要素(つまり文字列)内にあることを宣言する必要があります。第3に、有効または無効にするオプションが必要な場合は、これらのコマンドをグローバル変数に依存させ、変数を設定または設定解除するマッピングを記述してから、構文ファイルを再ロードできます。

インクルージョンがどのように機能するかの例についてsyntax/html.vimは、(JavascriptおよびCSS構文ファイルsyntax/perl.vimを含む)、(POD構文ファイルを含む)、またはphp.vim(グローバル変数を条件として、文字列でのSQL構文の強調表示を含む)を参照してください。

編集:私のコピーでこれを実際に実現するためのいくつかの作業を行いました

の頭のsyntax/javascript.vimすぐ下syn case ignoreに、を追加します

syn include @javaScriptHTML syntax/html.vim
unlet b:current_syntax
syn spell default " HTML enables spell-checking globally, turn it off

次に、とのリストに追加@javaScriptHTMLします。contained=javaScriptStringDjavaScriptStringS

最後に、 JavaScriptからロードされた場合syntax/html.vimにインクルードしようとしないように編集する必要があります。syntax/javascript.vim

if main_syntax != 'java' || exists("java_javascript")

に変更します

if main_syntax != 'javascript' && ( main_syntax != 'java' || exists("java_javascript")
于 2009-09-25T05:36:04.137 に答える