Я знаю, что могу использовать регулярные выражения 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*;"
firstLine
, поэтому я не вижу, не забыли ли вы избежать обратной косой черты, например\\s
. - person Andrew Morton   schedule 21.08.2016\s
. Это не было необходимо в моем файле tmLanguage. - person Mike Lischke   schedule 21.08.2016