aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-04-23 17:55:12 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-04-23 17:55:12 +0300
commit4c0712fb9ac9ea65b0c66c16639f847307c84f98 (patch)
tree9e847a9cf6b92fe53c01cffed83d75195b870eef /Software/Visual_Studio/Scripting
parenta440c6477a12a263969a507c2178981642ffb457 (diff)
downloadTango-4c0712fb9ac9ea65b0c66c16639f847307c84f98.tar.gz
Tango-4c0712fb9ac9ea65b0c66c16639f847307c84f98.zip
Improvements on test designer.
Diffstat (limited to 'Software/Visual_Studio/Scripting')
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationError.cs1
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Project.cs3
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Script.cs27
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs5
4 files changed, 35 insertions, 1 deletions
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationError.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationError.cs
index 27c710b2f..eda72fa6e 100644
--- a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationError.cs
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationError.cs
@@ -12,6 +12,7 @@ namespace Tango.Scripting.Basic
public String File { get; set; }
public String Message { get; set; }
public DiagnosticSeverity Severity { get; set; }
+ public int Position { get; set; }
public int Line { get; set; }
public int Column { get; set; }
public int Length { get; set; }
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Project.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Project.cs
index 776c21e53..7abcbb42d 100644
--- a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Project.cs
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Project.cs
@@ -73,6 +73,7 @@ namespace Tango.Scripting.Basic
foreach (var script in Scripts)
{
script.LoadCount = 0;
+ script.LoadCharCount = 0;
String code = script.Code;
String codeFile = Path.Combine(tempFolder, script.Name);
@@ -82,6 +83,7 @@ namespace Tango.Scripting.Basic
{
loadingString = $"#load \"{file}\"\n";
script.LoadCount++;
+ script.LoadCharCount += loadingString.Length;
}
code = loadingString + code;
@@ -132,6 +134,7 @@ namespace Tango.Scripting.Basic
Script errorScript = Scripts.Single(x => x.Name == cError.File);
cError.Message = error.GetMessage();
cError.Severity = error.Severity;
+ cError.Position = error.Location.SourceSpan.Start - (errorScript != null ? errorScript.LoadCharCount : 0);
var line = error.Location.GetMappedLineSpan();
cError.Line = line.StartLinePosition.Line + 1 - (errorScript != null ? errorScript.LoadCount : 0);
cError.Column = line.StartLinePosition.Character + 1;
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Script.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Script.cs
index 753026149..69bc15468 100644
--- a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Script.cs
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Script.cs
@@ -13,9 +13,32 @@ namespace Tango.Scripting.Basic
public class Script : ExtendedObject, IScriptSource
{
public String Name { get; set; }
- public String Code { get; set; }
public bool IsEntryPoint { get; set; }
+ private String _code;
+ public String Code
+ {
+ get { return _code; }
+ set
+ {
+ if (_code != null && _code != value)
+ {
+ IsChanged = true;
+ }
+
+ _code = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+
+ private bool _isChanged;
+ [JsonIgnore]
+ public bool IsChanged
+ {
+ get { return _isChanged; }
+ set { _isChanged = value; RaisePropertyChangedAuto(); }
+ }
+
private bool _isSelected;
[JsonIgnore]
public bool IsSelected
@@ -26,6 +49,8 @@ namespace Tango.Scripting.Basic
[JsonIgnore]
public int LoadCount { get; internal set; }
+ [JsonIgnore]
+ public int LoadCharCount { get; set; }
public static Script New(String file)
{
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs
index 42103a1b1..d7d72ec0b 100644
--- a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs
@@ -2121,6 +2121,11 @@ namespace Tango.Scripting.Editors
}
}
+ public void Highlight(int position, int length)
+ {
+ Select(position, Math.Max(length, 1));
+ }
+
#endregion
}
}