diff options
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.Basic')
3 files changed, 30 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) { |
