llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-tools-extra

@llvm/pr-subscribers-clangd

Author: Anthony Gaudino (Anthony-Gaudino)

<details>
<summary>Changes</summary>

## Summary

A comment block containing a section-divider line was reported as documentation 
for the next declaration. In practice this meant the title of a banner was 
shown on hover, e.g.:

```cpp
// Per-frame pump
// ========================================================================
void update(); // hover showed "Per-frame pump\n===..."
```

`getDeclComment` already filtered comments consisting solely of special 
characters (`looksLikeDocComment`), but a divider combined with a title line 
passed the filter and the title was shown as documentation.

## What this changes

- `looksLikeDocComment` (`CodeCompletionStrings.cpp`) now also rejects any 
comment containing a divider line: a line that, trimmed, is a run of 10+ 
repetitions of a single character. The check runs on the formatted text, so it 
applies regardless of comment style (`//`, `///`, `/* ... */`).
- The length threshold keeps short runs (markdown `---` rules and similar 
adornments) working as documentation; a regression test pins this boundary.

This affects hover and code-completion documentation, which share 
`getDeclComment`.

## Testing

- New cases in `TEST(Hover, Structured)`: titled `===` divider, same with a 
blank line before the declaration, `---` divider, `/* ### */` block banner, 
`+++` divider, and a short-run negative control.
- Verified the divider cases fail without the fix (hover showed the banner 
title) and pass with it.
- Full `ClangdTests` suite passes (1434 tests).

## Related

- Related to clangd/clangd#<!-- -->974 (divider banners matched across blank 
lines).

---
Full diff: https://github.com/llvm/llvm-project/pull/225404.diff


2 Files Affected:

- (modified) clang-tools-extra/clangd/CodeCompletionStrings.cpp (+27-1) 
- (modified) clang-tools-extra/clangd/unittests/HoverTests.cpp (+100) 


``````````diff
The server is unavailable at this time. Please wait a few minutes before you 
try again.
``````````

</details>


https://github.com/llvm/llvm-project/pull/225404
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to