anchor.diff:              match project.Policies with 
               | null -> PolicyService.DefaultPolicies
               | policyBag -> policyBag  :> PolicyContainer
  -
  -        let mimeTypeChain = DesktopService.GetMimeTypeInheritanceChain (FSharpFormatter.MimeType)
  +        
  +        let mimeType = DesktopService.GetMimeTypeForUri (editor.FileName.ToString())
           let input = editor.Text
           if fromOffset = 0 && toOffset = String.length input then 
  -            formatText (Some editor) policyParent mimeTypeChain input Document
  +            formatText (Some editor) policyParent mimeType input Document
               |> ignore
           else 
  -            formatText (Some editor) policyParent mimeTypeChain input (Selection(fromOffset, toOffset))
  +            formatText (Some editor) policyParent mimeType input (Selection(fromOffset, toOffset))
               |> ignore
   
  -    override x.FormatText(policyParent, mimeTypeChain, input, fromOffset, toOffset) = 
  -        if fromOffset = 0 && toOffset = String.length input then 
  -            formatText None policyParent mimeTypeChain input Document
  +    override x.FormatImplementation(policyParent, mimeType, input, fromOffset, toOffset) = 
  +        if fromOffset = 0 && toOffset = String.length input.Text then 
  +            formatText None policyParent mimeType input.Text Document
           else 
  -            formatText None policyParent mimeTypeChain input (Selection(fromOffset, toOffset))+            formatText None policyParent mimeType input.Text (Selection(fromOffset, toOffset))
positive.code: open Microsoft.FSharp.Compiler
  open FSharp.CompilerBinding
  open ExtCore.Control
  
  type FormattingOption = 
      | Document
      | Selection of int * int
  
  type FSharpFormatter()  = 
      inherit AbstractAdvancedFormatter()
  
      let offsetToPos (positions : _ []) offset = 
          let rec searchPos start finish = 
  
negative.code:                         let col = editor.CaretColumn
                          editor.ReplaceText(0, input.Length, result)
                          editor.SetCaretLocation (line, col, false))
                      StringTextSource (result)
                  with exn -> 
                      LoggingService.LogError("Error occured: {0}", exn.Message)
                      StringTextSource.Empty
              output :> ITextSource
  
          | Selection(fromOffset, toOffset) ->
              // Convert from offsets to line and column position
  