public async Task HighlightBasic()
        {
            const string code     = @"
x = 1

def func(x):
    return x

y = func(x)
x = 2
";
            var          analysis = await GetAnalysisAsync(code);

            var dhs = new DocumentHighlightSource(Services);

            // Test global scope
            var highlights1 = await dhs.DocumentHighlightAsync(analysis.Document.Uri, new SourceLocation(8, 1));

            highlights1.Should().HaveCount(3);
            highlights1[0].range.Should().Be(1, 0, 1, 1);
            highlights1[0].kind.Should().Be(DocumentHighlightKind.Write);
            highlights1[1].range.Should().Be(6, 9, 6, 10);
            highlights1[1].kind.Should().Be(DocumentHighlightKind.Read);
            highlights1[2].range.Should().Be(7, 0, 7, 1);

            // Test local scope in func()
            var highlights2 = await dhs.DocumentHighlightAsync(analysis.Document.Uri, new SourceLocation(4, 10));

            highlights2.Should().HaveCount(2);
            highlights2[0].range.Should().Be(3, 9, 3, 10);
            highlights2[0].kind.Should().Be(DocumentHighlightKind.Write);
            highlights2[1].range.Should().Be(4, 11, 4, 12);
            highlights2[1].kind.Should().Be(DocumentHighlightKind.Read);
        }
        public async Task HighlightEmptyDocument()
        {
            await GetAnalysisAsync(string.Empty);

            var dhs        = new DocumentHighlightSource(Services);
            var references = await dhs.DocumentHighlightAsync(null, new SourceLocation(1, 1));

            references.Should().BeEmpty();
        }