If you want to try the latest universal-ctags without building it yourself. Daily builds are available at the ctags-win32 project. Go to the releases page to download zip packages. See Homebrew Tap for Universal Ctags. Go to ctags-snap and clone the ctags-snap repo. Then, follow instructions to build the snap package of ctags.
Jun 23, 2014 Hello! I can't setting up Ctags for my Mac Os X (version 10.9.3). I install Ctags via MacPorts and now i can find it in path. UC comes free with UE. That's right – purchases of UltraEdit include a key for UltraCompare Pro at no additional cost! Together, UltraEdit and UltraCompare give you the ideal text and source code editor as well as the ability to effortlessly manage your changes, visually inspect your differences, and exercise quick and easy merge operations. Jun 25, 2015 Luckily for us, Mac OS X comes with ctags installed by default but unfortunately for us, this version (despite what the documentation says) doesn’t support Objective-C. We’ll have to use Homebrew to install a newer version. Start by executing the following to install the latest and greatest version of ctags: $ brew install ctags -HEAD. UltraEdit supports Ctags, either as part of a project, or independently. Important note: In order to use Ctags, your source code files must be part of an existing project. Please see our projects power tip for more information. Ctags EXE UltraEdit relies on an external tag file generator.
Maintainer: | Cameron Eagans <me@cweagans.net> |
---|
This part of the documentation is written by Cameron Eagans, a co-maintainer of Universal-ctags and the maintainer ofthe OSX packaging of this project.
Build Prerequisites¶
Building ctags on OSX should be no different than building on GNU/Linux. The same toolchains are used, and the Mac OSpackaging scripts use autotools and make (as you’d expect).
You may need to install the xcode command line tools. You can install the entire xcode distribution from the App Store,or for a lighter install, you can simply run
xcode-select--install
to only install the compilers and such. Seehttps://stackoverflow.com/a/9329325 for more information. Once your build toolchain is installed, proceed to the nextsection.At this point, if you’d like to build from an IDE, you’ll have to figure it out. Building ctags is a pretty straightforwardprocess that matches many other projects and most decent IDEs should be able to handle it.
Building Manually (i.e. for development)¶
You can simply run the build instructions in README.md.
Building with Homebrew¶
Homebrew (https://brew.sh/) is the preferred method for installing Universal-ctags for end users. Currently, the processfor installing with Homebrew looks like this:
Eventually, we hope to move the Universal-ctags formula to the main Homebrew repository, but since we don’t have anytagged releases at this point, it’s a head-only formula and wouldn’t be accepted. When we have a tagged release, we’llsubmit a PR to Homebrew.
If you’d like to help with the Homebrew formula, you can find the repository here:https://github.com/universal-ctags/homebrew-universal-ctags
Differences between OSX and GNU/Linux¶
There other things where building ctags on OSX differs from building on GNU/Linux.
- Filenames on HFS+ (the Mac OS filesystem) are case-preserving, but not case-sensitive in 99% of configurations. If auser manually formats their disk with a case sensitive version of HFS+, then the filesystem will behave like normalGNU/Linux systems. Depending on users doing this is not a good thing.
Contributing¶
![Ctags Ctags](https://upload.jianshu.io/users/upload_avatars/6278390/6ddd42c8-3271-4248-b87b-05541dd7c09b.jpeg)
This documentation is very much a work in progress. If you’d like to contribute, submit a PR and mention @cweagans forreview.
Savage model 101 serial numbers for sale. CREATED: <2014-03-11 Tue>
UPDATED: <2020-05-26 Tue>
Exuberant Ctags is used for code completion and code navigation. It supports many programming languages.
Please read EmacsWiki for basic usage.
Ctags creates an index file named 'TAGS'. The path of TAGS is stored in a Emacs variable
tags-table-list
.Example of
tags-table-list
:When running
M-x find-tag
, the tag files in tags-table-list
is read to find the definition of the symbol under cursor.Here is my strategy to manage TAGS automatically:
- I hard coded path of TAGS in
.emacs
because I don't change project path frequently - In major mode hook like
c++-mode-hook
orjs2-mode-hook
I check the path current file. If it matches project name, the file is part of the project - TAGS for the project is created
- When saving the file, update TAGS by the value of
tags-table-list
Code:
UPDATE:Ctags is discussed at Google Plus. Kaushal Modi recommended three Emacs plugins:
I tried them. My code has same features as
ctags-update
and etags-table
. I prefer my own code because it's simpler and controllable.Ctags For Macbook
But I do like
etags-select
, it provides better UI for finding tag and I will use it from now on.UPDATE:I have developed my own ctags solution for Emacs,
- counsel-etags for code navigation and imenu
- company-ctags for code completion