[devel] prepared tags in *-devel and similar packages
Alexey I. Froloff
=?iso-8859-1?q?raorn_=CE=C1_immo=2Eru?=
Пн Фев 28 17:37:39 MSK 2005
* Gleb Stiblo <g.stiblo@> [050228 11:38]:
> Кстати, кто из редакторов/IDE и какие типы тэгов поддерживает(emacs vs
> normal):
> kdevelop,
> anjuta,
> vim,
> emacs,
> кто больше?
man ctags:
Vi(1) and its derivatives (e.g. Elvis, Vim, Vile, Lemmy), CRiSP,
Emacs, FTE (Folding Text Editor), JED, jEdit, Mined, NEdit (Nirvana
Edit), TSE (The SemWare Editor), UltraEdit, WorkSpace, X2, Zeus
> Это я к тому, что, если делать тэги общесистемными, так надо, что бы их
> пользовали все IDE.
Предлагаю proposal:
Теги разбиваются по языкам програмирования. Rationale: В разных
язвках програмирования могут быть функции (переменные, константы)
с одинаковыми именами. Для vim это реализуется на уровне
ftplugin'ов, я даже такой нарисую.
В пределах одного языка теги из всех пакетов складываются в один
каталог. Один пакет - один файл тегов на язык:
/usr/share/tags/$language/%name
Поддерживаемые языки, поумлочательные каталоги (опционально -
shell-pattern имени файла), где эти теги ищутся, типы тегов
(ctags --list-kinds):
+ C/C++ (теоретически можно сказать что это один язык)
/usr/include
c,d,e,g,m,n,p,s,t,u,x (не используются f,l,v)
+ Lisp
/usr/share/{emacs,xemacs} (*.el)
f
+ Perl
/usr/lib/perl5 (*.p[lmh])
c,s (не используется s)
+ PHP
/usr/lib/php/pear (*.php)
c,d,f,v
+ Python
/usr/lib/python* (*.py, наверно кроме __init__.py)
c,f,m
+ Ruby
/usr/share/ruby (*.rb)
c,f,F,m
+ Scheme
/usr/share/guile (*.scm)
f,s
+ Sh
/etc (на самом деле нас интересуют только
файлы functions:
find /etc /usr -type f -name functions
/etc/chroot.d/functions
/etc/sisyphus/functions
/etc/rc.d/init.d/functions
/etc/net/scripts/functions
/etc/control.d/functions
/usr/share/separator/functions
/usr/share/cook/functions -- (этот попал сюда по ошибке ;-)
/usr/share/alternatives/functions
/usr/share/hasher/functions
/usr/lib/rpm/functions
плюс ко всему ctags для этих файлов не определяет автоматически
язык, приходится использовать --language-force)
+ Tcl
/usr/share/tcl (*.tcl, кроме pkgIndex.tcl)
c,m,p
+ Vim
/usr/share/vim
a,f,v
Ну это в принципе всё, что может встретится в дистрибутиве в
установленной из пакетов системе.
По поводу find-tags - получается один вызов ctags на язык (потому
как мы хотим держать теги для разных языков в разных файлах).
Список файлов либо генерится самим скриптом find-tags, при этом
идёт автоматический поиск по всем поддерживаемым языкам, либо
передаётся в виде аргумент(а,ов) командной строки, при этом
появляется обязательный параметр - язык.
Критикуйте, но учтите, что я это всё пишу в ни разу не
выспавшемся состоянии.
--
Regards,
Sir Raorn.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20050228/e8653af1/attachment-0001.bin>
Подробная информация о списке рассылки Devel