public IMouseProcessor GetAssociatedProcessor(IWpfTextView view)
{
var buffer = view.TextBuffer;
IOleCommandTarget shellCommandDispatcher = GetShellCommandDispatcher(view);
if (shellCommandDispatcher == null)
{
return(null);
}
ITelemetrySession telemetrySession = TelemetrySessionForPPT.Create(typeof(GoToDefMouseHandler).Assembly);
IVsExtensionManager manager = _globalServiceProvider.GetService(typeof(SVsExtensionManager)) as IVsExtensionManager;
if (manager == null)
{
return(null);
}
IInstalledExtension extension;
manager.TryGetInstalledExtension("GoToDef", out extension);
if (extension != null)
{
return(null);
}
return(new GoToDefMouseHandler(view,
shellCommandDispatcher,
telemetrySession,
_aggregatorFactory.GetClassifier(buffer),
_navigatorService.GetTextStructureNavigator(buffer),
CtrlKeyState.GetStateForView(view)));
}