Я пытаюсь определить регулярное выражение подсветки синтаксиса для определения функции для CodeMirror с помощью плагина простого режима.Я нашел этот пример в документах :
{
regex: /(function)(\s+)([a-z$][\w$]*)/,
token: ["keyword", null, "variable-2"]
}
, который отлично работает для синтаксиса ниже
но в моем случае я ищу выражение, которое удалось бы отформатировать foobar(arg1, arg2, ...)
(без function
).Простое переписывание определения в
{
regex: /(\s+)([a-z$][\w$]*)/,
token: [null, "variable-2"]
}
, похоже, не работает и производит подсветку синтаксиса:
Как получитьПодсветка синтаксиса без ключевого слова "function"?
Обновление
Согласно комментарию @Wiktor Stribiżew, который я пробовал:
{
regex: /(\w+\s*\(|\G(?!^)\s*,)\s*([a-z$][\w$]*)/,
token: ["variable-2", null]
}
Мне пришлосьпоменяйте местами элементы токена, иначе имя функции не было бы окрашено.Вопрос теперь в том, как заставить первый аргумент (функции, который я пытаюсь проанализировать) игнорировать, чтобы он был закрашен одним из следующих правил?В приведенном ниже примере var1
должен быть окрашен так же, как и другие стандартные переменные, такие как xyz
и abc
.