anchor.diff:          projectInfoManager: FSharpProjectOptionsManager
       ) =
   
  +    let kindsProvided = ImmutableHashSet.Create(NavigateToItemKind.Module, NavigateToItemKind.Class, NavigateToItemKind.Field, NavigateToItemKind.Property, NavigateToItemKind.Method, NavigateToItemKind.Enum, NavigateToItemKind.EnumItem) :> IImmutableSet<string>
  +
       // Save the backing navigation data in a memory cache held in a sliding window
       let itemsByDocumentId = new MemoryCache("FSharp.Editor.FSharpNavigateToSearchService")
   
  -    let getNavigableItems(document: Document, parsingOptions: FSharpParsingOptions) =
  +    let getNavigableItems(document: Document, parsingOptions: FSharpParsingOptions, kinds: IImmutableSet<string>) =
           async {
               let! cancellationToken = Async.CancellationToken
               let! sourceText = document.GetTextAsync(cancellationToken) |> Async.AwaitTask
               let! parseResults = checkerProvider.Checker.ParseFile(document.FilePath, sourceText.ToString(), parsingOptions)
  +
  +            let navItems parsedInput =
  +                NavigateTo.getNavigableItems parsedInput
  +                |> Array.filter (fun i -> kinds.Contains(navigateToItemKindToRoslynKind i.Kind))
  +
               return 
  -                match parseResults.ParseTree |> Option.map NavigateTo.getNavigableItems with
  +                match parseResults.ParseTree |> Option.map navItems with
                   | Some items ->
                       [| for item in items do
                            match RoslynHelpers.TryFSharpRangeToTextSpan(sourceText, item.Range) with 
  
positive.code: 
      type PerDocumentSavedData = { Hash: int; Items: Index.IIndexedNavigableItems }
  
  [<ExportLanguageService(typeof<INavigateToSearchService>, FSharpConstants.FSharpLanguageName); Shared>]
  type internal FSharpNavigateToSearchService 
      [<ImportingConstructor>] 
      (
  
negative.code:                 | None -> [||]
          }
  
      let getCachedIndexedNavigableItems(document: Document, parsingOptions: FSharpParsingOptions, kinds: IImmutableSet<string>) =
          async {
              let! cancellationToken = Async.CancellationToken
              let! textVersion = document.GetTextVersionAsync(cancellationToken)  |> Async.AwaitTask
  