anchor.diff:  /// Currently, this just loads the keyword-based highlighting info from resources
   type FSharpSyntaxMode() as this =
       inherit SyntaxMode()
  +    // Mutable Local Variables
       let mutable document : MonoDevelop.Ide.Gui.Document = null
       let mutable parsedDocument : FSharp.CompilerBinding.ParseAndCheckResults option = None
       let mutable sourceTokenizer: SourceTokenizer option = None
  +    let mutable semanticHighlightingEnabled = PropertyService.Get ("EnableSemanticHighlighting", true);
  +    let mutable m_HasRegisteredParsedEvent = false
  +    
  +
  +    let HandlePropertyChanged (eventArgs: PropertyChangedEventArgs) =
  +        if eventArgs.Key = "EnableSemanticHighlighting" then
  +            semanticHighlightingEnabled <- PropertyService.Get ("EnableSemanticHighlighting", true);
  +    
       let getDefineSymbols (project: MonoDevelop.Projects.Project) =
           seq { 
               let workspace = IdeApp.Workspace
  
positive.code:         let chunks = mcInternal chunkStyle
          chunks
  
      let mutable m_HasRegisteredParsedEvent = false
  
      
  
      do
          LoggingService.LogInfo("Creating FSharpSyntaxMode()")
          let provider = new ResourceStreamProvider(this.GetType().Assembly, "FSharpSyntaxMode.xml");
          use reader = provider.Open()
          let baseMode = SyntaxMode.Read(reader)
  
negative.code:     type System.String with
          member this.IsAt (idx, pattern:string) =
              let strVal = this
              if (idx + pattern.Length > strVal.Length) then
                  false
              else
                  strVal.Substring(idx).StartsWith(pattern)
  
      type AbstractBlockSpan (isValid) =
          inherit Span()
  