Skip to content
This repository has been archived by the owner on Jul 1, 2022. It is now read-only.

Latest commit

 

History

History
54 lines (33 loc) · 1.87 KB

README.md

File metadata and controls

54 lines (33 loc) · 1.87 KB

objctags

A better ctags-like tag generator for Objective-C as well as C, C++ and Objective-C++.

objctags is based on the abstract syntax tree generated by LLVM frontend, therefore objctags would generally have a noticeably poor performance comparing to other regex-based tags generator especially when dealing with very large source files.

Currently, objctags is still a working prototype, it has a lot of issues and a lot could be improved.

How to Install

Build from Sources

objctags requires CMake (at least version 2.8) to be built, and objctags depends on LLVM static libraries (you have to install LLVM including Clang from sources, Xcode and Xcode command line tools do not come with these static libraries).

Install CMake and LLVM with Homebrew

brew update
brew install cmake
brew install llvm --with-clang --with-asan --disable-assertions

Build objctags

git clone https://github.com/lembacon/objctags.git
cd objctags/build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
make && make install

Download Pre-built Binary

If you are using OS X Mountain Lion, you can download pre-built objctags and put it somewhere in you $PATH.

How to Use

For C and C++, objctags will generate ctags-compatible tag file. However, for Objective-C and Objective-C++, objctags defines a few new tag kinds.

See objctags --help for available options.

If you are using Tagbar, objctags has provided a configuration file for that.

objctags --vim-conf >~/.vim/plugin/objctags.vim

Acknowledgement

License

objctags is licensed under MIT License.