anchor.diff:                elif ((ch = ')' || ch = '}' || ch = ']')) then loop (depth+1) (i-1) 
                 elif (ch = '(' || ch = '<') then i
                 else loop depth (i-1) 
  -          loop 0 offset 
  -
  +          loop 0 (offset + 1)
  +
  +      let config = IdeApp.Workspace.ActiveConfiguration
  +      if docText = null || config = null || offset >= docText.Length || startOffset <= 0 || offset <= 0 then 
  +        null 
  +      else
         Debug.WriteLine("Getting Parameter Info, startOffset = {0}", startOffset)
  -      let config = IdeApp.Workspace.ActiveConfiguration
  -      if docText = null || config = null || offset >= docText.Length || offset < 0 then null else
   
         // Try to get typed result - with the specified timeout
         let proj = doc.Project :?> MonoDevelop.Projects.DotNetProject
  
positive.code: type FSharpTextEditorCompletion() =
    inherit CompletionTextEditorExtension()
  
    override x.ExtendsEditor(doc:Document, editor:IEditableTextBuffer) =
      // Extend any text editor that edits F# files
      CompilerArguments.supportedExtension(IO.Path.GetExtension(doc.FileName.ToString()))
  
negative.code:   /// Provide parameter and method overload information when you type '(', '<' or ','
    override x.HandleParameterCompletion(context:CodeCompletionContext, completionChar:char) : MonoDevelop.Ide.CodeCompletion.ParameterDataProvider =
      try
        if suppressParameterCompletion then
           suppressParameterCompletion <- false
           null
        else
        let doc = x.Document
        let docText = doc.Editor.Text
        let offset = context.TriggerOffset
  