anchor.diff:  [<Export(typeof<IBraceCompletionSessionProvider>)>]
   [<ContentType(FSharpConstants.FSharpContentTypeName)>]
   [<BracePair(Parenthesis.OpenCharacter, Parenthesis.CloseCharacter)>]
  +[<BracePair(CurlyBrackets.OpenCharacter, CurlyBrackets.CloseCharacter)>]
  +[<BracePair(SquareBrackets.OpenCharacter, SquareBrackets.CloseCharacter)>]
  +[<BracePair(DoubleQuote.OpenCharacter, DoubleQuote.CloseCharacter)>]
  +[<BracePair(VerticalBar.OpenCharacter, VerticalBar.CloseCharacter)>]
   type internal FSharpBraceCompletionSessionProvider
       [<ImportingConstructor>] 
       (
  
positive.code:             // TODO: Implement this for F#
              true 
  
  [<ExportLanguageService(typeof<IEditorBraceCompletionSessionFactory>, FSharpConstants.FSharpLanguageName)>]
  type internal FSharpEditorBraceCompletionSessionFactory () =
      inherit ForegroundThreadAffinitizedObject ()
  
      member __.IsSupportedOpeningBrace openingBrace =
          match openingBrace with
          | Parenthesis.OpenCharacter -> true
          | _ -> false
  
      member this.CheckCodeContext(_document, _position, _openingBrace, _cancellationToken) =
          this.AssertIsForeground();
  
          // TODO: We need to know if we are inside a F# comment. If we are, then don't do automatic completion.
          true
  
      member this.CreateEditorSession(_document: Document, _openingPosition: int, openingBrace: char, _cancellationToken: CancellationToken) =
          match openingBrace with
          | Parenthesis.OpenCharacter -> ParenthesisCompletionSession() :> IEditorBraceCompletionSession
          | _ -> null
  
      interface IEditorBraceCompletionSessionFactory with
  
negative.code:     [<Literal>]
      let CloseCharacter = ')'
  
  module private CurlyBrackets =
  
      [<Literal>]
      let OpenCharacter = '{'
  
      [<Literal>]
      let CloseCharacter = '}'
  
  module private SquareBrackets =
  
      [<Literal>]
      let OpenCharacter = '['
  
      [<Literal>]
      let CloseCharacter = ']'
  
  module private DoubleQuote =
  
      [<Literal>]
      let OpenCharacter = '"'
  
      [<Literal>]
      let CloseCharacter = '"'
  
  module private VerticalBar =
  
      [<Literal>]
      let OpenCharacter = '|'
  
      [<Literal>]
      let CloseCharacter = '|'
  
  type internal ParenthesisCompletionSession () =
      
      interface IEditorBraceCompletionSession with
  