anchor.diff:  
       let sourceTokenizer= SourceTokenizer(getDefineSymbols project, document.FileName.FileName)
   
  -    let handleConfigurationChanged(_) =
  -        for doc in IdeApp.Workbench.Documents do
  -            let data = doc.Editor
  -            if data <> null then
  -                // Force Syntax Mode Reparse
  -                if typeof<SyntaxMode>.IsAssignableFrom(data.Document.SyntaxMode.GetType()) then
  -                    let sm = data.Document.SyntaxMode :?> SyntaxMode
  -                    sm.UpdateDocumentHighlighting()
  -                    SyntaxModeService.WaitUpdate(data.Document)
  -                data.Parent.TextViewMargin.PurgeLayoutCache()
  -                doc.ReparseDocument()
  -                data.Parent.QueueDraw()
  +    let handleConfigurationChanged =
  +        EventHandler
  +            (fun o e ->
  +                for doc in IdeApp.Workbench.Documents do
  +                    let data = doc.Editor
  +                    if data <> null then
  +                        // Force Syntax Mode Reparse
  +                        if typeof<SyntaxMode>.IsAssignableFrom(data.Document.SyntaxMode.GetType()) then
  +                            let sm = data.Document.SyntaxMode :?> SyntaxMode
  +                            sm.UpdateDocumentHighlighting()
  +                            SyntaxModeService.WaitUpdate(data.Document)
  +                        data.Parent.TextViewMargin.PurgeLayoutCache()
  +                        doc.ReparseDocument()
  +                        data.Parent.QueueDraw())
   
       let getAndProcessSymbols (pd:ParseAndCheckResults) =
           async {let! symbols = pd.GetAllUsesOfAllSymbolsInFile()
  
positive.code:             match (this.Document, line, offset, length, style) with
              | ExcludedCode styleName -> Seq.singleton(Chunk(offset,length,styleName))
              | PreProcessorCode _ -> base.GetChunks(style,line,offset,length)
              | OtherCode (_,lineText) when semanticHighlightingEnabled -> getLexedChunks(style,line,offset,lineText,extraColorInfo)
              | _ -> base.GetChunks(style,line,offset,length)
          with
              | exn ->
                  LoggingService.LogError("Error in FSharpSyntaxMode.GetChunks", exn)
                  base.GetChunks(style,line,offset,length)
  
negative.code: 
      type FSharpSpanParser(mode:SyntaxMode, spanStack, defines: string list) =
          inherit SyntaxMode.SpanParser(mode, spanStack)
          do LoggingService.LogDebug ("Creating FSharpSpanParser()")
  
          member private this.ScanPreProcessorElse(i: byref<int>) =
              if not (spanStack |> contains (fun span -> span.GetType() = typeof<IfBlockSpan>)) then
  