[clangd] Implement cross-file rename.
authorHaojian Wu <hokein.wu@gmail.com>
Wed, 23 Oct 2019 12:40:20 +0000 (14:40 +0200)
committerHaojian Wu <hokein.wu@gmail.com>
Tue, 26 Nov 2019 09:04:31 +0000 (10:04 +0100)
commit852bafae2bb4d875e8d206168a57667f59c0f9a6
tree51e8f6b4ef7319ab0d794ef984f2623aae36c5a0
parent19edd675c6321bc0447f459f427fa67ad46f5e2e
[clangd] Implement cross-file rename.

Summary:
This is the initial version. The cross-file rename is purely based on
the index.

It is hidden under a command-line flag, and only available for a small set
of symbols.

Reviewers: ilya-biryukov, sammccall

Subscribers: merge_guards_bot, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D69263
13 files changed:
clang-tools-extra/clangd/ClangdLSPServer.cpp
clang-tools-extra/clangd/ClangdServer.cpp
clang-tools-extra/clangd/ClangdServer.h
clang-tools-extra/clangd/SourceCode.h
clang-tools-extra/clangd/TUScheduler.cpp
clang-tools-extra/clangd/TUScheduler.h
clang-tools-extra/clangd/refactor/Rename.cpp
clang-tools-extra/clangd/refactor/Rename.h
clang-tools-extra/clangd/refactor/Tweak.h
clang-tools-extra/clangd/tool/ClangdMain.cpp
clang-tools-extra/clangd/unittests/RenameTests.cpp
clang-tools-extra/clangd/unittests/SyncAPI.cpp
clang-tools-extra/clangd/unittests/SyncAPI.h