ctags

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

ctags
Тип утилита навигации по исходному коду
Разработчик Ken Arnold
Операционная система Unix-подобные операционные системы

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.[1] Данный вариант также имеет поддержку редактора Emacs.

Exuberant Ctags позволяет работать с исходными кодами более чем на 40 языках программирования.

Существует ответвление (форк) проекта под названием Universal Ctags.[2]


Hasktags

Приложение Hasktags создает ctags-совместимые базы данных для программ на языке Haskell.[3] Также может создавать etags файлы для редактора Emacs.[4]

См. также

Примечания

  1. Vim documentation: version6: ctags-gone. Дата обращения: 28 апреля 2007. Архивировано 3 мая 2007 года.
  2. Universal Ctags Website. Дата обращения: 2 августа 2018. Архивировано 9 марта 2019 года.
  3. GHC documentation: Other Haskell utility programs. Дата обращения: 5 марта 2010. Архивировано 25 марта 2010 года.
  4. 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