Lines Matching +refs:clang +refs:include +refs:fixer +refs:symbol +refs:name

8 management of ``#include`` directives in any file.
9 :program:`clang-include-fixer` addresses one aspect of this problem by providing
10 an automated way of adding ``#include`` directives for missing symbols in one
13 While inserting missing ``#include``, :program:`clang-include-fixer` adds
14 missing namespace qualifiers to all instances of an unidentified symbol if
15 the symbol is missing some prefix namespace qualifiers.
20 To use :program:`clang-include-fixer` two databases are required. Both can be
25 - Symbol index. Contains all symbol information in a project to match a given
30 correspond to. Then the :program:`clang-include-fixer` can automatically pick
32 ``compile_commands.json`` as generated by CMake does not include header files,
35 .. _How To Setup Tooling For LLVM: https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
40 The include fixer contains :program:`find-all-symbols`, a tool to create a
41 symbol database in YAML format from a compilation database by parsing all
49 $ ninja clang-include-fixer // build clang-include-fixer tool.
52 …$ path/to/llvm/source/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-sym…
53 ... wait as clang indexes the code base ...
57 $ /path/to/clang-include-fixer -db=yaml path/to/file/with/missing/include.cpp
58 Added #include "foo.h"
62 To run `clang-include-fixer` on a potentially unsaved buffer in Vim. Add the
67 …noremap <leader>cf :pyf path/to/llvm/source/clang-tools-extra/clang-include-fixer/tool/clang-inclu…
69 This enables `clang-include-fixer` for NORMAL and VISUAL mode. Change
70 `<leader>cf` to another binding if you need clang-include-fixer on a different
76 Make sure vim can find :program:`clang-include-fixer`:
78 - Add the path to :program:`clang-include-fixer` to the PATH environment variable.
79 …clang_include_fixer_path`` in vimrc: ``let g:clang_include_fixer_path=path/to/clang-include-fixer``
86 - ``let g:clang_include_fixer_path = "clang-include-fixer"``
88 Set clang-include-fixer binary file path.
101 Set to 1 if you want to jump to the new inserted ``#include`` line. Default is
106 Set to 1 if you want to insert ``#include`` for the symbol under the cursor.
108 and only search the symbol from database, which is faster than normal mode.
110 See ``clang-include-fixer.py`` for more details.
114 To run `clang-include-fixer` on a potentially unsaved buffer in Emacs.
115 Ensure that Emacs finds ``clang-include-fixer.el`` by adding the directory
116 containing the file to the ``load-path`` and requiring the `clang-include-fixer`
121 (add-to-list 'load-path "path/to/llvm/source/clang-tools-extra/clang-include-fixer/tool/"
122 (require 'clang-include-fixer)
125 ``M-x clang-include-fixer``. This will insert the header that defines the
126 first undefined symbol; if there is more than one header that would define the
127 symbol, the user is prompted to select one.
129 To include the header that defines the symbol at point, run
130 ``M-x clang-include-fixer-at-point``.
132 Make sure Emacs can find :program:`clang-include-fixer`:
134 - Either add the parent directory of :program:`clang-include-fixer` to the PATH
136 ``clang-include-fixer-executable`` to point to the file name of the program.
142 :program:`clang-include-fixer` runs in tandem with the parse and receives
145 it emits a callback to the include fixer which then looks for a corresponding
150 header file is returned it is added as an include directive at the top of the
153 Currently :program:`clang-include-fixer` only inserts a single include at a
154 time to avoid getting caught in follow-up errors. If multiple `#include`