From bd48c80d788ea5e2f602236ad10ceb13dd3ba65f Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Mon, 10 Aug 2020 16:47:01 +0300 Subject: Some more work on proc_doc. Added auto member navigation for procedures help. Optimized compilation frequency thus memory accumulation. --- .../Tango.Scripting.Editors/ScriptEditor.cs | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs') diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs index b355ba818..6c248b63d 100644 --- a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs @@ -2750,6 +2750,44 @@ namespace Tango.Scripting.Editors } } + public String GetCaretWord() + { + try + { + var word_separators_plus = word_separators.ToList(); + word_separators_plus.Add(')'); + word_separators_plus.Add(';'); + + int wordStartOffset = CaretOffset; + int wordEndOffset = CaretOffset; + + while (wordStartOffset > 0) + { + if (word_separators_plus.Contains(Document.Text[wordStartOffset])) break; + wordStartOffset--; + } + + while (wordEndOffset < Document.Text.Length) + { + if (word_separators_plus.Contains(Document.Text[wordEndOffset])) break; + wordEndOffset++; + } + + if (wordStartOffset > 0) + { + wordStartOffset++; + } + + String word = Document.Text.Substring(wordStartOffset, wordEndOffset - wordStartOffset); + + return word; + } + catch + { + return null; + } + } + #endregion } } -- cgit v1.3.1