Module to Interact with libclang (and clang_indexer DB) from Vim.
Vim script Python
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
autoload
ftplugin/c
mkVba
py
.gitignore
COPYING
README.md
VimFlavor
addon-info.json

README.md

vim-clang

Module to Interact with libclang (and clang_indexer DB) from Vim.

Project Stats

Features:

  • 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)

Installation Requirements:

Note: this module takes advantage of the following modules when they are installed:

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.

Options:

  • 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.

To do list:

  • Interface à la taglist()
  • Reimplements features from lh-dev and lh-cpp#analysisLib*.

Disclaimer:

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.

Licence:

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/>.