From d33c19b3ac6803de4b5c8d475832efef131c1a45 Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Wed, 30 Dec 2020 15:11:34 +0000 Subject: Revert "Hope it is fine" --- .../Tango.Scripting.Basic/CompilationError.cs | 20 ++ .../Tango.Scripting.Basic/CompilationResult.cs | 21 ++ .../Tango.Scripting.Basic/GlobalObject.cs | 13 ++ .../Scripting/Tango.Scripting.Basic/IContext.cs | 13 ++ .../Scripting/Tango.Scripting.Basic/Project.cs | 259 +++++++++++++++++++++ .../Tango.Scripting.Basic/ProjectSession.cs | 65 ++++++ .../Tango.Scripting.Basic/ProjectSessionState.cs | 16 ++ .../ProjectSessionStateChangedEventArgs.cs | 17 ++ .../Properties/AssemblyInfo.cs | 55 +++++ .../Properties/Resources.Designer.cs | 73 ++++++ .../Properties/Resources.resx | 124 ++++++++++ .../Properties/Settings.Designer.cs | 30 +++ .../Properties/Settings.settings | 7 + .../Tango.Scripting.Basic/ReferenceAssembly.cs | 88 +++++++ .../Tango.Scripting.Basic/Resources/template.csx | 16 ++ .../Scripting/Tango.Scripting.Basic/Script.cs | 80 +++++++ .../Tango.Scripting.Basic.csproj | 185 +++++++++++++++ .../Tango.Scripting.Basic/Themes/Generic.xaml | 6 + .../Scripting/Tango.Scripting.Basic/app.config | 47 ++++ .../Tango.Scripting.Basic/packages.config | 52 +++++ 20 files changed, 1187 insertions(+) create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationError.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationResult.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/GlobalObject.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/IContext.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Project.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSession.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSessionState.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSessionStateChangedEventArgs.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Properties/AssemblyInfo.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Properties/Resources.Designer.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Properties/Resources.resx create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Properties/Settings.Designer.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Properties/Settings.settings create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ReferenceAssembly.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Resources/template.csx create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Script.cs create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Tango.Scripting.Basic.csproj create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Themes/Generic.xaml create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/app.config create mode 100644 Software/Visual_Studio/Scripting/Tango.Scripting.Basic/packages.config (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.Basic') diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationError.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationError.cs new file mode 100644 index 000000000..eda72fa6e --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationError.cs @@ -0,0 +1,20 @@ +using Microsoft.CodeAnalysis; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.Scripting.Basic +{ + public class CompilationError + { + 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/CompilationResult.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationResult.cs new file mode 100644 index 000000000..d3676acc0 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/CompilationResult.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core.IO; + +namespace Tango.Scripting.Basic +{ + public class CompilationResult + { + public List Errors { get; set; } + public TemporaryFolder TemporaryProjectPath { get; set; } + public Microsoft.CodeAnalysis.Scripting.Script Script { get; set; } + + public CompilationResult() + { + Errors = new List(); + } + } +} diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/GlobalObject.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/GlobalObject.cs new file mode 100644 index 000000000..c76fba8e2 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/GlobalObject.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.Scripting.Basic +{ + public class GlobalObject where T : IContext + { + public T GlobalContext { get; set; } + } +} diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/IContext.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/IContext.cs new file mode 100644 index 000000000..d817c5d46 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/IContext.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.Scripting.Basic +{ + public interface IContext + { + + } +} diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Project.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Project.cs new file mode 100644 index 000000000..7500e404f --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/Project.cs @@ -0,0 +1,259 @@ +using Microsoft.CodeAnalysis.CSharp.Scripting; +using Microsoft.CodeAnalysis.Scripting; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using Tango.Core; +using Tango.Core.IO; +using Tango.Scripting.Core; +using System.IO; +using Tango.Core.Helpers; + +namespace Tango.Scripting.Basic +{ + public class Project : ExtendedObject where T : IContext + { + private object _compileLock = new object(); + + public String ID { get; set; } + + private String _name; + public String Name + { + get { return _name; } + set { _name = value; RaisePropertyChangedAuto(); } + } + + private String _description; + public String Description + { + get { return _description; } + set { _description = value; RaisePropertyChangedAuto(); } + } + + private bool _isRunning; + [JsonIgnore] + public bool IsRunning + { + get { return _isRunning; } + set { _isRunning = value; RaisePropertyChangedAuto(); } + } + + private bool _isCompiling; + [JsonIgnore] + public bool IsCompiling + { + get { return _isCompiling; } + set { _isCompiling = value; RaisePropertyChangedAuto(); } + } + + public ApartmentState ApartmentState { get; set; } + + public ObservableCollection ReferenceAssemblies { get; set; } + + public ObservableCollection