ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] I: vim-7.2.218-alt1: syntax/spec.vim strikes back!
@ 2009-07-06 12:23 Alexey I. Froloff
    2009-07-16 12:54 ` Alexey I. Froloff
  0 siblings, 2 replies; 30+ messages in thread
From: Alexey I. Froloff @ 2009-07-06 12:23 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

[-- Attachment #1: Type: text/plain, Size: 1870 bytes --]

Очень скоро (я надеюсь) в сизифе появится новый 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.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2009-07-24 19:01 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-06 12:23 [sisyphus] I: vim-7.2.218-alt1: syntax/spec.vim strikes back! Alexey I. Froloff
2009-07-06 12:53   ` Alexey I. Froloff
2009-07-06 14:21     ` Max Ivanov
2009-07-06 14:34       ` Andrey Rahmatullin
2009-07-06 14:35       ` Alexey I. Froloff
2009-07-06 14:47     ` Andrew Clark
2009-07-06 14:51       ` Andrey Rahmatullin
2009-07-06 15:00       ` Alexey I. Froloff
2009-07-07  6:54         ` Andrew Clark
2009-07-07  8:35           ` Alexey I. Froloff
2009-07-07 10:15             ` Andrew Clark
2009-07-07 10:50               ` Alexey I. Froloff
2009-07-07 10:55                 ` Alexey Rusakov
2009-07-16 12:54 ` Alexey I. Froloff
2009-07-16 14:27   ` Alexey Rusakov
2009-07-16 14:36     ` Alexey I. Froloff
2009-07-16 14:38       ` Ivan Fedorov
2009-07-16 14:47         ` Alexey I. Froloff
2009-07-17 12:09       ` Alexey I. Froloff
2009-07-17 12:42         ` Alexey I. Froloff
2009-07-17  4:11   ` REAL
2009-07-17  8:33     ` Alexey I. Froloff
2009-07-17  8:55       ` Alexey Rusakov
2009-07-17  9:40         ` Alexey I. Froloff
2009-07-17  9:45           ` Max Ivanov
2009-07-17  9:02       ` Ivan A. Melnikov
2009-07-17 11:00       ` Alexey I. Froloff
2009-07-17 11:18   ` Andrew Clark
2009-07-20 16:03   ` Mikhail Efremov
2009-07-24 19:01   ` Michael Shigorin

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git