[clangd] Handle absolute/relative path specifications in Config
authorKadir Cetinkaya <kadircet@google.com>
Tue, 27 Oct 2020 22:03:41 +0000 (23:03 +0100)
committerKadir Cetinkaya <kadircet@google.com>
Tue, 3 Nov 2020 20:45:35 +0000 (21:45 +0100)
commit7f059a258a1dbfc240a8d526b5d23d238a3d84f7
tree3bb899bad8e42c40d4e40c868556ee3fcf40d0b4
parent5369d8cca7e6443703dd4dbaf253012e4c5bb400
[clangd] Handle absolute/relative path specifications in Config

This introduces a mechanism for providers to interpret paths specified
in a fragment either as absolute or relative to fragment location.
This information should be used during compile stage to handle blocks correctly.

Differential Revision: https://reviews.llvm.org/D90270
clang-tools-extra/clangd/ConfigCompile.cpp
clang-tools-extra/clangd/ConfigFragment.h
clang-tools-extra/clangd/ConfigProvider.cpp
clang-tools-extra/clangd/ConfigProvider.h
clang-tools-extra/clangd/tool/ClangdMain.cpp
clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
clang-tools-extra/clangd/unittests/ConfigProviderTests.cpp