aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-08-10 16:47:01 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-08-10 16:47:01 +0300
commitbd48c80d788ea5e2f602236ad10ceb13dd3ba65f (patch)
treef6fcf829440ba1634e71c41fe191950fe10c642d /Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs
parent02d8fb3fe734e38308226bddbd8f584bf957035c (diff)
downloadTango-bd48c80d788ea5e2f602236ad10ceb13dd3ba65f.tar.gz
Tango-bd48c80d788ea5e2f602236ad10ceb13dd3ba65f.zip
Some more work on proc_doc.
Added auto member navigation for procedures help. Optimized compilation frequency thus memory accumulation.
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs')
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs38
1 files changed, 38 insertions, 0 deletions
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
}
}