Skip to content

Commit

Permalink
[include-fixer] Mention more details in the document.
Browse files Browse the repository at this point in the history
Reviewers: bkramer

Subscribers: Eugene.Zelenko, cfe-commits, ioeric

Differential Revision: http://reviews.llvm.org/D20467

llvm-svn: 271989
  • Loading branch information
hokein committed Jun 7, 2016
1 parent 2f90c1f commit e64cee8
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
3 changes: 2 additions & 1 deletion clang-tools-extra/docs/ReleaseNotes.rst
Expand Up @@ -44,7 +44,8 @@ infrastructure are described first, followed by tool-specific sections.
Major New Features
------------------

- Feature1...
- :program:`clang-include-fixer`, a tool that provides an automated way of
adding ``#include`` directives for missing symbols in one translation unit.

Improvements to clang-query
---------------------------
Expand Down
12 changes: 11 additions & 1 deletion clang-tools-extra/docs/include-fixer.rst
Expand Up @@ -41,14 +41,16 @@ database for LLVM, any project built by CMake should follow similar steps.
.. code-block:: console
$ cd path/to/llvm-build
$ ninja find-all-symbols // build find-all-symbols tool.
$ ninja clang-include-fixer // build clang-include-fixer tool.
$ ls compile_commands.json # Make sure compile_commands.json exists.
compile_commands.json
$ path/to/llvm/source/tools/clang/tools/extra/include-fixer/find-all-symbols/tool/run-find-all-symbols.py
... wait as clang indexes the code base ...
$ ln -s $PWD/find_all_symbols_db.yaml path/to/llvm/source/ # Link database into the source tree.
$ ln -s $PWD/compile_commands.json path/to/llvm/source/ # Also link compilation database if it's not there already.
$ cd path/to/llvm/source
$ clang-include-fixer -db=yaml path/to/file/with/missing/include.cpp
$ /path/to/clang-include-fixer -db=yaml path/to/file/with/missing/include.cpp
Added #include "foo.h"
Integrate with Vim
Expand All @@ -63,6 +65,14 @@ following key binding to your ``.vimrc``:
This enables `clang-include-fixer` for NORMAL and VISUAL mode. Change ``,cf`` to
another binding if you need clang-include-fixer on a different key.

Make sure vim can find :program:`clang-include-fixer`:

- Add the path to :program:`clang-include-fixer` to the PATH environment variable.
- Or set ``g:clang_include_fixer_path`` in vimrc: ``let g:clang_include_fixer_path=path/to/clang-include-fixer``

You can customize the number of headers being shown by setting
``let g:clang_include_fixer_maximum_suggested_headers=5``

See ``clang-include-fixer.py`` for more details.

How it Works
Expand Down

0 comments on commit e64cee8

Please sign in to comment.