From 3ecfeb4c2f45a2bf0634bc53e3d5ae9aa673f7a4 Mon Sep 17 00:00:00 2001 From: Kadir Cetinkaya Date: Tue, 14 Jun 2022 17:08:37 +0200 Subject: [PATCH] [clangd] Wire up compilation for style blocks Differential Revision: https://reviews.llvm.org/D127749 --- clang-tools-extra/clangd/ConfigCompile.cpp | 1 + .../clangd/unittests/ConfigCompileTests.cpp | 8 ++++++++ .../clangd/unittests/ConfigYAMLTests.cpp | 13 +++++++++++++ 3 files changed, 22 insertions(+) diff --git a/clang-tools-extra/clangd/ConfigCompile.cpp b/clang-tools-extra/clangd/ConfigCompile.cpp index 0cdbc5526e6e..2de8816f9f08 100644 --- a/clang-tools-extra/clangd/ConfigCompile.cpp +++ b/clang-tools-extra/clangd/ConfigCompile.cpp @@ -197,6 +197,7 @@ struct FragmentCompiler { compile(std::move(F.Completion)); compile(std::move(F.Hover)); compile(std::move(F.InlayHints)); + compile(std::move(F.Style)); } void compile(Fragment::IfBlock &&F) { diff --git a/clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp b/clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp index 8761f371c1ad..b3286e58efef 100644 --- a/clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp +++ b/clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp @@ -536,6 +536,14 @@ TEST_F(ConfigCompileTests, AllScopes) { EXPECT_TRUE(compileAndApply()); EXPECT_TRUE(Conf.Completion.AllScopes); } + +TEST_F(ConfigCompileTests, Style) { + Frag = {}; + Frag.Style.FullyQualifiedNamespaces.push_back(std::string("foo")); + Frag.Style.FullyQualifiedNamespaces.push_back(std::string("bar")); + EXPECT_TRUE(compileAndApply()); + EXPECT_THAT(Conf.Style.FullyQualifiedNamespaces, ElementsAre("foo", "bar")); +} } // namespace } // namespace config } // namespace clangd diff --git a/clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp b/clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp index 143bcf99fc54..ddf6f4f5fb1f 100644 --- a/clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp +++ b/clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp @@ -261,6 +261,19 @@ Diagnostics: EXPECT_THAT(Results[0].Diagnostics.Includes.IgnoreHeader, ElementsAre(val("foo"), val("bar"))); } + +TEST(ParseYAML, Style) { + CapturedDiags Diags; + Annotations YAML(R"yaml( +Style: + FullyQualifiedNamespaces: [foo, bar])yaml"); + auto Results = + Fragment::parseYAML(YAML.code(), "config.yaml", Diags.callback()); + ASSERT_THAT(Diags.Diagnostics, IsEmpty()); + ASSERT_EQ(Results.size(), 1u); + EXPECT_THAT(Results[0].Style.FullyQualifiedNamespaces, + ElementsAre(val("foo"), val("bar"))); +} } // namespace } // namespace config } // namespace clangd