ctags
ctags | |
---|---|
Тип | утилита навигации по исходному коду |
Разработчик | Ken Arnold |
Написана на | Си[1] |
Операционная система | Unix-подобные операционные системы |
Репозиторий | github.com/freebsd/freeb… |
Лицензия | модифицированная лицензия BSD[вд][2] |
ctags — утилита, собирающая информацию об именах и позициях переменных, функций и процедур, встречающихся в исходном коде компьютерных программ. При этом генерируется тег-файл (англ. tag file), формат которого поддерживается большим количеством текстовых редакторов.
Основные возможности
- Обработка исходных текстов, написанных более чем на 40 языках программирования
- Вывод информации об обнаруженных объектах в удобном для чтения человеком формате
- Генерирование тегов в формате, используемом редактором Emacs
Поддержка текстовыми редакторами
В настоящее время большое количество редакторов (особенно используемых в системах UNIX) поддерживают теги. Среди них:
Вариации
Существует несколько вариантов реализации программы ctags:
Etags
Редактор Emacs поставляется с двумя утилитами класса ctags: etags и ctags. Обе созданы из единого исходного текста. Вариант Etags создает файлы с таблицами тегов в формате для Emacs, тогда как команда ctags создает подобные таблицы в формате для редактора vi. Имеются некоторые различия в опциях командной строки.
Exuberant Ctags
Exuberant Ctags, вариант, созданный Darren Hiebert, изначально поставлялся в составе пакета редактора Vim, но стал отдельным проектом начиная с версии Vim 6.[3] Данный вариант также имеет поддержку редактора Emacs.
Exuberant Ctags позволяет работать с исходными кодами более чем на 40 языках программирования.
Существует ответвление (форк) проекта под названием Universal Ctags.[4]
Hasktags
Приложение Hasktags создает ctags-совместимые базы данных для программ на языке Haskell.[5] Также может создавать etags файлы для редактора Emacs.[6]
См. также
Примечания
- ↑ http://openbsd.su/src/usr.bin/ctags/
- ↑ http://openbsd.su/src/usr.bin/ctags/ctags.c
- ↑ Vim documentation: version6: ctags-gone . Дата обращения: 28 апреля 2007. Архивировано 3 мая 2007 года.
- ↑ Universal Ctags Website . Дата обращения: 2 августа 2018. Архивировано 9 марта 2019 года.
- ↑ GHC documentation: Other Haskell utility programs . Дата обращения: 5 марта 2010. Архивировано 25 марта 2010 года.
- ↑ hasktags: Produces ctags "tags" and etags "TAGS" files for Haskell programs . Дата обращения: 5 марта 2010. Архивировано 25 февраля 2010 года.
Литература
- Linda Lamb, Arnold Robbins, Arthur Robbins. vi Clones Feature Summary // Learning the vi editor. O'Reilly, 1998. — С. 140—141. ISBN 978-1-56592-426-0
- Chris Anley, Jack Koziol, John Heasman, Felix Lindner, Gerardo Richarte. The Shellcoder’s Handbook. John Wiley and Sons, 2007. — С. 483—484. ISBN 978-0-470-08023-8