anchor.diff:          FileService.supportedFileName (editor.FileName.ToString())
   
       override x.GetMatchingBracesAsync (editor, context, caretOffset, cancellationToken) =
  -        let offset = Math.Min(caretOffset, editor.Text.Length - 1)
  -        match editor.GetCharAt(offset) with
  +        if caretOffset = -1 || caretOffset >= editor.Length then
  +            Task.FromResult(Nullable())
  +        else
  +
  +        match editor.GetCharAt(caretOffset) with
           | '(' | ')' ->
               match context.TryGetAst() with
               | Some _ast -> 
  
positive.code:                                           let startOffset = getOffset startRange
                                            let endOffset = getOffset endRange
                                            match (startOffset, endOffset) with
                                            | (startOffset, endOffset) when startOffset = offset 
                                                -> Some (startOffset, endOffset, true)
                                            | (startOffset, endOffset) when endOffset = offset
                                                -> Some (startOffset, endOffset, false)
                                            | _ -> None)
                                 |> Seq.tryHead
  
negative.code: ﻿namespace MonoDevelop.FSharp
  
  open System
  open System.Threading.Tasks
  open MonoDevelop
  open MonoDevelop.Core.Text
  open MonoDevelop.Ide.Editor
  