[PATCH] D64305: [clangd] Add path mappings functionality

William Wagner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Nov 3 19:24:07 PST 2019


wwagner19 updated this revision to Diff 227643.
wwagner19 added a comment.
Herald added a subscriber: usaxena95.

Unfortunately, I had to take a bit of a hiatus there, but i'm back a few months later with an updated patch incorporating all of @sammccall 's feedback! Notably,

- Windows paths are now accounted for, basically we first try to parse a unix path, and fall back to windows if possible. After, windows paths are converted to forward-slash notation, so the prefix stuff can work.
- Mapping LSP jsonrpc keys is now done, albeit a bit awkward due to no delete key/value API
- The lit test is improved, as it no longer relies on background index and tests windows client path

As for the validity of this feature, I am well aware of vscode's remote feature, but it is still essential for vim/emacs/etc. editors, IMO.

Please take a look when you have a chance, thanks.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64305/new/

https://reviews.llvm.org/D64305

Files:
  clang-tools-extra/clangd/PathMapping.cpp
  clang-tools-extra/clangd/PathMapping.h
  clang-tools-extra/clangd/test/Inputs/path-mappings/compile_commands.json
  clang-tools-extra/clangd/test/Inputs/path-mappings/definition.jsonrpc
  clang-tools-extra/clangd/test/Inputs/path-mappings/remote/foo.cpp
  clang-tools-extra/clangd/test/Inputs/path-mappings/remote/foo.h
  clang-tools-extra/clangd/test/Inputs/path-mappings/server/foo.h
  clang-tools-extra/clangd/test/path-mappings.test
  clang-tools-extra/clangd/tool/ClangdMain.cpp
  clang-tools-extra/clangd/unittests/PathMappingTests.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64305.227643.patch
Type: text/x-patch
Size: 33007 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191104/9aa7fe0e/attachment-0001.bin>


More information about the cfe-commits mailing list