Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions src/Compiler/Service/ServiceStructure.fs
Original file line number Diff line number Diff line change
Expand Up @@ -850,7 +850,7 @@ module Structure =
elif line.StartsWithOrdinal("//") then Some SingleLine
else None

let getCommentRanges (lines: string[]) =
let getCommentRanges trivia (lines: string[]) =
let rec loop (lastLineNum, currentComment, result as state) (lines: string list) lineNum =
match lines with
| [] -> state
Expand Down Expand Up @@ -904,6 +904,18 @@ module Structure =
})
|> acc.AddRange

for trivia in trivia do
match trivia with
| CommentTrivia.BlockComment m when m.StartLine <> m.EndLine ->
{
Scope = Scope.Comment
Collapse = Collapse.Same
Range = m
CollapseRange = m
}
|> acc.Add
| _ -> ()

//=======================================//
// Signature File AST Traversal //
//=======================================//
Expand Down Expand Up @@ -1107,10 +1119,10 @@ module Structure =
| ParsedInput.ImplFile file ->
file.Contents |> List.iter parseModuleOrNamespace
collectConditionalDirectives file.Trivia.ConditionalDirectives sourceLines
getCommentRanges sourceLines
getCommentRanges file.Trivia.CodeComments sourceLines
| ParsedInput.SigFile file ->
file.Contents |> List.iter parseModuleOrNamespaceSigs
collectConditionalDirectives file.Trivia.ConditionalDirectives sourceLines
getCommentRanges sourceLines
getCommentRanges file.Trivia.CodeComments sourceLines

acc :> seq<_>