public static void DoTriggerCompletion(IntellisenseController controller, CompletionInfoType infoType, bool signatureHelpOnly, IntellisenseInvocationType invocationType) { Contract.Requires <ArgumentNullException>(controller != null, "controller"); var completionInfo = controller.CompletionInfo; ITextView textView = controller.TextView; SnapshotPoint?point = textView.Caret.Position.Point.GetPoint(textView.TextBuffer, PositionAffinity.Predecessor); if (point.HasValue) { ITrackingPoint trackingPoint = textView.TextBuffer.CurrentSnapshot.CreateTrackingPoint(point.Value.Position, PointTrackingMode.Positive); if (!signatureHelpOnly) { controller.TriggerCompletion(trackingPoint, infoType, invocationType); DoCallMatch(controller); } if (signatureHelpOnly /*|| (completionInfo.CompletionFlags & CompletionFlags.HasParameterInfo) != 0*/) { controller.TriggerSignatureHelp(trackingPoint); } if (controller.CompletionSession != null) { controller.IntellisenseSessionStack.MoveSessionToTop(controller.CompletionSession); } } }
public static void DoTriggerCompletion(IntellisenseController controller, CompletionInfoType infoType, bool signatureHelpOnly, IntellisenseInvocationType invocationType) { Contract.Requires<ArgumentNullException>(controller != null, "controller"); var completionInfo = controller.CompletionInfo; ITextView textView = controller.TextView; SnapshotPoint? point = textView.Caret.Position.Point.GetPoint(textView.TextBuffer, PositionAffinity.Predecessor); if (point.HasValue) { ITrackingPoint trackingPoint = textView.TextBuffer.CurrentSnapshot.CreateTrackingPoint(point.Value.Position, PointTrackingMode.Positive); if (!signatureHelpOnly) { controller.TriggerCompletion(trackingPoint, infoType, invocationType); DoCallMatch(controller); } if (signatureHelpOnly /*|| (completionInfo.CompletionFlags & CompletionFlags.HasParameterInfo) != 0*/) { controller.TriggerSignatureHelp(trackingPoint); } if (controller.CompletionSession != null) { controller.IntellisenseSessionStack.MoveSessionToTop(controller.CompletionSession); } } }