DisabledTextTriviaStructureProvider.vb 1.3 KB
Newer Older
1 2
' Copyright (c) Microsoft.  All Rights Reserved.  Licensed under the Apache License, Version 2.0.  See License.txt in the project root for license information.

3
Imports System.Collections.Immutable
4
Imports System.Threading
5
Imports Microsoft.CodeAnalysis.Structure
6 7
Imports Microsoft.CodeAnalysis.Text

8
Namespace Microsoft.CodeAnalysis.VisualBasic.Structure
C
CyrusNajmabadi 已提交
9
    Friend Class DisabledTextTriviaStructureProvider
10
        Inherits AbstractSyntaxTriviaStructureProvider
11

12 13 14
        Public Overrides Sub CollectBlockSpans(document As Document, trivia As SyntaxTrivia,
                                               spans As ImmutableArray(Of BlockSpan).Builder,
                                               cancellationToken As CancellationToken)
15 16
            If trivia.Kind = SyntaxKind.DisabledTextTrivia Then
                ' Don't include trailing line breaks in spanToCollapse
17
                Dim nodeSpan = trivia.Span
18 19 20
                Dim startPos = nodeSpan.Start
                Dim endPos = startPos + trivia.ToString().TrimEnd().Length

21 22 23 24
                spans.Add(CreateRegion(
                    span:=TextSpan.FromBounds(startPos, endPos),
                    bannerText:=Ellipsis, autoCollapse:=True,
                    type:=BlockTypes.Nonstructural, isCollapsible:=True))
25 26 27
            End If
        End Sub
    End Class
28
End Namespace