From 925bf377913f1003324d746b9e28e053186bfa29 Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Mon, 27 Jul 2020 15:25:20 +0300 Subject: Procedures: Fixed issue with TextBox on DialogWindow. Fixed issue with multiple library linking. Implemented error checking. Many improvements. --- .../Scripting/Tango.Scripting.Editors/ScriptEditor.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs') diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs index 7b5c38a2b..8cf615a7c 100644 --- a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs @@ -4,6 +4,7 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.ComponentModel.Design; using System.Diagnostics; using System.IO; using System.Linq; @@ -56,6 +57,7 @@ namespace Tango.Scripting.Editors private List _knownTypes; private List _declaredTypes; private bool _isLoadingTypes; + private TextMarkerService errorMarkerService; private static JsonSerializerSettings _jsonSettings; private static Dictionary _knownTypesCache; private static String KNOWN_TYPES_CACHE_FOLDER; @@ -296,6 +298,10 @@ namespace Tango.Scripting.Editors completionWindow.InsertionRequest += CompletionWindow_InsertionRequest; TextChanged += ScriptEditor_TextChanged; + + errorMarkerService = new TextMarkerService(Document); + TextArea.TextView.BackgroundRenderers.Add(errorMarkerService); + TextArea.TextView.LineTransformers.Add(errorMarkerService); } private void ScriptEditor_KnownTypesAvailable(object sender, EventArgs e) @@ -2423,6 +2429,18 @@ namespace Tango.Scripting.Editors Document.EndUpdate(); } + public void HighlighError(int position, int length) + { + ITextMarker marker = errorMarkerService.Create(position, length); + marker.MarkerTypes = TextMarkerTypes.SquigglyUnderline; + marker.MarkerColor = Colors.Red; + } + + public void ClearErrors() + { + errorMarkerService.RemoveAll(m => true); + } + #endregion } } -- cgit v1.3.1