Ruby の正規表現を tmLanguage ファイルで使用できることはわかっていますが、拡張などの他の構成ファイルではそうではないようです。たとえば、言語貢献firstLine
の値を考えてみましょう。文字クラス (や など)を使用するとエラーが発生します。したがって、そこで実際に何が許可されているのだろうか。そこに空白をどのように一致させますか?\s
\p{L}
更新:コメントの後、私はこれを試しました:
"firstLine": "^(lexer|parser)?\\s*grammar\\w+;"
lexer grammar G1;
またはのような最初の行に一致するはずgrammar G1;
です。それ以外の場合は検証がないため、その RE が機能するかどうかをテストする方法はありますか?
更新 2 :
正しい文法を使用することが不可欠であり、魔法のように機能します。
"firstLine": "^(lexer|parser)?\\s*grammar\\s*\\w+\\s*;"