[PATCH] D147395: [Clangd] Make the type hint length limit configurable

Haojian Wu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 4 01:04:43 PDT 2023


hokein added inline comments.


================
Comment at: clang-tools-extra/clangd/Config.h:151
+    // Limit the length of type names in inlay hints.
+    size_t TypeNameLimit = 32;
   } InlayHints;
----------------
zhangyi1357 wrote:
> hokein wrote:
> > I would extend it a bit more -- 0 means no limit. 
> > 
> > Can you also add a unittest in `TEST(TypeHints, LongTypeName)` in `InlayHintTests.cpp`? 
> > 0 means no limit.
> This is quite a good idea. I've done it.
> 
> For unittest, there is already `TEST(TypeHints, LongTypeName)` in `InlayHintTests.cpp`. Do you mean add more tests in the same `TEST` or another `TEST` with TypeNameLimit configured?
> 
I mean adding one more test in the same `TEST(TypeHints, LongTypeName)`.

This test verifies the the long type name is shown when the limit is set to 0, something like

```
TEST(TypeHints, LongTypeName) {
  assertTypeHints(R"cpp(
    template <typename, typename, typename>
    struct A {};
    struct MultipleWords {};
    A<MultipleWords, MultipleWords, MultipleWords> foo();
    // Omit type hint past a certain length (currently 32)
    auto var = foo();
  )cpp");

    Config cfg; 
     ... // set the limit to 0

   assertTypeHints(R"cpp(
    template <typename, typename, typename>
    struct A {};
    struct MultipleWords {};
    A<MultipleWords, MultipleWords, MultipleWords> foo();
    // Omit type hint past a certain length (currently 32)
    auto var = foo();
  )cpp", ExpectedHint...);
}
```


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D147395



More information about the cfe-commits mailing list