/// <inheritdoc />
        public IMouseProcessor GetAssociatedProcessor(IWpfTextView view)
        {
            var options = new MefProviderOptions(GlobalServiceProvider);

            if (!options.EnableGoToDefinition || !options.EnableCtrlClickGoToDefinition)
            {
                return(null);
            }

            var buffer = view.TextBuffer;

            return(new XmlGoToDefinitionMouseProcessor(view, GlobalServiceProvider,
                                                       AggregatorFactory.GetClassifier(buffer), NavigatorService.GetTextStructureNavigator(buffer),
                                                       CtrlKeyState.GetStateForView(view)));
        }
        public KeyProcessor GetAssociatedProcessor(IWpfTextView view)
        {
            var options = new MefProviderOptions(serviceProvider);

            if (!options.EnableGoToDefinition || !options.EnableCtrlClickGoToDefinition)
            {
                return(null);
            }

            return(view.Properties.GetOrCreateSingletonProperty(typeof(GoToDefinitionKeyProcessor),
                                                                () => new GoToDefinitionKeyProcessor(CtrlKeyState.GetStateForView(view))));
        }