Direct3Dの構文ファイルを作成していますが、属性に問題があります。
[unroll]
for(int i = 0...)
ここで、「展開」は属性です。正規表現を使用して、角かっこ内のいくつかのキーワードを検索し、それらを属性として識別しています。私が使用している正規表現は、開き角括弧の前にスペースがない場合を除いて、機能します。
[unroll] // does not work
[unroll] // works
少なくとも1つある限り、角括弧を開く前の空白(またはタブ)の数は関係ありません。
これは、私が使用している正規表現(展開のみに一致するように簡略化されています)です。
syn match hlslAttribute /^\s*\[unroll\]/
使用する場合も同じ問題:
syn match hlslAttribute /.*\[unroll\]/
編集:コメントで述べられているように:ファイルの検索中は機能しますが、構文の強調表示のパターンを一致させるときは機能しません。
現在の構文強調表示ファイルは次の場所にあります:http://pastebin.com/zr1bGLt0
.fxまたは.hlslファイルの構文ハイライトを有効にするには、hlsl.vimファイル(pastebinにあるファイル)をVimインストールの構文ファイルの場所(/ syntax:/ usr / share / vim / vim73 /)にコピーする必要があります。構文/)そしてこの行を.vimrcに追加します:
autocmd BufNewFile,BufRead *.fx,*.fxc,*.fxh,*.hlsl set ft=hlsl
次に、前の拡張子の1つを使用してファイルを作成し、次のように記述します。
[unroll]
[unroll]
2番目の線はすべて同じ色になりますが、最初の線は同じ色になりません。どちらも2番目のようにする必要があります。