vimscript での正規表現の使用について、少し混乱しています。私は本当に試しましたが、match
関数は私が期待していたものを返しません..特定のケースでは、カスタムの折り畳み式を作成しようとしています:
function! SuperColliderFolds()
let thisline = getline(v:lnum)
if match(thisline, '^[\s\t\n]*[[:lower:]]\w*\s*{') >= 0
return "1"
elseif match(thisline, '^entity'') >= 0
return ">2"
else
return "="
endif
endfunction
setlocal foldmethod=expr
setlocal foldexpr=SuperColliderFolds()
正規表現は、次のような構造を持つクラスのすべてのメソッドを折りたたむ必要があります。
ClassName{
methodName{//implementation
}
}
しかし、それは機能しません...特定の例について助けがあれば理想的ですが、質問は「vimscriptの正規表現に関して何が欠けていますか?」ということです。