droustchev / ctags

A maintained ctags implementation

Home Page:https://ctags.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Coverity Scan Build Status Coverage Status Build status RTD build status CircleCI Build Status

universal-ctags has the objective of continuing the development from what existed in the Sourceforge area. Github exuberant-ctags repository was started by Reza Jelveh and was later moved to the universal-ctags organization.

The goal of the project is preparing and maintaining common/unified working space where people interested in making ctags better can work together.

Getting PACKCC compiler-compiler

Packcc is a compiler-compiler; it translates .peg grammar file to .c file. packcc was originally written by Arihiro Yoshida. Its source repository is at sourceforge. It seems that packcc at sourceforge is not actively maintained. Some derived repositories are at github. Currently, our choice is https://github.com/enechaev/packcc. It is the most active one in the derived repositories.

The source tree of packcc is grafted at misc/packcc directory. Building packcc and ctags are integrated in the build-scripts of Universal-ctags.

The latest build and package

If you want to try the latest universal-ctags without building it yourself...

Windows

Daily builds are available at the ctags-win32 project. Go to the releases page to download zip packages.

Mac

See Homebrew Tap for Universal Ctags

Docker

Go to ctags-docker and follow instructions to download the uctags script. Docker will automatically fetch the image from Docker Hub.

Snap

Go to ctags-snap and clone the ctags-snap repo. Then, follow instructions to build the snap package of ctags. Snapcraft will automatically fetch the source code from GitHub.

How to build and install

To build with Autotools, see docs/autotools.rst for more information. (To build on GNU/Linux, Autotools is your choice.) To build on Windows, see docs/windows.rst for more information. To build on OSX, see docs/osx.rst for more information.

Manual

Man page (ctags.1) is generated only in Autotools based building process. In addition rst2man command is needed.

rst2man is part of the python-docutils package on Ubuntu.

Difference

You may be interested in how universal-ctags is different from exuberant-ctags. The critical and attractive changes are explained in docs/*.rst. The preformatted version is available on line, http://docs.ctags.io/.

The most significant one is that Universal-ctags doesn't load ~/.ctags and ./.ctags at starting up time. Instead, it loads ~/.ctags.d/*.ctags and ./.ctags.d/*.ctags. See the above web site and man pages (man/ctags.1.rst.in and man/ctags-incompatibilities.7.in in the source tree).

Pull-requests are welcome!

About

A maintained ctags implementation

https://ctags.io

License:GNU General Public License v2.0


Languages

Language:C 71.5%Language:VHDL 4.4%Language:Shell 4.3%Language:TeX 3.4%Language:HTML 2.3%Language:Vim Script 1.7%Language:C++ 1.4%Language:Fortran 1.0%Language:JavaScript 1.0%Language:Perl 6 0.8%Language:C# 0.7%Language:Perl 0.6%Language:Makefile 0.6%Language:M4 0.6%Language:Python 0.5%Language:PHP 0.4%Language:Objective-C 0.3%Language:Puppet 0.3%Language:Assembly 0.3%Language:PLSQL 0.3%Language:Yacc 0.2%Language:MATLAB 0.2%Language:Batchfile 0.2%Language:SystemVerilog 0.2%Language:Verilog 0.2%Language:Go 0.2%Language:XSLT 0.2%Language:Erlang 0.1%Language:CMake 0.1%Language:SQLPL 0.1%Language:Emacs Lisp 0.1%Language:Ada 0.1%Language:Eiffel 0.1%Language:COBOL 0.1%Language:Fancy 0.1%Language:Ruby 0.1%Language:Elixir 0.1%Language:Java 0.1%Language:Rust 0.1%Language:Tcl 0.1%Language:RobotFramework 0.1%Language:Haxe 0.1%Language:Standard ML 0.1%Language:CSS 0.1%Language:D 0.1%Language:Clojure 0.0%Language:OCaml 0.0%Language:Scheme 0.0%Language:Awk 0.0%Language:Pascal 0.0%Language:AutoIt 0.0%Language:Roff 0.0%Language:R 0.0%Language:Lua 0.0%Language:Coq 0.0%Language:PLpgSQL 0.0%Language:ASP 0.0%Language:GDB 0.0%Language:Zephir 0.0%Language:Elm 0.0%Language:Cuda 0.0%Language:CoffeeScript 0.0%Language:Objective-C++ 0.0%Language:Visual Basic 0.0%Language:BlitzBasic 0.0%Language:PureBasic 0.0%Language:Logos 0.0%Language:Common Lisp 0.0%Language:Forth 0.0%Language:Hack 0.0%Language:AngelScript 0.0%Language:Smalltalk 0.0%Language:E 0.0%