[sisyphus] I: vim-7.2.218-alt1: syntax/spec.vim strikes back!

Alexey I. Froloff raorn на altlinux.org
Пн Июл 6 16:23:19 MSD 2009


Очень скоро (я надеюсь) в сизифе появится новый vim с полностью
переписанной подсветкой синтаксиса для spec файлов.

Реализована (довольно убого, правда) проверка синтаксиса.  В
преамбуле (toplevel и %package) разрешено использовать только
валидные теги, у некоторых тегов (типа Requires(post):)
проверяются аргументы в скобках и т.п.

Как и раньше есть два вида макросов.  "Директивы", типа %setup,
%patch, к ним же добавляются конструкции %make_build,
%add_findreq_skip и т.п., и "системные макросы", типа %_bindir,
%_datadir.  В этой версии они реализованы keyword'ами вместо
страшенного вида регулярных выражений, так что теперь проще это
поддерживать в актуальном состоянии.  

Макросы вида %__* подсвечиваются как ошибка.  Возможно я
погорячился, и некоторые макросы (типа %__foo_version)
использовать можно.  В этом случае хотелось бы зафиксировать
список.  Также считаются ошибочными незаэкранированные (%%foo)
макросы в комментариях.

Секции %prep, %build, %install и %post/%trigger теперь
подсвечиваются включением syntax/sh.vim.  При помощи некоторого
количества хаков выглядит эта подсветка почти как раньше.

В областях, где подразумевается текст (summary, description,
changelog, комментарии) работает проверка синтаксиса:
:set spell spellang=en,ru

Можно использовать foldmethod=syntax.

Я старался максимально сохранить совместимость со старой
подсветкой, в моей цветовой схеме мне это удалось.  Если кто-то
использовал настройки "hi link" для spec* результат может
отличаться, я не везде смог сохранить имена групп.

Если найдёте где-то какие-то неадекватности - вешайте баг на
пакет vim-common.  Список макросов был вытащен при помощи rpm
--showrc около двух месяцев назад, при этом в системе стояли
почти все пакеты, содержащие файлы в /etc/rpm/macros.d/ и
/usr/lib/rpm/macros.d/.

-- 
Regards,
Sir Raorn.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20090706/0f29f171/attachment-0001.bin>


Подробная информация о списке рассылки Sisyphus