Подсветка синтаксиса подлипа в Vim

Сначала я покажу конкретную проблему, но думаю, что проблему можно обобщить.Я работаю с языком, который имеет явный синтаксис скобок (например, Lisp), но имеет ключевые слова, которые зарезервированы только для левой части.Пример:первое является зарезервированным словом, а второе является ссылкой на переменную с именем "ключ"К сожалению, меня раздражает выделение левой части тела, поэтому я используювместоно первые триггеры на использование переменной также.Я бы взял хак, чтобы обойти мою проблему, но меня больше интересовал бы общий метод, чтобы выделить только подмножество данного соответствия.
4 голоса | спросил Chad Wellington 9 Jam1000000amSat, 09 Jan 2010 00:22:58 +030010 2010, 00:22:58

2 ответа


0
Использование ---- +: = 0 =: + ---- в одиночку для этой ситуации не работает должным образом, потому что вы хотите, чтобы подсветка была более осведомлена об окружающем синтаксисе.Комбинация ---- +: = 1 =: + ---- , ---- +: = 2 =: + ---- и ---- +: = 3 =: + ---- хорошо работает.Выше будут только выделять клавиши, foo и bar, используя группу подсветки Function, только если они также соответствуют lispFunc.Если есть какие-либо слова, кроме key, foo и bar, которые идут после ---- +: = 5 =: + ---- , они будут выделены с помощью группы выделения Идентификатора.Это позволяет различать стандартные имена функций и созданные пользователем.---- +: = 6 =: + ---- и ---- +: = 7 =: + ---- будут выделены с помощью специальной группы выделения и всего, что находится внутри ---- +: = 8 =: + ---- после первого слова будет выделено с помощью группы выделения оператора.
ответил jamessan 9 Jam1000000amSat, 09 Jan 2010 01:09:24 +030010 2010, 01:09:24
0
Кажется, что есть некоторая возможность для многоуровневого выделения, как показано здесь: выделение совпадений в Vim перевернутым шаблономкоторый дает бывшие командыОднако я не смог заставить что-то подобное работать в моих файлах синтаксиса.Я попробовал что-то вроде:Выделение переходит к нормальному или ключевому слову в течение всего бита, в зависимости от того, что берется первым (изменяется в соответствии с расположением в файле)Vim обоснованно отклонил использование «2match» в качестве ключевого слова после «syn».
ответил Chad Wellington 9 Jam1000000amSat, 09 Jan 2010 00:55:48 +030010 2010, 00:55:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132