Module to Interact with libclang (and clang_indexer DB) from Vim.
- Inter-operates with clang_indexer DB
- Displays the references of the C++ symbol under the cursor with <leader>r
- Displays the declaration(s) of the C++ symbol under the cursor with <leader>d
- Displays the Subclasses of the C++ symbol under the cursor with <leader>s
- Encapsulates the updating of clang_indexer DB (which requires a project configuration compatible with BuildToolsWrappers format)
- Vim 7.3+, compiled with python support
- Python 2.x
- clang_complete
- clang_indexer
- lh-vim-lib, lh-dev
Note: this module takes advantage of the following modules when they are installed:
- BuildToolsWrappers
- my fork of Michael Geddes' buffer-menu
With vim-addon-manager, just install vim-clang
, and let VAM take care of
installing all the vim dependencies. You'll still have to install Vim, Python,
and clang_indexer by yourself.
Note: this script hasn't been registered yet to VAM addons list.
-
The options from clang_complete apply regarding libclang configuration ([bg]:clang_user_options that defines how to use libclang)
-
[bg]:_[{ft}_]_clic_filename that tells where clang_indexer database is located
-
g:clang_key_usr, g:clang_key_declarations, g:clang_key_references, and g:clang_key_subclasses, to override default choices to trigger vim-clang features.
- Interface à la taglist()
- Reimplements features from lh-dev and lh-cpp#analysisLib*.
This module is a fork of @exclipy's fork of clang_complete. The functions dedicated to the interaction with clang_indexer have been extracted, and a few more will be added.
getReferences() and getCurrentUser() functions are courtesy of exclipy.
Copyright 2013 Luc Hermitte
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.