anchor.diff:  open MonoDevelop.Ide.Gui
   open MonoDevelop.Ide.Gui.Content
   open MonoDevelop.Ide.CodeCompletion
  +open Microsoft.FSharp.Compiler
   open Microsoft.FSharp.Compiler.SourceCodeServices
   
   open ICSharpCode.NRefactory.Editor
  
positive.code:       let config = IdeApp.Workspace.ActiveConfiguration
        if config = null then null else
        // Try to get typed result - with the specified timeout
        let tyRes = LanguageService.Service.GetTypedParseResult(new FilePath(doc.Editor.FileName), docText, doc.Project, config, timeout = ServiceSettings.blockingTimeout)
        let methsOpt = tyRes.GetMethods(startOffset, doc.Editor.Document)
        match methsOpt with 
        | None -> null 
        | Some meths -> new ParameterDataProvider (startOffset, meths) :> _ 
      with _ -> null
          
    override x.KeyPress (key, keyChar, modifier) =
  
negative.code:             // @todo This will not be perfect when the text contains generic types with more than one type parameter
              // since they will have extra commas. 
  
              let text = if lines.Length = 0 then name else  lines.[0]
              let textL = text.Split '('
              if textL.Length <> 2 then text else
              let text0 = textL.[0]
  