mirror of
https://github.com/MaskRay/ccls.git
synced 2025-04-21 08:03:02 +00:00
use symbols that "intersect", rather than "begin" within range
This commit is contained in:
parent
700c1ffa58
commit
16d7ef6aa8
@ -113,12 +113,12 @@ void MessageHandler::textDocument_semanticTokensRange(
|
|||||||
for (auto [sym, refcnt] : queryFile->symbol2refcnt) {
|
for (auto [sym, refcnt] : queryFile->symbol2refcnt) {
|
||||||
if (refcnt <= 0)
|
if (refcnt <= 0)
|
||||||
continue;
|
continue;
|
||||||
// skip symbols that don't start within range
|
// skip symbols that don't intersect range
|
||||||
if( sym.range.start.line < param.range.start.line
|
if( sym.range.end.line < param.range.start.line
|
||||||
|| sym.range.end.line > param.range.end.line
|
|| sym.range.start.line > param.range.end.line
|
||||||
// range is within lines here below, let's test if within specified characters/columns
|
// range is within lines here below, let's test if within specified characters/columns
|
||||||
|| sym.range.start.column < param.range.start.character
|
|| sym.range.end.column < param.range.start.character
|
||||||
|| sym.range.end.column > param.range.end.character)
|
|| sym.range.start.column > param.range.end.character)
|
||||||
continue;
|
continue;
|
||||||
std::string_view detailed_name;
|
std::string_view detailed_name;
|
||||||
SymbolKind parent_kind = SymbolKind::Unknown;
|
SymbolKind parent_kind = SymbolKind::Unknown;
|
||||||
|
Loading…
Reference in New Issue
Block a user