Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2017-01-24 01:26:15 +0300
committerMike Krüger <mkrueger@xamarin.com>2017-01-24 01:26:15 +0300
commitbe7ee132375ab2159b84a1575e6251de226715f7 (patch)
tree31d480db7d0956af5192d286b51470e19e87ef46 /main/src/addins/TextTemplating
parent4a28174af1188ff9ae59fdaa55cdb21787642dd5 (diff)
[Ide] Unified code completion handle paths.
We had 3 different cases of completion - the c# binding already contained a solution for that : completion trigger info. That struct contains all information the backend needs to take care of.
Diffstat (limited to 'main/src/addins/TextTemplating')
-rw-r--r--main/src/addins/TextTemplating/MonoDevelop.TextTemplating/Gui/T4EditorExtension.cs23
1 files changed, 12 insertions, 11 deletions
diff --git a/main/src/addins/TextTemplating/MonoDevelop.TextTemplating/Gui/T4EditorExtension.cs b/main/src/addins/TextTemplating/MonoDevelop.TextTemplating/Gui/T4EditorExtension.cs
index dc4afb12c9..520954efab 100644
--- a/main/src/addins/TextTemplating/MonoDevelop.TextTemplating/Gui/T4EditorExtension.cs
+++ b/main/src/addins/TextTemplating/MonoDevelop.TextTemplating/Gui/T4EditorExtension.cs
@@ -99,19 +99,20 @@ namespace MonoDevelop.TextTemplating.Gui
#region Code completion
- public override Task<ICompletionDataList> CodeCompletionCommand (CodeCompletionContext completionContext)
+ public override Task<ICompletionDataList> HandleCodeCompletionAsync (CodeCompletionContext completionContext, CompletionTriggerInfo triggerInfo, CancellationToken token = default(CancellationToken))
{
- int pos = completionContext.TriggerOffset;
- if (pos <= 0)
- return null;
- return HandleCodeCompletion ((CodeCompletionContext) completionContext, true);
- }
+ if (triggerInfo.CompletionTriggerReason == CompletionTriggerReason.CharTyped) {
+ char completionChar = triggerInfo.TriggerCharacter.Value;
+ int pos = completionContext.TriggerOffset;
+ if (pos > 0 && Editor.GetCharAt (pos - 1) == completionChar) {
+ return HandleCodeCompletion (completionContext, false);
+ }
+ } else if (triggerInfo.CompletionTriggerReason == CompletionTriggerReason.CompletionCommand) {
+ int pos = completionContext.TriggerOffset;
+ if (pos <= 0)
+ return null;
+ return HandleCodeCompletion ((CodeCompletionContext)completionContext, true);
- public override Task<ICompletionDataList> HandleCodeCompletionAsync (CodeCompletionContext completionContext, char completionChar, CancellationToken token = default(CancellationToken))
- {
- int pos = completionContext.TriggerOffset;
- if (pos > 0 && Editor.GetCharAt (pos - 1) == completionChar) {
- return HandleCodeCompletion (completionContext, false);
}
return null;
}