aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-08-09 02:26:07 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-08-09 02:26:07 +0300
commit92db2f2431bb58a84dc4d476b889fee1de0143e9 (patch)
tree26e8880e86091b08064a3b20b2862d83ed726ab6 /Software/Visual_Studio/Scripting/Tango.Scripting.Editors
parent255a47cf96e83e8d11befa9180dc4458f6767188 (diff)
downloadTango-92db2f2431bb58a84dc4d476b889fee1de0143e9.tar.gz
Tango-92db2f2431bb58a84dc4d476b889fee1de0143e9.zip
Procedure runtime debugging and exceptions.
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.Editors')
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/BreakPointSymbolPressedEventArgs.cs16
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Editing/BreakPointMargin.cs285
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Images/break_point_arrow.pngbin0 -> 453 bytes
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Intellisense/HideIntellisenseAttribute.cs12
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Intellisense/KnownType.cs11
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs229
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Tango.Scripting.Editors.csproj6
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Tango.Scripting.Editors_di35u2uj_wpftmp.csproj628
8 files changed, 1182 insertions, 5 deletions
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/BreakPointSymbolPressedEventArgs.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/BreakPointSymbolPressedEventArgs.cs
new file mode 100644
index 000000000..1728bb565
--- /dev/null
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/BreakPointSymbolPressedEventArgs.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using Tango.Scripting.Core;
+
+namespace Tango.Scripting.Editors
+{
+ public class BreakPointSymbolPressedEventArgs : EventArgs
+ {
+ public ScriptBreakPointSymbol BreakPointSymbol { get; set; }
+ public Point Position { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Editing/BreakPointMargin.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Editing/BreakPointMargin.cs
new file mode 100644
index 000000000..e566e6aa9
--- /dev/null
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Editing/BreakPointMargin.cs
@@ -0,0 +1,285 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+using System.Diagnostics;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.TextFormatting;
+using Tango.Scripting.Core;
+using Tango.Scripting.Editors.Document;
+using Tango.Scripting.Editors.Rendering;
+using Tango.Scripting.Editors.Utils;
+
+namespace Tango.Scripting.Editors.Editing
+{
+ public class BreakPointMargin : AbstractMargin, IWeakEventListener
+ {
+ private TextArea textArea;
+ private int maxLineNumberLength = 1;
+ private BitmapSource _arrowBitmap;
+ private ScriptEditor _editor;
+
+ public ObservableCollection<BreakPoint> BreakPoints { get; set; }
+
+ public Brush Background
+ {
+ get { return (Brush)GetValue(BackgroundProperty); }
+ set { SetValue(BackgroundProperty, value); }
+ }
+ public static readonly DependencyProperty BackgroundProperty =
+ DependencyProperty.Register("Background", typeof(Brush), typeof(BreakPointMargin), new PropertyMetadata(new SolidColorBrush(Color.FromRgb(50, 50, 50))));
+
+ public Brush Foreground
+ {
+ get { return (Brush)GetValue(ForegroundProperty); }
+ set { SetValue(ForegroundProperty, value); }
+ }
+ public static readonly DependencyProperty ForegroundProperty =
+ DependencyProperty.Register("Foreground", typeof(Brush), typeof(BreakPointMargin), new PropertyMetadata(Brushes.Red));
+
+ static BreakPointMargin()
+ {
+ DefaultStyleKeyProperty.OverrideMetadata(typeof(BreakPointMargin),
+ new FrameworkPropertyMetadata(typeof(BreakPointMargin)));
+ }
+
+ public BreakPointMargin(ScriptEditor editor)
+ {
+ _editor = editor;
+ BreakPoints = new ObservableCollection<BreakPoint>();
+ BreakPoints.CollectionChanged += BreakPoints_CollectionChanged;
+ RenderOptions.SetEdgeMode(this, EdgeMode.Unspecified);
+
+ _arrowBitmap = new BitmapImage(new Uri($"pack://application:,,,/Tango.Scripting.Editors;component/Images/break_point_arrow.png", UriKind.Absolute));
+ }
+
+ private void BreakPoints_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
+ {
+ InvalidateVisual();
+ }
+
+ protected override Size MeasureOverride(Size availableSize)
+ {
+ return new Size(20, 0);
+ }
+
+ protected override void OnRender(DrawingContext drawingContext)
+ {
+ TextView textView = this.TextView;
+ Size renderSize = this.RenderSize;
+ if (textView != null && textView.VisualLinesValid)
+ {
+ drawingContext.DrawRectangle(Background, new Pen(Background, 1), new Rect(0, 0, ActualWidth, ActualHeight));
+
+ var foreground = Foreground;
+ foreach (VisualLine line in textView.VisualLines)
+ {
+ int lineNumber = line.FirstDocumentLine.LineNumber;
+
+ BreakPoint b = BreakPoints.FirstOrDefault(x => x.LineNumber == lineNumber);
+
+ if (b != null)
+ {
+ double y = line.GetTextLineVisualYPosition(line.TextLines[0], VisualYPosition.TextTop);
+ drawingContext.DrawEllipse(Foreground, new Pen(Brushes.Gainsboro, 1), new Point(10, y - textView.VerticalOffset + 8), 6, 6);
+
+ if (b.IsActive)
+ {
+ drawingContext.DrawImage(_arrowBitmap, new Rect(6, y - textView.VerticalOffset + 2.5, 8.5, 10));
+ }
+ }
+ }
+ }
+ }
+
+ protected override void OnTextViewChanged(TextView oldTextView, TextView newTextView)
+ {
+ if (oldTextView != null)
+ {
+ oldTextView.VisualLinesChanged -= TextViewVisualLinesChanged;
+ }
+ base.OnTextViewChanged(oldTextView, newTextView);
+ if (newTextView != null)
+ {
+ newTextView.VisualLinesChanged += TextViewVisualLinesChanged;
+
+ // find the text area belonging to the new text view
+ textArea = newTextView.Services.GetService(typeof(TextArea)) as TextArea;
+ }
+ else
+ {
+ textArea = null;
+ }
+ InvalidateVisual();
+ }
+
+ protected override void OnDocumentChanged(TextDocument oldDocument, TextDocument newDocument)
+ {
+ if (oldDocument != null)
+ {
+ PropertyChangedEventManager.RemoveListener(oldDocument, this, "LineCount");
+ }
+ base.OnDocumentChanged(oldDocument, newDocument);
+ if (newDocument != null)
+ {
+ PropertyChangedEventManager.AddListener(newDocument, this, "LineCount");
+ }
+ OnDocumentLineCountChanged();
+ }
+
+ protected virtual bool ReceiveWeakEvent(Type managerType, object sender, EventArgs e)
+ {
+ if (managerType == typeof(PropertyChangedEventManager))
+ {
+ OnDocumentLineCountChanged();
+ return true;
+ }
+ return false;
+ }
+
+ bool IWeakEventListener.ReceiveWeakEvent(Type managerType, object sender, EventArgs e)
+ {
+ return ReceiveWeakEvent(managerType, sender, e);
+ }
+
+ private void OnDocumentLineCountChanged()
+ {
+ int documentLineCount = Document != null ? Document.LineCount : 1;
+ int newLength = documentLineCount.ToString(CultureInfo.CurrentCulture).Length;
+
+ foreach (var breakPoint in BreakPoints.ToList())
+ {
+ if (breakPoint.LineNumber > documentLineCount)
+ {
+ BreakPoints.Remove(breakPoint);
+ }
+ else
+ {
+ try
+ {
+ var line = Document.GetLineByNumber(breakPoint.LineNumber);
+ if (line != null)
+ {
+ String lineText = Document.GetText(line.Offset, line.Length);
+ if (!IsBreakPointValid(lineText))
+ {
+ BreakPoints.Remove(breakPoint);
+ }
+ }
+ }
+ catch { }
+ }
+ }
+
+ // The margin looks too small when there is only one digit, so always reserve space for
+ // at least two digits
+ if (newLength < 2)
+ newLength = 2;
+
+ if (newLength != maxLineNumberLength)
+ {
+ maxLineNumberLength = newLength;
+ InvalidateMeasure();
+ }
+ }
+
+ private void TextViewVisualLinesChanged(object sender, EventArgs e)
+ {
+ InvalidateVisual();
+ }
+
+ protected override HitTestResult HitTestCore(PointHitTestParameters hitTestParameters)
+ {
+ // accept clicks even when clicking on the background
+ return new PointHitTestResult(this, hitTestParameters.HitPoint);
+ }
+
+ private VisualLine GetLineNumberByMousePosition(MouseEventArgs e)
+ {
+ Point pos = e.GetPosition(TextView);
+ pos.X = 0;
+ pos.Y += TextView.VerticalOffset;
+ VisualLine vl = TextView.GetVisualLineFromVisualTop(pos.Y);
+ return vl;
+ }
+
+ private bool IsBreakPointValid(String lineText)
+ {
+ if (lineText.EndsWith(";") && !lineText.StartsWith("using"))
+ {
+ return true;
+ }
+
+ return false;
+ }
+
+ protected override void OnPreviewMouseMove(MouseEventArgs e)
+ {
+ base.OnPreviewMouseMove(e);
+
+ if (_editor.DisableBreakPoints)
+ {
+ Cursor = Cursors.No;
+ }
+ else
+ {
+ Cursor = Cursors.Arrow;
+ }
+ }
+
+ protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
+ {
+ base.OnMouseLeftButtonDown(e);
+
+ if (_editor.DisableBreakPoints)
+ {
+ return;
+ }
+
+ try
+ {
+ if (!e.Handled && TextView != null && textArea != null)
+ {
+ e.Handled = true;
+ textArea.Focus();
+
+ var visualLine = GetLineNumberByMousePosition(e);
+
+ int? lineNumber = visualLine != null ? (int?)visualLine.FirstDocumentLine.LineNumber : null;
+
+ if (lineNumber != null)
+ {
+ var breakPoint = BreakPoints.FirstOrDefault(x => x.LineNumber == lineNumber.Value);
+ if (breakPoint != null)
+ {
+ BreakPoints.Remove(breakPoint);
+ }
+ else
+ {
+ var lineText = Document.GetText(visualLine.FirstDocumentLine.Offset, visualLine.FirstDocumentLine.Length).Trim();
+
+ if (IsBreakPointValid(lineText))
+ {
+ BreakPoint newBreakPoint = new BreakPoint();
+ newBreakPoint.LineNumber = lineNumber.Value;
+ BreakPoints.Add(newBreakPoint);
+ }
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex);
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Images/break_point_arrow.png b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Images/break_point_arrow.png
new file mode 100644
index 000000000..e8d367028
--- /dev/null
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Images/break_point_arrow.png
Binary files differ
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Intellisense/HideIntellisenseAttribute.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Intellisense/HideIntellisenseAttribute.cs
new file mode 100644
index 000000000..548bd909e
--- /dev/null
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Intellisense/HideIntellisenseAttribute.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.Scripting.Editors.Intellisense
+{
+ public class HideIntellisenseAttribute : Attribute
+ {
+ }
+}
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Intellisense/KnownType.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Intellisense/KnownType.cs
index 3dc796152..c2e7ac422 100644
--- a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Intellisense/KnownType.cs
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Intellisense/KnownType.cs
@@ -137,6 +137,8 @@ namespace Tango.Scripting.Editors.Intellisense
{
var method = methods[i];
+ if (method.GetCustomAttribute<HideIntellisenseAttribute>() != null) continue;
+
KnownTypeMethod m = new KnownTypeMethod(this);
m.Name = method.Name;
m.ReturnType = method.ReturnType;
@@ -183,17 +185,14 @@ namespace Tango.Scripting.Editors.Intellisense
//Load Properties
{
- if (Type == typeof(Color))
- {
-
- }
-
var properties = Type.GetProperties(BindingFlags.FlattenHierarchy | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static).ToList();
for (int i = 0; i < properties.Count; i++)
{
var property = properties[i];
+ if (property.GetCustomAttribute<HideIntellisenseAttribute>() != null) continue;
+
KnownTypeProperty p = new KnownTypeProperty(this);
p.Name = property.Name;
p.ReturnType = property.PropertyType;
@@ -211,6 +210,8 @@ namespace Tango.Scripting.Editors.Intellisense
{
var ev = events[i];
+ if (ev.GetCustomAttribute<HideIntellisenseAttribute>() != null) continue;
+
KnownTypeEvent p = new KnownTypeEvent(this);
p.Name = ev.Name;
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs
index c650ad425..b355ba818 100644
--- a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs
@@ -47,7 +47,10 @@ namespace Tango.Scripting.Editors
private char[] word_separators = { ' ', '\t', '\n', '.', '(', ',', '-', '*', '/', '+', '$', '=', '<', '>' };
private string[] _blocking_type_words = { "class", "void" };
+ public event EventHandler<BreakPointSymbolPressedEventArgs> BreakPointSymbolPressed;
+
private DispatcherTimer _update_timer;
+ private BreakPointMargin breakPointMargin;
private Popup _popup;
private FoldingManager foldingManager;
private BraceFoldingStrategy foldingStrategy;
@@ -58,6 +61,11 @@ namespace Tango.Scripting.Editors
private List<ScriptType> _declaredTypes;
private bool _isLoadingTypes;
private TextMarkerService errorMarkerService;
+ private List<ScriptBreakPointSymbol> _breakPointSymbols;
+ private int _breakPointLineNumber;
+ private ScriptBreakPointSymbol _currentBreakPointSymbol;
+ private Point _currentBreakPointSymbolPosition;
+
private static JsonSerializerSettings _jsonSettings;
private static Dictionary<Type, KnownType> _knownTypesCache;
private static String KNOWN_TYPES_CACHE_FOLDER;
@@ -199,6 +207,39 @@ namespace Tango.Scripting.Editors
public static readonly DependencyProperty ErrorLineBrushProperty =
DependencyProperty.Register("ErrorLineBrush", typeof(Brush), typeof(ScriptEditor), new PropertyMetadata(new SolidColorBrush(Colors.Red) { Opacity = 0.5 }));
+ public Brush DebugLineBrush
+ {
+ get { return (Brush)GetValue(DebugLineBrushProperty); }
+ set { SetValue(DebugLineBrushProperty, value); }
+ }
+ public static readonly DependencyProperty DebugLineBrushProperty =
+ DependencyProperty.Register("DebugLineBrush", typeof(Brush), typeof(ScriptEditor), new PropertyMetadata(new SolidColorBrush(Colors.Gray) { Opacity = 0.5 }));
+
+ public Brush BreakPointLineBrush
+ {
+ get { return (Brush)GetValue(BreakPointLineBrushProperty); }
+ set { SetValue(BreakPointLineBrushProperty, value); }
+ }
+ public static readonly DependencyProperty BreakPointLineBrushProperty =
+ DependencyProperty.Register("BreakPointLineBrush", typeof(Brush), typeof(ScriptEditor), new PropertyMetadata(new SolidColorBrush(Colors.Yellow) { Opacity = 0.5 }));
+
+ public IScriptSource ScriptSource
+ {
+ get { return (IScriptSource)GetValue(ScriptSourceProperty); }
+ set { SetValue(ScriptSourceProperty, value); }
+ }
+ public static readonly DependencyProperty ScriptSourceProperty =
+ DependencyProperty.Register("ScriptSource", typeof(IScriptSource), typeof(ScriptEditor), new PropertyMetadata(null));
+
+ public bool DisableBreakPoints
+ {
+ get { return (bool)GetValue(DisableBreakPointsProperty); }
+ set { SetValue(DisableBreakPointsProperty, value); }
+ }
+ public static readonly DependencyProperty DisableBreakPointsProperty =
+ DependencyProperty.Register("DisableBreakPoints", typeof(bool), typeof(ScriptEditor), new PropertyMetadata(false));
+
+
#endregion
#region Constructors
@@ -337,6 +378,17 @@ namespace Tango.Scripting.Editors
TextArea.TextView.LineTransformers.Add(errorMarkerService);
Unloaded += ScriptEditor_Unloaded;
+
+ breakPointMargin = new BreakPointMargin(this);
+ _breakPointSymbols = new List<ScriptBreakPointSymbol>();
+ Loaded += ScriptEditor_Loaded;
+
+ MouseMove += ScriptEditor_MouseMove;
+ }
+
+ private void ScriptEditor_Loaded(object sender, RoutedEventArgs e)
+ {
+ TextArea.LeftMargins.Insert(0, breakPointMargin);
}
private void ScriptEditor_Unloaded(object sender, RoutedEventArgs e)
@@ -500,6 +552,8 @@ namespace Tango.Scripting.Editors
private void TextArea_TextEntered(object sender, TextCompositionEventArgs e)
{
+ if (IsReadOnly) return;
+
try
{
List<Object> items = new List<object>();
@@ -2505,6 +2559,47 @@ namespace Tango.Scripting.Editors
Document.EndUpdate();
}
+ public void HighlightDebugLine(int lineNumber)
+ {
+ Document.BeginUpdate();
+
+ var line = Document.GetLineByNumber(lineNumber);
+ OffsetColorizer errorLineColrizer = new OffsetColorizer(line, line.Offset, line.EndOffset, DebugLineBrush);
+ TextArea.TextView.LineTransformers.Add(errorLineColrizer);
+
+ Document.EndUpdate();
+ }
+
+ public void HighlightBreakPoint(int lineNumber, List<ScriptBreakPointSymbol> symbols)
+ {
+ _breakPointLineNumber = lineNumber;
+ _breakPointSymbols = symbols.ToList();
+ _currentBreakPointSymbol = null;
+
+ Document.BeginUpdate();
+
+ var line = Document.GetLineByNumber(lineNumber);
+ OffsetColorizer errorLineColrizer = new OffsetColorizer(line, line.Offset, line.EndOffset, BreakPointLineBrush);
+ TextArea.TextView.LineTransformers.Add(errorLineColrizer);
+
+ var breakPoint = breakPointMargin.BreakPoints.FirstOrDefault(x => x.LineNumber == lineNumber);
+ breakPoint.IsActive = true;
+ breakPointMargin.InvalidateVisual();
+
+ Document.EndUpdate();
+ }
+
+ public void ResetBreakPointLine()
+ {
+ _breakPointSymbols = new List<ScriptBreakPointSymbol>();
+ _currentBreakPointSymbol = null;
+ ResetColorizationByKeyword();
+ breakPointMargin.BreakPoints.ToList().ForEach(x => x.IsActive = false);
+ Mouse.OverrideCursor = null;
+ ClearErrors();
+ breakPointMargin.InvalidateVisual();
+ }
+
public Point? GetLineVisualPosition(int lineNumber)
{
double top = TextArea.TextView.GetVisualTopByDocumentLine(lineNumber);
@@ -2521,6 +2616,140 @@ namespace Tango.Scripting.Editors
return null;
}
+ public List<ScriptBreakPoint> GetBreakPoints()
+ {
+ List<ScriptBreakPoint> breakPoints = new List<ScriptBreakPoint>();
+
+ foreach (var b in breakPointMargin.BreakPoints)
+ {
+ ScriptBreakPoint breakPoint = new ScriptBreakPoint();
+ breakPoint.Script = ScriptSource;
+ breakPoint.LineNumber = b.LineNumber;
+
+ var line = Document.GetLineByNumber(b.LineNumber);
+ breakPoint.LineStartOffset = line.Offset;
+ breakPoint.LineEndOffset = line.EndOffset;
+
+ var symbols = _parser.GetContextSymbols(Document.Text, line.Offset);
+
+ foreach (var symbol in symbols.Where(x => (x.Kind == SymbolKind.Property || x.Kind == SymbolKind.Field || x.Kind == SymbolKind.Local || x.Kind == SymbolKind.Parameter) && !x.IsUnassigned))
+ {
+ if (symbol.Offset < line.Offset)
+ {
+ breakPoint.ContextSymbols.Add(new ScriptBreakPointSymbol()
+ {
+ Name = symbol.Name,
+ Offset = symbol.Offset,
+ Length = symbol.Length,
+ });
+ }
+ }
+
+ breakPoints.Add(breakPoint);
+ }
+
+ return breakPoints;
+ }
+
+ #endregion
+
+ #region BreakPoint Symbols Search
+
+ private void ScriptEditor_MouseMove(object sender, MouseEventArgs e)
+ {
+ if (IsReadOnly && _breakPointSymbols.Count > 0)
+ {
+ try
+ {
+ var word_separators_plus = word_separators.ToList();
+ word_separators_plus.Add(')');
+ word_separators_plus.Add(';');
+
+ var textView = TextArea.TextView;
+ Point position = e.GetPosition(textView);
+ position.Y += textView.VerticalOffset;
+ VisualLine visualLine = textView.GetVisualLineFromVisualTop(position.Y);
+ int columnIndex = visualLine.GetVisualColumnFloor(position, false);
+ String line = Document.GetText(visualLine.FirstDocumentLine.Offset, visualLine.FirstDocumentLine.Length);
+ if (columnIndex < line.Length)
+ {
+ int wordStartIndex = columnIndex;
+ int wordEndIndex = columnIndex;
+
+ while (wordStartIndex > 0)
+ {
+ if (word_separators_plus.Contains(line[wordStartIndex])) break;
+ wordStartIndex--;
+ }
+
+ while (wordEndIndex < line.Length)
+ {
+ if (word_separators_plus.Contains(line[wordEndIndex])) break;
+ wordEndIndex++;
+ }
+
+ if (wordStartIndex > 0)
+ {
+ wordStartIndex++;
+ }
+
+ String word = line.Substring(wordStartIndex, wordEndIndex - wordStartIndex);
+
+ var breakPointSymbol = _breakPointSymbols.FirstOrDefault(x => x.Name == word);
+
+ if (breakPointSymbol != null)
+ {
+ int wordStartOffset = visualLine.FirstDocumentLine.Offset + wordStartIndex;
+
+ ClearErrors();
+ ITextMarker marker = errorMarkerService.Create(wordStartOffset, word.Length);
+ marker.MarkerTypes = TextMarkerTypes.NormalUnderline;
+ marker.MarkerColor = Colors.Yellow;
+ Mouse.OverrideCursor = Cursors.Hand;
+
+ _currentBreakPointSymbol = breakPointSymbol;
+ _currentBreakPointSymbolPosition = visualLine.GetVisualPosition(wordEndIndex, VisualYPosition.LineTop);
+ }
+ else
+ {
+ _currentBreakPointSymbol = null;
+ Mouse.OverrideCursor = null;
+ ClearErrors();
+ }
+ }
+ else
+ {
+ _currentBreakPointSymbol = null;
+ Mouse.OverrideCursor = null;
+ ClearErrors();
+ }
+ }
+ catch (Exception ex)
+ {
+ _currentBreakPointSymbol = null;
+ Mouse.OverrideCursor = null;
+ ClearErrors();
+ Debug.WriteLine(ex.Message);
+ }
+ }
+ }
+
+ protected override void OnPreviewMouseLeftButtonUp(MouseButtonEventArgs e)
+ {
+ base.OnPreviewMouseLeftButtonUp(e);
+
+ if (_currentBreakPointSymbol != null)
+ {
+ Mouse.OverrideCursor = null;
+ Debug.WriteLine($"Pressed on break point symbol: {_currentBreakPointSymbol.Name}");
+ BreakPointSymbolPressed?.Invoke(this, new BreakPointSymbolPressedEventArgs()
+ {
+ BreakPointSymbol = _currentBreakPointSymbol,
+ Position = _currentBreakPointSymbolPosition
+ });
+ }
+ }
+
#endregion
}
}
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Tango.Scripting.Editors.csproj b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Tango.Scripting.Editors.csproj
index a70bbf3de..11e023f86 100644
--- a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Tango.Scripting.Editors.csproj
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Tango.Scripting.Editors.csproj
@@ -180,6 +180,7 @@
<Link>GlobalVersionInfo.cs</Link>
</Compile>
<Compile Include="AvalonEditCommands.cs" />
+ <Compile Include="BreakPointSymbolPressedEventArgs.cs" />
<Compile Include="CachedAssembly.cs" />
<Compile Include="CachedUsing.cs" />
<Compile Include="CodeCompletion\CompletionListBox.cs" />
@@ -196,6 +197,7 @@
<Compile Include="CodeCompletion\OverloadViewer.cs" />
<Compile Include="Converters\BooleanToVisibilityConverter.cs" />
<Compile Include="Converters\BooleanToVisibilityInversedConverter.cs" />
+ <Compile Include="Editing\BreakPointMargin.cs" />
<Compile Include="Errors\ITextMarker.cs" />
<Compile Include="Errors\TextMarkerService.cs" />
<Compile Include="ExtensionMethods.cs" />
@@ -207,6 +209,7 @@
<Compile Include="Intellisense\EventCompletionItem.cs" />
<Compile Include="Intellisense\FieldCompletionItem.cs" />
<Compile Include="Intellisense\FieldCompletionItemPopup.cs" />
+ <Compile Include="Intellisense\HideIntellisenseAttribute.cs" />
<Compile Include="Intellisense\ICompletionItem.cs" />
<Compile Include="Intellisense\ICompletionProvider.cs" />
<Compile Include="Intellisense\InterfaceCompletionItem.cs" />
@@ -651,6 +654,9 @@
<ItemGroup>
<Resource Include="Images\snippet.png" />
</ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\break_point_arrow.png" />
+ </ItemGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UseGlobalSettings="True" />
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Tango.Scripting.Editors_di35u2uj_wpftmp.csproj b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Tango.Scripting.Editors_di35u2uj_wpftmp.csproj
new file mode 100644
index 000000000..70a4840c4
--- /dev/null
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Tango.Scripting.Editors_di35u2uj_wpftmp.csproj
@@ -0,0 +1,628 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}</ProjectGuid>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <OutputType>Library</OutputType>
+ <RootNamespace>Tango.Scripting.Editors</RootNamespace>
+ <AssemblyName>Tango.Scripting.Editors</AssemblyName>
+ <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <SourceAnalysisOverrideSettingsFile>"C:\Program Files\SharpDevelop\3.0\bin\..\AddIns\AddIns\Misc\SourceAnalysis\Settings.SourceAnalysis"</SourceAnalysisOverrideSettingsFile>
+ <AllowUnsafeBlocks>False</AllowUnsafeBlocks>
+ <NoStdLib>False</NoStdLib>
+ <WarningLevel>4</WarningLevel>
+ <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
+ <SignAssembly>false</SignAssembly>
+ <AssemblyOriginatorKeyFile>ICSharpCode.AvalonEdit.snk</AssemblyOriginatorKeyFile>
+ <DelaySign>False</DelaySign>
+ <AssemblyOriginatorKeyMode>File</AssemblyOriginatorKeyMode>
+ <RunCodeAnalysis>False</RunCodeAnalysis>
+ <CodeAnalysisRules>-Microsoft.Design#CA1020;-Microsoft.Design#CA1033;-Microsoft.Performance#CA1805;-Microsoft.Performance#CA1810</CodeAnalysisRules>
+ <OutputPath>..\bin\$(Configuration)</OutputPath>
+ <DocumentationFile>..\bin\$(Configuration)\ICSharpCode.AvalonEdit.xml</DocumentationFile>
+ <NoWarn>1607</NoWarn>
+ <TargetFrameworkProfile>
+ </TargetFrameworkProfile>
+ <SccProjectName>SAK</SccProjectName>
+ <SccLocalPath>SAK</SccLocalPath>
+ <SccAuxPath>SAK</SccAuxPath>
+ <SccProvider>SAK</SccProvider>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
+ <DefineConstants>DEBUG;TRACE;DOTNET4</DefineConstants>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+ <DebugSymbols>false</DebugSymbols>
+ <DebugType>PdbOnly</DebugType>
+ <Optimize>True</Optimize>
+ <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
+ <DefineConstants>TRACE;DOTNET4</DefineConstants>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
+ <RegisterForComInterop>False</RegisterForComInterop>
+ <GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
+ <BaseAddress>4194304</BaseAddress>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <FileAlignment>4096</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
+ <OutputPath>..\..\Build\Scripting\Debug\</OutputPath>
+ <DocumentationFile>
+ </DocumentationFile>
+ <Prefer32Bit>false</Prefer32Bit>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ <OutputPath>..\..\Build\Scripting\Release\</OutputPath>
+ <DocumentationFile />
+ </PropertyGroup>
+ <PropertyGroup>
+ <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ </PropertyGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="..\..\Versioning\GlobalVersionInfo.cs">
+ <Link>GlobalVersionInfo.cs</Link>
+ </Compile>
+ <Compile Include="AvalonEditCommands.cs" />
+ <Compile Include="CachedAssembly.cs" />
+ <Compile Include="CachedUsing.cs" />
+ <Compile Include="CodeCompletion\CompletionListBox.cs" />
+ <Compile Include="CodeCompletion\CompletionListBoxItem.cs" />
+ <Compile Include="CodeCompletion\CompletionWindowBase.cs" />
+ <Compile Include="CodeCompletion\CompletionList.cs" />
+ <Compile Include="CodeCompletion\CompletionWindow.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="CodeCompletion\ICompletionData.cs" />
+ <Compile Include="CodeCompletion\InsightWindow.cs" />
+ <Compile Include="CodeCompletion\IOverloadProvider.cs" />
+ <Compile Include="CodeCompletion\OverloadInsightWindow.cs" />
+ <Compile Include="CodeCompletion\OverloadViewer.cs" />
+ <Compile Include="Converters\BooleanToVisibilityConverter.cs" />
+ <Compile Include="Converters\BooleanToVisibilityInversedConverter.cs" />
+ <Compile Include="Editing\BreakPoint.cs" />
+ <Compile Include="Editing\BreakPointMargin.cs" />
+ <Compile Include="Errors\ITextMarker.cs" />
+ <Compile Include="Errors\TextMarkerService.cs" />
+ <Compile Include="ExtensionMethods.cs" />
+ <Compile Include="Intellisense\ClassCompletionItemPopup.cs" />
+ <Compile Include="Intellisense\CompletionItem.cs" />
+ <Compile Include="Intellisense\CompletionItemPopupControl.cs" />
+ <Compile Include="Intellisense\EnumCompletionItem.cs" />
+ <Compile Include="Intellisense\EnumCompletionItemPopup.cs" />
+ <Compile Include="Intellisense\EventCompletionItem.cs" />
+ <Compile Include="Intellisense\FieldCompletionItem.cs" />
+ <Compile Include="Intellisense\FieldCompletionItemPopup.cs" />
+ <Compile Include="Intellisense\ICompletionItem.cs" />
+ <Compile Include="Intellisense\ICompletionProvider.cs" />
+ <Compile Include="Intellisense\InterfaceCompletionItem.cs" />
+ <Compile Include="Intellisense\InterfaceCompletionItemPopup.cs" />
+ <Compile Include="Intellisense\KnownType.cs" />
+ <Compile Include="Document\ChangeTrackingCheckpoint.cs" />
+ <Compile Include="Document\DocumentChangeOperation.cs">
+ <DependentUpon>UndoStack.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Document\ILineTracker.cs" />
+ <Compile Include="Document\ISegment.cs" />
+ <Compile Include="Document\ITextSource.cs" />
+ <Compile Include="Document\IUndoableOperation.cs">
+ <DependentUpon>UndoStack.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Document\LineNode.cs">
+ <DependentUpon>DocumentLine.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Document\NewLineFinder.cs" />
+ <Compile Include="Document\OffsetChangeMap.cs" />
+ <Compile Include="Document\TextDocumentWeakEventManager.cs">
+ <DependentUpon>TextDocument.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Document\TextSegmentCollection.cs" />
+ <Compile Include="Document\TextAnchor.cs" />
+ <Compile Include="Document\TextAnchorNode.cs">
+ <DependentUpon>TextAnchor.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Document\TextAnchorTree.cs">
+ <DependentUpon>TextAnchor.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Document\TextLocation.cs" />
+ <Compile Include="Document\TextSegment.cs" />
+ <Compile Include="Document\TextUtilities.cs" />
+ <Compile Include="Document\UndoOperationGroup.cs">
+ <DependentUpon>UndoStack.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Document\UndoStack.cs">
+ </Compile>
+ <Compile Include="Document\WeakLineTracker.cs">
+ <DependentUpon>ILineTracker.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Editing\AbstractMargin.cs" />
+ <Compile Include="Editing\Caret.cs" />
+ <Compile Include="Editing\CaretLayer.cs">
+ </Compile>
+ <Compile Include="Editing\CaretNavigationCommandHandler.cs">
+ </Compile>
+ <Compile Include="Editing\CaretWeakEventHandler.cs" />
+ <Compile Include="Editing\DottedLineMargin.cs" />
+ <Compile Include="Editing\DragDropException.cs" />
+ <Compile Include="Editing\EditingCommandHandler.cs" />
+ <Compile Include="Editing\EmptySelection.cs">
+ <DependentUpon>Selection.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Editing\ImeNativeWrapper.cs" />
+ <Compile Include="Editing\SelectionSegment.cs" />
+ <Compile Include="Editing\ImeSupport.cs" />
+ <Compile Include="Folding\AbstractFoldingStrategy.cs" />
+ <Compile Include="Folding\BraceFoldingStrategy.cs" />
+ <Compile Include="Folding\FoldingElementGenerator.cs" />
+ <Compile Include="Folding\FoldingManager.cs" />
+ <Compile Include="Folding\FoldingMargin.cs" />
+ <Compile Include="Folding\FoldingMarginMarker.cs" />
+ <Compile Include="Folding\FoldingSection.cs" />
+ <Compile Include="Editing\IReadOnlySectionProvider.cs" />
+ <Compile Include="Editing\LineNumberMargin.cs" />
+ <Compile Include="Editing\NoReadOnlySections.cs">
+ <DependentUpon>IReadOnlySectionProvider.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Editing\RectangleSelection.cs">
+ <DependentUpon>Selection.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Editing\Selection.cs" />
+ <Compile Include="Editing\SelectionColorizer.cs">
+ <DependentUpon>Selection.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Editing\SelectionLayer.cs">
+ <DependentUpon>Selection.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Editing\SelectionMouseHandler.cs">
+ <DependentUpon>Selection.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Editing\SimpleSelection.cs">
+ <DependentUpon>Selection.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Editing\TextArea.cs" />
+ <Compile Include="Editing\TextAreaDefaultInputHandlers.cs" />
+ <Compile Include="Editing\TextAreaInputHandler.cs" />
+ <Compile Include="Editing\TextSegmentReadOnlySectionProvider.cs">
+ <DependentUpon>IReadOnlySectionProvider.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Folding\NewFolding.cs" />
+ <Compile Include="Folding\XmlFoldingStrategy.cs" />
+ <Compile Include="Highlighting\DocumentHighlighter.cs" />
+ <Compile Include="Highlighting\HighlightedInlineBuilder.cs" />
+ <Compile Include="Highlighting\HighlightedLine.cs" />
+ <Compile Include="Highlighting\HighlightedSection.cs" />
+ <Compile Include="Highlighting\HighlightingBrush.cs" />
+ <Compile Include="Highlighting\HighlightingColor.cs" />
+ <Compile Include="Highlighting\HighlightingColorizer.cs" />
+ <Compile Include="Highlighting\HighlightingDefinitionInvalidException.cs" />
+ <Compile Include="Highlighting\HighlightingDefinitionTypeConverter.cs" />
+ <Compile Include="Highlighting\HighlightingManager.cs" />
+ <Compile Include="Highlighting\HtmlClipboard.cs" />
+ <Compile Include="Highlighting\IHighlighter.cs" />
+ <Compile Include="Highlighting\IHighlightingDefinition.cs" />
+ <Compile Include="Highlighting\HighlightingRule.cs" />
+ <Compile Include="Highlighting\OffsetColorizer.cs" />
+ <Compile Include="Highlighting\Resources\Resources.cs" />
+ <Compile Include="Highlighting\HighlightingRuleSet.cs" />
+ <Compile Include="Highlighting\HighlightingSpan.cs" />
+ <Compile Include="Highlighting\IHighlightingDefinitionReferenceResolver.cs">
+ </Compile>
+ <Compile Include="Highlighting\Xshd\HighlightingLoader.cs" />
+ <Compile Include="Highlighting\Xshd\IXshdVisitor.cs" />
+ <Compile Include="Highlighting\Xshd\SaveXshdVisitor.cs" />
+ <Compile Include="Highlighting\Xshd\V1Loader.cs" />
+ <Compile Include="Highlighting\Xshd\V2Loader.cs" />
+ <Compile Include="Highlighting\Xshd\XmlHighlightingDefinition.cs" />
+ <Compile Include="Highlighting\Xshd\XshdColor.cs" />
+ <Compile Include="Highlighting\Xshd\XshdImport.cs" />
+ <Compile Include="Highlighting\Xshd\XshdProperty.cs" />
+ <Compile Include="Highlighting\Xshd\XshdReference.cs" />
+ <Compile Include="Highlighting\Xshd\XshdElement.cs" />
+ <Compile Include="Highlighting\Xshd\XshdKeywords.cs" />
+ <Compile Include="Highlighting\Xshd\XshdRule.cs" />
+ <Compile Include="Highlighting\Xshd\XshdRuleSet.cs" />
+ <Compile Include="Highlighting\Xshd\XshdSpan.cs" />
+ <Compile Include="Highlighting\Xshd\XshdSyntaxDefinition.cs" />
+ <Compile Include="Indentation\CSharp\CSharpIndentationHelper.cs" />
+ <Compile Include="Indentation\CSharp\IndentationReformatter.cs" />
+ <Compile Include="Indentation\CSharp\CSharpIndentationStrategy.cs" />
+ <Compile Include="Indentation\CSharp\DocumentAccessor.cs" />
+ <Compile Include="Indentation\DefaultIndentationStrategy.cs" />
+ <Compile Include="Indentation\IIndentationStrategy.cs" />
+ <Compile Include="Intellisense\KnownTypeConstructor.cs" />
+ <Compile Include="Intellisense\KnownTypeEvent.cs" />
+ <Compile Include="Intellisense\KnownTypeField.cs" />
+ <Compile Include="Intellisense\KnownTypeMember.cs" />
+ <Compile Include="Intellisense\KnownTypeMethodParameter.cs" />
+ <Compile Include="Intellisense\KnownTypeMethod.cs" />
+ <Compile Include="Intellisense\KnownTypeProperty.cs" />
+ <Compile Include="Intellisense\ClassCompletionItem.cs" />
+ <Compile Include="Intellisense\MethodCompletionItem.cs" />
+ <Compile Include="Intellisense\MethodCompletionItemPopup.cs" />
+ <Compile Include="Intellisense\NamespaceCompletionItem.cs" />
+ <Compile Include="Intellisense\NamespaceCompletionItemPopup.cs" />
+ <Compile Include="Intellisense\PropertyCompletionItem.cs" />
+ <Compile Include="Intellisense\PropertyCompletionItemPopup.cs" />
+ <Compile Include="Intellisense\SnippetCompletionItem.cs" />
+ <Compile Include="Intellisense\StructCompletionItem.cs" />
+ <Compile Include="Intellisense\StructCompletionItemPopup.cs" />
+ <Compile Include="Intellisense\Utils.cs" />
+ <Compile Include="Popups\MethodDescription.cs" />
+ <Compile Include="Popups\MethodPopup.cs" />
+ <Compile Include="Popups\ParameterDescription.cs" />
+ <Compile Include="Rendering\BackgroundGeometryBuilder.cs">
+ <DependentUpon>IBackgroundRenderer.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\CollapsedLineSection.cs">
+ <DependentUpon>HeightTree.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\ColorizingTransformer.cs">
+ <DependentUpon>IVisualLineTransformer.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\ColumnRulerRenderer.cs" />
+ <Compile Include="Rendering\DefaultTextRunTypographyProperties.cs" />
+ <Compile Include="Rendering\DocumentColorizingTransformer.cs">
+ <DependentUpon>IVisualLineTransformer.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\FormattedTextElement.cs" />
+ <Compile Include="Rendering\GlobalTextRunProperties.cs">
+ <DependentUpon>TextView.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\HeightTree.cs" />
+ <Compile Include="Rendering\HeightTreeLineNode.cs">
+ <DependentUpon>HeightTree.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\HeightTreeNode.cs">
+ <DependentUpon>HeightTree.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\IBackgroundRenderer.cs" />
+ <Compile Include="Rendering\InlineObjectRun.cs" />
+ <Compile Include="Rendering\ITextRunConstructionContext.cs">
+ <DependentUpon>VisualLineElementGenerator.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\ITextViewConnect.cs">
+ <DependentUpon>TextView.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\IVisualLineTransformer.cs" />
+ <Compile Include="Rendering\Layer.cs">
+ <DependentUpon>TextView.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\LayerPosition.cs">
+ <DependentUpon>TextView.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\LinkElementGenerator.cs" />
+ <Compile Include="Rendering\MouseHoverLogic.cs" />
+ <Compile Include="Rendering\SimpleTextSource.cs">
+ <DependentUpon>FormattedTextElement.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\SingleCharacterElementGenerator.cs" />
+ <Compile Include="Rendering\TextLayer.cs">
+ <DependentUpon>TextView.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\TextView.cs" />
+ <Compile Include="Rendering\TextViewCachedElements.cs" />
+ <Compile Include="Rendering\TextViewWeakEventManager.cs">
+ <DependentUpon>TextView.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\VisualLine.cs" />
+ <Compile Include="Rendering\VisualLineConstructionStartEventArgs.cs" />
+ <Compile Include="Rendering\VisualLineElement.cs" />
+ <Compile Include="Rendering\VisualLineElementGenerator.cs" />
+ <Compile Include="Rendering\VisualLineElementTextRunProperties.cs">
+ <DependentUpon>VisualLine.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\VisualLineLinkText.cs" />
+ <Compile Include="Rendering\VisualLinesInvalidException.cs" />
+ <Compile Include="Rendering\VisualLineText.cs" />
+ <Compile Include="Rendering\VisualLineTextParagraphProperties.cs">
+ <DependentUpon>VisualLine.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\VisualLineTextSource.cs">
+ <DependentUpon>VisualLineElementGenerator.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Rendering\VisualYPosition.cs">
+ <DependentUpon>VisualLine.cs</DependentUpon>
+ </Compile>
+ <Compile Include="ScriptEditor.cs" />
+ <Compile Include="Search\Localization.cs" />
+ <Compile Include="Search\RegexSearchStrategy.cs" />
+ <Compile Include="Search\DropDownButton.cs" />
+ <Compile Include="Search\ISearchStrategy.cs" />
+ <Compile Include="Search\SearchCommands.cs" />
+ <Compile Include="Search\SearchResultBackgroundRenderer.cs" />
+ <Compile Include="Search\SearchPanel.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="Search\SearchStrategyFactory.cs" />
+ <Compile Include="Snippets\IActiveElement.cs" />
+ <Compile Include="Snippets\SnippetAnchorElement.cs" />
+ <Compile Include="Snippets\SnippetEventArgs.cs" />
+ <Compile Include="Snippets\SnippetInputHandler.cs" />
+ <Compile Include="Snippets\Snippet.cs" />
+ <Compile Include="Snippets\SnippetBoundElement.cs" />
+ <Compile Include="Snippets\SnippetCaretElement.cs" />
+ <Compile Include="Snippets\SnippetContainerElement.cs" />
+ <Compile Include="Snippets\SnippetElement.cs" />
+ <Compile Include="Snippets\InsertionContext.cs" />
+ <Compile Include="Snippets\SnippetReplaceableTextElement.cs" />
+ <Compile Include="Snippets\SnippetSelectionElement.cs" />
+ <Compile Include="Snippets\SnippetTextElement.cs" />
+ <Compile Include="TextEditor.cs" />
+ <Compile Include="TextEditorAutomationPeer.cs" />
+ <Compile Include="TextEditorComponent.cs">
+ </Compile>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Document\DocumentChangeEventArgs.cs" />
+ <Compile Include="Document\GapTextBuffer.cs">
+ <DependentUpon>TextDocument.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Document\LineManager.cs">
+ <DependentUpon>TextDocument.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Document\DocumentLine.cs" />
+ <Compile Include="Document\DocumentLineTree.cs">
+ <DependentUpon>DocumentLine.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Document\TextDocument.cs" />
+ <Compile Include="TextEditorOptions.cs" />
+ <Compile Include="TextEditorWeakEventManager.cs">
+ <DependentUpon>TextEditor.cs</DependentUpon>
+ </Compile>
+ <Compile Include="TextViewPosition.cs" />
+ <Compile Include="Utils\Boxes.cs" />
+ <Compile Include="Utils\BusyManager.cs">
+ <DependentUpon>ObserveAddRemoveCollection.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Utils\CharRope.cs" />
+ <Compile Include="Utils\CompressingTreeList.cs" />
+ <Compile Include="Utils\Constants.cs" />
+ <Compile Include="Utils\DelayedEvents.cs" />
+ <Compile Include="Utils\CallbackOnDispose.cs" />
+ <Compile Include="Utils\Deque.cs" />
+ <Compile Include="Utils\Empty.cs" />
+ <Compile Include="Utils\ExtensionMethods.cs" />
+ <Compile Include="Utils\FileReader.cs" />
+ <Compile Include="Utils\ImmutableStack.cs" />
+ <Compile Include="Utils\NullSafeCollection.cs" />
+ <Compile Include="Utils\ObserveAddRemoveCollection.cs" />
+ <Compile Include="Utils\PropertyChangedWeakEventManager.cs" />
+ <Compile Include="Utils\Rope.cs" />
+ <Compile Include="Utils\RopeNode.cs" />
+ <Compile Include="Utils\RopeTextReader.cs" />
+ <Compile Include="Utils\StringSegment.cs" />
+ <Compile Include="Utils\TextFormatterFactory.cs" />
+ <Compile Include="Utils\WeakEventManagerBase.cs" />
+ <Compile Include="Utils\PixelSnapHelpers.cs" />
+ <Compile Include="Utils\ThrowUtil.cs" />
+ <Compile Include="Utils\Win32.cs" />
+ <CodeAnalysisDictionary Include="Properties\CodeAnalysisDictionary.xml" />
+ <Compile Include="XamlEditor.cs" />
+ <Compile Include="Xml\AbstractAXmlVisitor.cs" />
+ <Compile Include="Xml\AXmlAttribute.cs" />
+ <Compile Include="Xml\AXmlAttributeCollection.cs" />
+ <Compile Include="Xml\AXmlContainer.cs" />
+ <Compile Include="Xml\AXmlDocument.cs" />
+ <Compile Include="Xml\AXmlElement.cs" />
+ <Compile Include="Xml\AXmlObject.cs" />
+ <Compile Include="Xml\AXmlObjectCollection.cs" />
+ <Compile Include="Xml\AXmlObjectEventArgs.cs" />
+ <Compile Include="Xml\AXmlParser.cs" />
+ <Compile Include="Xml\AXmlTag.cs" />
+ <Compile Include="Xml\AXmlText.cs" />
+ <Compile Include="Xml\CanonicalPrintAXmlVisitor.cs" />
+ <Compile Include="Xml\InternalException.cs" />
+ <Compile Include="Xml\TrackedSegmentCollection.cs">
+ <DependentUpon>AXmlParser.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Xml\ExtensionMethods.cs" />
+ <Compile Include="Xml\FilteredCollection.cs" />
+ <Compile Include="Xml\IAXmlVisitor.cs" />
+ <Compile Include="Xml\MergedCollection.cs" />
+ <Compile Include="Xml\PrettyPrintAXmlVisitor.cs" />
+ <Compile Include="Xml\SyntaxError.cs" />
+ <Compile Include="Xml\TagMatchingHeuristics.cs">
+ <DependentUpon>AXmlParser.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Xml\TagReader.cs">
+ <DependentUpon>AXmlParser.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Xml\TextType.cs">
+ <DependentUpon>AXmlText.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Xml\TokenReader.cs">
+ <DependentUpon>AXmlParser.cs</DependentUpon>
+ </Compile>
+ <EmbeddedResource Include="Highlighting\Resources\ASPX.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\Boo.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\Coco-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\CPP-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\HTML-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\Java-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\JavaScript-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\Patch-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\PHP-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\Tex-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\VBNET-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\XML-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\ModeV1.xsd" />
+ <EmbeddedResource Include="Highlighting\Resources\ModeV2.xsd" />
+ <EmbeddedResource Include="Highlighting\Resources\CSharp-Mode.xshd" />
+ <EmbeddedResource Include="Highlighting\Resources\XmlDoc.xshd" />
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="Highlighting\Resources\CSS-Mode.xshd" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\Tango.Core\Tango.Core.csproj">
+ <Project>{a34ee0f0-649d-41c8-8489-b6f1cc6924ee}</Project>
+ <Name>Tango.Core</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Tango.Scripting.Core\Tango.Scripting.Core.csproj">
+ <Project>{5812E1C6-ABAA-4066-94AC-971C27B4F46A}</Project>
+ <Name>Tango.Scripting.Core</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Tango.Scripting.Formatting\Tango.Scripting.Formatting.csproj">
+ <Project>{8d8f06ed-7f75-4933-b0c5-829b0ff654d0}</Project>
+ <Name>Tango.Scripting.Formatting</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Tango.Scripting\Tango.Scripting.csproj">
+ <Project>{1e938fd2-c669-4738-98c9-77f96ce4d451}</Project>
+ <Name>Tango.Scripting</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="Highlighting\Resources\PowerShell.xshd" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="Highlighting\Resources\MarkDown-Mode.xshd" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ <Analyzer Include="..\..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
+ <Analyzer Include="..\..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties BuildVersion_UseGlobalSettings="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_StartDate="2000/1/1" />
+ </VisualStudio>
+ </ProjectExtensions>
+ <ItemGroup>
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\Microsoft.CodeAnalysis.CSharp.2.4.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\Microsoft.CodeAnalysis.Common.2.4.0\lib\netstandard1.3\Microsoft.CodeAnalysis.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\PresentationCore.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\PresentationFramework.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Collections.Immutable.1.3.1\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.ComponentModel.Composition.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Console.4.3.0\lib\net46\System.Console.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Core.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Data.DataSetExtensions.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Data.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Diagnostics.FileVersionInfo.4.3.0\lib\net46\System.Diagnostics.FileVersionInfo.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Diagnostics.StackTrace.4.3.0\lib\net46\System.Diagnostics.StackTrace.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Drawing.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Numerics.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Reflection.Metadata.1.4.2\lib\portable-net45+win8\System.Reflection.Metadata.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net461\System.Security.Cryptography.Algorithms.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Text.Encoding.CodePages.4.3.0\lib\net46\System.Text.Encoding.CodePages.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Threading.Thread.4.3.0\lib\net46\System.Threading.Thread.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.ValueTuple.4.3.0\lib\netstandard1.0\System.ValueTuple.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Windows.Forms.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xaml.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.Linq.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Xml.XmlDocument.4.3.0\lib\net46\System.Xml.XmlDocument.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Xml.XPath.4.3.0\lib\net46\System.Xml.XPath.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\packages\System.Xml.XPath.XDocument.4.3.0\lib\net46\System.Xml.XPath.XDocument.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\Build\Core\Debug\Tango.Core.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\Scripting\Tango.Scripting.Core\bin\Debug\Tango.Scripting.Core.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\Build\Scripting\Debug\Tango.Scripting.dll" />
+ <ReferencePath Include="C:\DATA\Development\Tango\Software\Visual_Studio\Scripting\Tango.Scripting.Formatting\bin\Debug\Tango.Scripting.Formatting.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\UIAutomationProvider.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\UIAutomationTypes.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\WindowsBase.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Collections.Concurrent.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Collections.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ComponentModel.Annotations.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ComponentModel.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ComponentModel.EventBasedAsync.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Diagnostics.Contracts.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Diagnostics.Debug.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Diagnostics.Tools.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Diagnostics.Tracing.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Dynamic.Runtime.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Globalization.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.IO.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Linq.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Linq.Expressions.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Linq.Parallel.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Linq.Queryable.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Net.NetworkInformation.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Net.Primitives.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Net.Requests.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Net.WebHeaderCollection.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ObjectModel.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Emit.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Emit.ILGeneration.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Emit.Lightweight.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Extensions.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Primitives.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Resources.ResourceManager.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.Extensions.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.Handles.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.InteropServices.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.InteropServices.WindowsRuntime.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.Numerics.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.Serialization.Json.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.Serialization.Primitives.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.Serialization.Xml.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Security.Principal.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Duplex.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Http.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.NetTcp.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Primitives.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Security.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Text.Encoding.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Text.Encoding.Extensions.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Text.RegularExpressions.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Threading.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Threading.Tasks.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Threading.Tasks.Parallel.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Threading.Timer.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Xml.XDocument.dll" />
+ <ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Xml.XmlSerializer.dll" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="C:\DATA\Development\Tango\Software\Visual_Studio\Scripting\Tango.Scripting.Editors\obj\Debug\GeneratedInternalTypeHelper.g.cs" />
+ </ItemGroup>
+</Project> \ No newline at end of file