xref: /Universal-ctags/docs/other-projects.rst (revision ce46762400e71b6038101de8debee2f934a5f519)
1eb375513SMasatake YAMATO======================================================================
254b89bebSMasatake YAMATORelationship between other projects
354b89bebSMasatake YAMATO======================================================================
454b89bebSMasatake YAMATO
5eb375513SMasatake YAMATO.. contents:: `Table of contents`
6eb375513SMasatake YAMATO	:depth: 3
7eb375513SMasatake YAMATO	:local:
8eb375513SMasatake YAMATO
9fa9c2cfeSHiroo HAYASHIOther tagging engines
1054b89bebSMasatake YAMATO----------------------------------------------------------------------
11fa9c2cfeSHiroo HAYASHI
12bb84f88aSHiroo HAYASHI`Exuberant Ctags <http://ctags.sourceforge.net/>`_
13fa9c2cfeSHiroo HAYASHI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14fa9c2cfeSHiroo HAYASHI
15dccba5efSHiroo HAYASHIThe origin of Universal Ctags.
16fa9c2cfeSHiroo HAYASHI
17fa9c2cfeSHiroo HAYASHI`Geany <https://github.com/geany/geany>`_
18fa9c2cfeSHiroo HAYASHI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19fa9c2cfeSHiroo HAYASHIGeany is a small and lightweight IDE.
2054b89bebSMasatake YAMATOGeany maintains their own tagging engine derived from ctags.
2154b89bebSMasatake YAMATOWe are looking for the way to merge or share the source code each
2254b89bebSMasatake YAMATOother.
2354b89bebSMasatake YAMATO
2454b89bebSMasatake YAMATORepo
2554b89bebSMasatake YAMATO
26fa9c2cfeSHiroo HAYASHI	https://github.com/geany/geany/tree/master/ctags
2754b89bebSMasatake YAMATO
2854b89bebSMasatake YAMATOGeany has created a library out of ctags
2954b89bebSMasatake YAMATO
3020ea5985SFrank Fesevur  	https://github.com/universal-ctags/ctags/issues/63
3154b89bebSMasatake YAMATO
3254b89bebSMasatake YAMATOTheir language parsers have many improvements to various parsers.
3354b89bebSMasatake YAMATOChanges known by devs worth backporting:
3454b89bebSMasatake YAMATO
3554b89bebSMasatake YAMATO* Various fixes for D parser (c.c), but currently the code diverges
3654b89bebSMasatake YAMATO  from ours to some extent.
3754b89bebSMasatake YAMATO
3854b89bebSMasatake YAMATO
3954b89bebSMasatake YAMATOThey have these additional language parsers:
4054b89bebSMasatake YAMATO
412b8661bbSK.Takata* `DocBook <https://en.wikipedia.org/wiki/DocBook>`_
422b8661bbSK.Takata* `Vala (c.c) <https://en.wikipedia.org/wiki/Vala_%28programming_language%29>`_
4354b89bebSMasatake YAMATO
4420ea5985SFrank FesevurSoftware using ctags
4554b89bebSMasatake YAMATO----------------------------------------------------------------------
4654b89bebSMasatake YAMATO
47fa9c2cfeSHiroo HAYASHI`Pygments <https://pygments.org/>`_
48fa9c2cfeSHiroo HAYASHI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4954b89bebSMasatake YAMATO
50fa9c2cfeSHiroo HAYASHI	.. TODO: Is Pygments using ctags? To be move moved to other section?
51fa9c2cfeSHiroo HAYASHI
52fa9c2cfeSHiroo HAYASHI	Pygments is a generic syntax highlighter.
53*31eb7333SHiroo HAYASHI
54fa9c2cfeSHiroo HAYASHI	It can utilize tags file
55fa9c2cfeSHiroo HAYASHI	as input for making hyperlinks. However, Pygments just looks
5654b89bebSMasatake YAMATO	at names and lines in tags file. scopes and kinds are not
57*31eb7333SHiroo HAYASHI	used.  See `here
58*31eb7333SHiroo HAYASHI	<https://pygments-doc.readthedocs.io/en/latest/formatters/html.html>`_ for
59*31eb7333SHiroo HAYASHI	details.
6054b89bebSMasatake YAMATO
61fa9c2cfeSHiroo HAYASHI	As far as I (Masatake YAMATO) tried, using Pygments from ctags
62fa9c2cfeSHiroo HAYASHI	is not so useful. There are critical gap between ctags and Pygments.
63fa9c2cfeSHiroo HAYASHI	ctags focuses on identifiers. Pygments focuses on keywords.
6454b89bebSMasatake YAMATO
65fa9c2cfeSHiroo HAYASHI`GNU global <https://www.gnu.org/software/global/>`_
66fa9c2cfeSHiroo HAYASHI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67fa9c2cfeSHiroo HAYASHI
68fa9c2cfeSHiroo HAYASHI 	GNU global is a source code tagging system.
6954b89bebSMasatake YAMATO
702f7b41c1SK.Takata	I (Masatake YAMATO) don't inspect this much but GNU global uses
7154b89bebSMasatake YAMATO	ctags internally.
7254b89bebSMasatake YAMATO
73bccce6adSMasatake YAMATO	A person at GNU global project proposed an extension for the tags file
74fa9c2cfeSHiroo HAYASHI	format: See `this ticket
75fa9c2cfeSHiroo HAYASHI	<https://sourceforge.net/p/ctags/mailman/message/30020186/>`_ for details.
7654b89bebSMasatake YAMATO
77*31eb7333SHiroo HAYASHI	See also `'Source code reading' related sites
78*31eb7333SHiroo HAYASHI	<https://www.gnu.org/software/global/links.html>`_.
79*31eb7333SHiroo HAYASHI
80fa9c2cfeSHiroo HAYASHI`GNU Source-highlight <https://www.gnu.org/software/src-highlite/>`_
81fa9c2cfeSHiroo HAYASHI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8254b89bebSMasatake YAMATO
83fa9c2cfeSHiroo HAYASHI	GNU Source-highlight produces a document with syntax highlighting.
84bccce6adSMasatake YAMATO
85fa9c2cfeSHiroo HAYASHI	It can utilize tags file
86bccce6adSMasatake YAMATO	as input for making hyperlinks.
87fa9c2cfeSHiroo HAYASHI	See `Generating References
88fa9c2cfeSHiroo HAYASHI	<https://www.gnu.org/software/src-highlite/source-highlight.html#Generating-References>`_
89fa9c2cfeSHiroo HAYASHI	section for details.
90bccce6adSMasatake YAMATO
912f7b41c1SK.Takata	I (Masatake YAMATO) have not tried the feature yet.
9254b89bebSMasatake YAMATO
93fa9c2cfeSHiroo HAYASHI`OpenGrok <https://oracle.github.io/opengrok/>`_
94fa9c2cfeSHiroo HAYASHI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95fa9c2cfeSHiroo HAYASHI
96fa9c2cfeSHiroo HAYASHI	OpenGrok is a fast and usable source
97fa9c2cfeSHiroo HAYASHI	code search and cross reference engine.
9854b89bebSMasatake YAMATO
992f7b41c1SK.Takata	I (Masatake YAMATO) don't inspect this much but OpenGrok uses
10054b89bebSMasatake YAMATO	ctags internally.
10154b89bebSMasatake YAMATO
1022f7b41c1SK.TakataLinux kernel
103fa9c2cfeSHiroo HAYASHI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104bccce6adSMasatake YAMATO
105fa9c2cfeSHiroo HAYASHI	See `linux/scripts/tags.sh <https://elixir.bootlin.com/linux/v5.10.2/source/scripts/tags.sh>`_
106fa9c2cfeSHiroo HAYASHI	of Linux kernel source tree.
107bccce6adSMasatake YAMATO	It utilizes c parser to the utmost limit.
108fa9c2cfeSHiroo HAYASHI
109fa9c2cfeSHiroo HAYASHIOther interesting ctags repositories
110fa9c2cfeSHiroo HAYASHI----------------------------------------------------------------------
111fa9c2cfeSHiroo HAYASHIThere are several interesting repo's with ctags around. These are
112fa9c2cfeSHiroo HAYASHIinteresting to integrate in the future.
113fa9c2cfeSHiroo HAYASHI
114fa9c2cfeSHiroo HAYASHI`VIM-Japan <https://github.com/vim-jp/ctags/>`_
115fa9c2cfeSHiroo HAYASHI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
116fa9c2cfeSHiroo HAYASHI
117fa9c2cfeSHiroo HAYASHIVIM-Japan have some interesting things, especially regarding encoding.
118fa9c2cfeSHiroo HAYASHI
119fa9c2cfeSHiroo HAYASHI`Anjuta <https://gitlab.gnome.org/GNOME/anjuta>`_
120fa9c2cfeSHiroo HAYASHI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
121fa9c2cfeSHiroo HAYASHI
122fa9c2cfeSHiroo HAYASHIAnjuta DevStudio is a versatile Integrated Development Environment (IDE)
123fa9c2cfeSHiroo HAYASHIon GNOME Desktop Environment and features a number of advanced
124fa9c2cfeSHiroo HAYASHIprogramming facilities.
125fa9c2cfeSHiroo HAYASHI
126bb84f88aSHiroo HAYASHIThey did not fork Exuberant Ctags, but they did
127fa9c2cfeSHiroo HAYASHInatively `include it in Anjuta <https://git.gnome.org/browse/anjuta/tree/plugins/symbol-db/anjuta-tags>`_.
128fa9c2cfeSHiroo HAYASHIThey have made several additions to
129fa9c2cfeSHiroo HAYASHItheir version of it including fairly extensive Vala language support.
130fa9c2cfeSHiroo HAYASHI
131fa9c2cfeSHiroo HAYASHI`Tagbar <https://github.com/majutsushi/tagbar/>`_
132fa9c2cfeSHiroo HAYASHI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
133fa9c2cfeSHiroo HAYASHI
134fa9c2cfeSHiroo HAYASHITagbar is a Vim plugin that provides an easy way to browse the tags of the
135fa9c2cfeSHiroo HAYASHIcurrent file and get an overview of its structure.
136fa9c2cfeSHiroo HAYASHI
137fa9c2cfeSHiroo HAYASHIThis is `a gold mine of optlibs <https://github.com/majutsushi/tagbar/wiki>`_.
138fa9c2cfeSHiroo HAYASHI
139fa9c2cfeSHiroo HAYASHI.. include:: tracking.rst
140