@@ -321,9 +321,7 @@ private void GuideAssemblyChanged(object sender, EditorGuideReference e)
321321 {
322322 _SyntaxGuide = guide ;
323323 _Registry = new StyleRegistry ( _SyntaxGuide ) ;
324- //DeColorExistingErrors();
325324 ColorizeTokens ( null ) ;
326- ColorizeErrors ( ) ;
327325 }
328326 }
329327
@@ -332,9 +330,7 @@ private void GrammarAssemblyChanged(object sender, GrammarReference e)
332330 var grammar = FetchGrammarInternal ( e . AssemblyPath , e . GrammarName ) ;
333331 SetGrammar ( grammar ) ;
334332 ParseSource ( ) ;
335- //DeColorExistingErrors();
336333 ColorizeTokens ( null ) ;
337- ColorizeErrors ( ) ;
338334 }
339335
340336 /// <summary>
@@ -472,87 +468,18 @@ private void CodeEditor_DragEnter(object sender, DragEventArgs e)
472468 e . Effect = DragDropEffects . None ;
473469 }
474470
475- private void DeColorExistingErrors ( )
471+ private List < IToken > GetErrorTokens ( )
476472 {
477- if ( _Registry == null )
478- return ;
479-
480- CodeEditor . BeginUpdate ( ) ;
481- var lastLineNumber = CodeEditor . LinesCount ;
482- var lastColumn = CodeEditor . Lines [ lastLineNumber - 1 ] . Length ;
483- try
484- {
485- var errorStyle = _Registry . GetParseErrorStyle ( ) ;
486- var index = CodeEditor . GetStyleIndex ( errorStyle ) ;
487- var styleIndex = ( StyleIndex ) index + 1 ;
488- foreach ( var token in _HighlightedErrors )
489- {
490- var startingPlace = new Place ( token . Column , token . Line - 1 ) ;
491- var stoppingPlace = new Place ( token . Column + token . Text . Length , token . Line - 1 ) ;
473+ var result = new List < IToken > ( ) ;
492474
493- //if (stoppingPlace.iLine >= lastLineNumber)
494- // break;
495-
496- //if (stoppingPlace.iChar >= lastColumn)
497- // break;
498-
499- var tokenRange = CodeEditor . GetRange ( startingPlace , stoppingPlace ) ;
500- tokenRange . ClearStyle ( styleIndex ) ;
501- }
502-
503- _HighlightedErrors . Clear ( ) ;
504- }
505- catch ( Exception ex )
506- {
507- var errorDisplay = new ErrorDisplay
508- {
509- Text = Resources . SyntaxErrorColoringErrorTitle ,
510- ErrorMessage = ex . Message ,
511- ErrorStackTrace = ex . StackTrace
512- } ;
513- errorDisplay . ShowDialog ( ) ;
514- }
515- finally
516- {
517- CodeEditor . EndUpdate ( ) ;
518- }
519-
520- }
475+ if ( _ParseErrors == null )
476+ return result ;
521477
522- // ReSharper disable once TooManyDeclarations
523- private void ColorizeErrors ( )
524- {
525- if ( _Registry == null )
526- return ;
478+ foreach ( var error in _ParseErrors )
479+ if ( error . Token != null )
480+ result . Add ( error . Token ) ;
527481
528- CodeEditor . BeginUpdate ( ) ;
529- try
530- {
531- var errorStyle = _Registry . GetParseErrorStyle ( ) ;
532- foreach ( var error in _ParseErrors )
533- {
534- var token = error . Token ;
535- var startingPlace = new Place ( token . Column , token . Line - 1 ) ;
536- var stoppingPlace = new Place ( token . Column + token . Text . Length , token . Line - 1 ) ;
537- var tokenRange = CodeEditor . GetRange ( startingPlace , stoppingPlace ) ;
538- tokenRange . SetStyle ( errorStyle ) ;
539- _HighlightedErrors . Add ( token ) ;
540- }
541- }
542- catch ( Exception ex )
543- {
544- var errorDisplay = new ErrorDisplay
545- {
546- Text = Resources . SyntaxErrorColoringErrorTitle ,
547- ErrorMessage = ex . Message ,
548- ErrorStackTrace = ex . StackTrace
549- } ;
550- errorDisplay . ShowDialog ( ) ;
551- }
552- finally
553- {
554- CodeEditor . EndUpdate ( ) ;
555- }
482+ return result ;
556483 }
557484
558485 private void ColorizeTokens ( Range range )
@@ -561,7 +488,7 @@ private void ColorizeTokens(Range range)
561488 return ;
562489
563490 var tokensToColor = range == null ? _Tokens : FindTokensInRange ( _Tokens , range ) ;
564- _Highlighter . ColorizeTokens ( CodeEditor , _Registry , tokensToColor ) ;
491+ _Highlighter . ColorizeTokens ( CodeEditor , _Registry , tokensToColor , GetErrorTokens ( ) ) ;
565492 }
566493
567494 private void ConfigureGraphWorker ( )
@@ -623,9 +550,7 @@ private void HeuristicHighlightingToolStripMenuItem_Click(object sender, EventAr
623550 {
624551 if ( HeuristicHighlightingToolStripMenuItem . Checked )
625552 {
626- //DeColorExistingErrors();
627553 ColorizeTokens ( null ) ;
628- ColorizeErrors ( ) ;
629554 }
630555 else
631556 {
@@ -1033,9 +958,7 @@ private void VisualAnalyzer_Load(object sender, EventArgs e)
1033958
1034959 // Handle initial parse and coloring on load
1035960 ParseSource ( ) ;
1036- // No reason to de-color existing errors since there should be none
1037961 ColorizeTokens ( null ) ;
1038- ColorizeErrors ( ) ;
1039962 }
1040963
1041964 private void ConfigureEditorSettings ( )
@@ -1079,9 +1002,7 @@ private void CodeEditor_TextChangedDelayed(object sender, TextChangedEventArgs e
10791002 else
10801003 {
10811004 ParseSource ( ) ;
1082- //DeColorExistingErrors();
10831005 ColorizeTokens ( null ) ;
1084- ColorizeErrors ( ) ;
10851006 }
10861007 }
10871008 }
0 commit comments