[PATCH] D20621: [include-fixer] Create a mode in vim integration to show multiple potential headers.
Eric Liu via cfe-commits
cfe-commits at lists.llvm.org
Wed May 25 07:59:50 PDT 2016
ioeric added inline comments.
================
Comment at: include-fixer/IncludeFixer.cpp:241
@@ -280,5 +240,3 @@
/// \return true if changes will be made, false otherwise.
- bool Rewrite(clang::SourceManager &SourceManager,
- clang::HeaderSearch &HeaderSearch,
- std::set<std::string> &Headers,
- std::vector<clang::tooling::Replacement> &Replacements) {
+ bool MinimizeAllIncludeHeaders(clang::SourceManager &SourceManager,
+ clang::HeaderSearch &HeaderSearch,
----------------
This doesn't seem to be the right name. It does more than minimizing headers.
================
Comment at: include-fixer/tool/ClangIncludeFixer.cpp:121
@@ +120,3 @@
+ clang::include_fixer::CreateReplacementsForHeader(
+ /*Code=*/Buffer.get()->getBuffer(),
+ /*FilePath=*/FilePath,
----------------
These comments seem redundant since it is already clear what those parameters are from variables' names.
================
Comment at: include-fixer/tool/ClangIncludeFixer.cpp:129
@@ +128,3 @@
+ tooling::applyAllReplacements(Buffer.get()->getBuffer(), Replaces);
+ llvm::outs() << ChangedCode;
+ return 0;
----------------
This should only be for vim-mode or STDINMode I think. For normal mode, we should apply replacements on the rewriter.
================
Comment at: include-fixer/tool/ClangIncludeFixer.cpp:208
@@ +207,3 @@
+ clang::include_fixer::CreateReplacementsForHeader(
+ /*Code=*/Buffer.get()->getBuffer(),
+ /*FilePath=*/FilePath,
----------------
Same here.
================
Comment at: include-fixer/tool/clang-include-fixer.py:31
@@ -30,1 +30,3 @@
+choosing_mode = False;
+if vim.eval('exists("g:clang_include_fixer_choosing_mode")') == "1":
----------------
I think we can simply have one mode where a header is inserted if there is only one result, and a dialog is shown only if there are multiple headers for user to choose from.
================
Comment at: include-fixer/tool/clang-include-fixer.py:31
@@ -30,1 +30,3 @@
+choosing_mode = False;
+if vim.eval('exists("g:clang_include_fixer_choosing_mode")') == "1":
----------------
ioeric wrote:
> I think we can simply have one mode where a header is inserted if there is only one result, and a dialog is shown only if there are multiple headers for user to choose from.
Also remove semicolons here and below...
================
Comment at: include-fixer/tool/clang-include-fixer.py:78
@@ +77,3 @@
+ stdout, stderr = execute(command, text)
+ vim.current.buffer[:] = None;
+ vim.current.buffer.append(stdout.splitlines())
----------------
I think we should also update the buffer with the diff method below. It doesn't make sense to clear the buffer if we are just inserting one line.
http://reviews.llvm.org/D20621
More information about the cfe-commits
mailing list