Я пытаюсь выделить пользовательский язык в TextMate.Однако следующее определение не выделяет вставки PHP (я выбираю его для моих файлов * .serpent):
{ scopeName = 'source.serpent';
fileTypes = ( 'serpent' );
patterns = (
{ begin = '<\?';
end = '\?>';
patterns = ( { include = 'source.php'; } );
},
);
}
Если я выбираю язык PHP, то части PHP подсвечиваются.
В чем может быть причина?Должно ли это работать?
Я также рассматривал вставки рубинов с разделителями <%%>, но это не работает с простейшей установкой.
Обновление
По-видимому, это проблема только PHP.Следующее определение языка выделяет языки Ruby и Serpent в моем тексте, но не вставки PHP!Что здесь не так?
{ scopeName = 'source.phpruby.serpent';
fileTypes = ( 'serpent', 'serpent.php', 'serpent.erb' );
patterns = (
{ begin = '<\?(php|=)?';
end = '\?>';
patterns = ( { include = 'source.php'; } );
},
{ begin = '<%';
end = '%>';
patterns = ( { include = 'source.ruby'; } );
},
{ include = 'source.serpent'; },
);
}
Я заставил его работать, заменив source.php на #language в моих шаблонах и скопировав репозиторий из языка PHP.