diff options
| author | Avi Levkovich <avi@twine-s.com> | 2020-08-03 17:59:13 +0300 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2020-08-03 17:59:13 +0300 |
| commit | 9b5873a2e69a8e0f394fecc3c1e2923444fc46e1 (patch) | |
| tree | 5b5271a8cf4eaade3439fe64e71fba1ee48899a7 /Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs | |
| parent | 29367e183afdf3ffa17cb9ec4d3869b93cb4764d (diff) | |
| parent | c1acb1d70b48d0ce31b5ff1a12086a50e264bc77 (diff) | |
| download | Tango-9b5873a2e69a8e0f394fecc3c1e2923444fc46e1.tar.gz Tango-9b5873a2e69a8e0f394fecc3c1e2923444fc46e1.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs')
| -rw-r--r-- | Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs index 8cf615a7c..0e32af6ed 100644 --- a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs @@ -65,6 +65,7 @@ namespace Tango.Scripting.Editors private static List<CachedUsing> _cachedUsings; private static bool _isLoadingCachedAssemblies; private static bool _isCacheAssembliesLoaded; + private static bool _isUsingsLoadingStarted; private static object _loadUsingsLock = new object(); private static List<SnippetCompletionItem> snippets; @@ -72,6 +73,8 @@ namespace Tango.Scripting.Editors public static event EventHandler LoadingSymbolsStarted; public static event EventHandler LoadingSymbolsCompleted; private static event EventHandler KnownTypesAvailable; + public static event EventHandler UsingsLoadingStarted; + public static event EventHandler UsingsLoadingCompleted; #region Mini Classes @@ -257,6 +260,12 @@ namespace Tango.Scripting.Editors }" }); + + snippets.Add(new SnippetCompletionItem() + { + Name = "cw", + Code = "context.WriteLine(\"\");" + }); } /// <summary> @@ -302,6 +311,13 @@ namespace Tango.Scripting.Editors errorMarkerService = new TextMarkerService(Document); TextArea.TextView.BackgroundRenderers.Add(errorMarkerService); TextArea.TextView.LineTransformers.Add(errorMarkerService); + + Unloaded += ScriptEditor_Unloaded; + } + + private void ScriptEditor_Unloaded(object sender, RoutedEventArgs e) + { + _update_timer.Stop(); } private void ScriptEditor_KnownTypesAvailable(object sender, EventArgs e) @@ -1394,6 +1410,12 @@ namespace Tango.Scripting.Editors { if (!_cachedUsings.Exists(x => x.Namespace == use)) { + if (!_isUsingsLoadingStarted) + { + _isUsingsLoadingStarted = true; + UsingsLoadingStarted?.Invoke(this, new EventArgs()); + } + var useFileName = System.IO.Path.Combine(KNOWN_TYPES_CACHE_FOLDER, use + ".json"); if (File.Exists(useFileName)) @@ -1477,7 +1499,7 @@ namespace Tango.Scripting.Editors knownType.LoadDocumentation(); } - if (!BlockedUsingsCache.Exists(x => x == use)) + if (!BlockedUsingsCache.Exists(x => use.StartsWith(x))) { Task.Factory.StartNew(() => { @@ -1488,6 +1510,11 @@ namespace Tango.Scripting.Editors } } + if (_isUsingsLoadingStarted) + { + UsingsLoadingCompleted?.Invoke(this, new EventArgs()); + } + LoadingSymbolsCompleted?.Invoke(null, new EventArgs()); } } |
