anchor.diff:                  Seq.singleton(Chunk(offset, length, styleName ))
               | StringCode styleName ->
                   Seq.singleton(Chunk(offset, length, styleName ))
  +            | PreProcessor pp ->
  +                base.GetChunks(style, line, offset, length)
               | _ -> base.GetChunks(style, line, offset, length)
           with
               | exn ->
  
positive.code:                         false
                      elif currentText.Substring(textOffset).StartsWith("#endif") then
                          let span = EndIfBlockSpan()
                          if this.CurSpan <> null && typeof<AbstractBlockSpan>.IsAssignableFrom(this.CurSpan.GetType()) then
                              this.FoundSpanEnd.Invoke(this.CurSpan, i, 0)
                          this.FoundSpanBegin.Invoke(span, i, 6)
                          this.FoundSpanEnd.Invoke(span, i + 6, 0)
                          true
                      elif (this.CurSpan = null || (this.CurSpan <> null && this.CurSpan.Color <> "Excluded Code")) then
                          let spanLength = 
                              match currentText.Substring(textOffset).IndexOf(Environment.NewLine) with
                              | -1 -> currentText.Substring(textOffset).Length
                              | value -> value
                          this.FoundSpanBegin.Invoke(PreprocessorSpan(), i + textOffset, spanLength)
                          i <- i + spanLength
                          base.ScanSpan(&i)
                      else
                          false
                  elif (this.CurSpan <> null && this.CurSpan.Color <> "Excluded Code") then
  
negative.code: open ExtCore.Control
  
  module FSharpSyntaxModeInternals =
  
      type PreprocessorSpan() =
          inherit Span()
  