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