anchor.diff:              | NavigableContainerType.File ->
                   (Path.GetFileNameWithoutExtension project.Name) + ", " + (Path.GetFileName container.Name)
               | _ -> container.Name
  -        typeAsString + name
  +
  +        let combined = typeAsString + name
  +
  +        if isSignatureFile document.FilePath then
  +            "signature for: " + combined
  +        else
  +            combined
   
       type PerDocumentSavedData = { Hash: int; Items: Index.IIndexedNavigableItems }
   
  
positive.code: 
  module private Index =
      [<System.Diagnostics.DebuggerDisplay("{DebugString()}")>]
      type private IndexEntry(str: string, offset: int, item: NavigableItem, isOperator: bool) =
          member _.String = str
          member _.Offset = offset
          member _.Length = str.Length - offset
          member _.Item = item
          member _.IsOperator = isOperator
          member x.StartsWith (s: string) = 
              if s.Length > x.Length then false
              else CultureInfo.CurrentCulture.CompareInfo.IndexOf(str, s, offset, s.Length, CompareOptions.IgnoreCase) = offset
          member private _.DebugString() = sprintf "%s (offset %d) (%s)" (str.Substring offset) offset str
  
      let private indexEntryComparer =
          { new IComparer<IndexEntry> with
  
negative.code:             match parseResults with
              | None -> return [||]
              | Some parseResults ->
                  let! sourceText = document.GetTextAsync(cancellationToken) |> Async.AwaitTask
                  let navItems parsedInput =
                      NavigateTo.GetNavigableItems parsedInput
                      |> Array.filter (fun i -> kinds.Contains(navigateToItemKindToRoslynKind i.Kind))
  
                  let items = parseResults.ParseTree |> navItems
                  let navigableItems =
                      [|
                          for item in items do
                              match RoslynHelpers.TryFSharpRangeToTextSpan(sourceText, item.Range) with 
                              | None -> ()
                              | Some sourceSpan ->
                                  let glyph = navigateToItemKindToGlyph item.Kind
                                  let kind = navigateToItemKindToRoslynKind item.Kind
                                  let additionalInfo = containerToString item.Container document
                                  let _name =
                                      if isSignatureFile document.FilePath then
                                          item.Name + " (signature)"
                                      else
                                          item.Name
                                  yield NavigableItem(document, sourceSpan, glyph, item.Name, kind, additionalInfo)
                      |]
                  return navigableItems
          }
  
      let getCachedIndexedNavigableItems(document: Document, parsingOptions: FSharpParsingOptions, kinds: IImmutableSet<string>) =
  