[PATCH] D56267: [clangd] Interfaces for writing code actions
Ilya Biryukov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 3 05:24:05 PST 2019
ilya-biryukov created this revision.
ilya-biryukov added reviewers: kadircet, ioeric, hokein, sammccall.
Herald added subscribers: arphaman, jkorous, MaskRay, mgorny.
The code actions can be run in two stages:
- Stage 1. Decides whether the action is available to the user and collects all the information required to finish the action. Should be cheap, since this will run over all the actions known to clangd on each textDocument/codeAction request.
- Stage 2. Uses information from stage 1 to produce the actual edits that the code action should perform. This stage can be expensive and will only run if the user chooses to perform the specified action in the UI.
Trivial actions can also produce results in stage 1 to avoid an extra
round-trip and read of the AST to reconstruct the action on the server.
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D56267
Files:
clangd/CMakeLists.txt
clangd/ClangdLSPServer.cpp
clangd/ClangdServer.cpp
clangd/ClangdServer.h
clangd/CodeActions.cpp
clangd/CodeActions.h
clangd/Protocol.cpp
clangd/Protocol.h
clangd/SourceCode.cpp
clangd/SourceCode.h
test/clangd/initialize-params.test
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56267.180041.patch
Type: text/x-patch
Size: 24884 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190103/5bd4cdca/attachment-0001.bin>
More information about the cfe-commits
mailing list