anchor.diff:      let hasSpans (line: DocumentLine) =
           line <> null && line.StartSpan <> null && line.StartSpan.Count > 0
   
  -    let (|ExcludedCode|StringCode|PreProcessorCode|CommentCode|OtherCode|) (document: TextDocument,line: DocumentLine) =
  -        let docText = document.GetTextAt(line.Segment)
  +    // TODO: Don't commit this.
  +    let tempLog (text: string) =
  +        System.IO.File.AppendAllText("C:\Temp\MDLog.log", text + System.Environment.NewLine)
  +
  +    let (|ExcludedCode|StringCode|PreProcessorCode|CommentCode|OtherCode|) (document: TextDocument,line: DocumentLine,offset,length) =
  +        let docText = document.GetTextAt(offset,length)
  +        tempLog (sprintf "In GetChunks. [DocumentLine: %s]" docText)
           if docText.StartsWith("#if") || docText.StartsWith("#else") || docText.StartsWith("#endif") then
               PreProcessorCode
           elif (hasSpans(line)) then
  
positive.code:                 this.FoundSpanEnd.Invoke(this.CurSpan, i, 0)
              this.FoundSpanBegin.Invoke(elseBlockSpan, i , "#else".Length)
              i <- i + "#else".Length
              let preprocessorSpan = this.CreatePreProcessorSpan()
              this.FoundSpanBegin.Invoke(preprocessorSpan, i, 0)
  
          member private this.ScanPreProcessorIf(textOffset:int, i: byref<int>) =
              let mutable endIdx = this.CurText.Length
  
negative.code:                 for s in configuration.GetDefineSymbols() do
                      yield s
          }
  
      
      
  
      let getProject (doc: TextDocument) =
  