internal KeyBindingService(_DTE dte, IKeyboardOptionsProvider keyboardOptionsProvider, IVimProtectedOperations protectedOperations, IVimApplicationSettings vimApplicationSettings, ScopeData scopeData) { _dte = dte; _keyboardOptionsProvider = keyboardOptionsProvider; _protectedOperations = protectedOperations; _vimApplicationSettings = vimApplicationSettings; _scopeData = scopeData; FixKeyMappingIssue(); }
internal FallbackKeyProcessorProvider(SVsServiceProvider serviceProvider, IKeyUtil keyUtil, IVimApplicationSettings vimApplicationSettings, IVim vim) { _dte = (_DTE)serviceProvider.GetService(typeof(_DTE)); _keyUtil = keyUtil; _vimApplicationSettings = vimApplicationSettings; _vim = vim; _vsShell = (IVsShell)serviceProvider.GetService(typeof(SVsShell)); _scopeData = new ScopeData(_vsShell); }
/// <summary> /// In general a key processor applies to a specific IWpfTextView but /// by not making use of it, the fallback processor can be reused for /// multiple text views /// </summary> internal FallbackKeyProcessor(IVsShell vsShell, _DTE dte, IKeyUtil keyUtil, IVimApplicationSettings vimApplicationSettings, ITextView textView, IVimBuffer vimBuffer, ScopeData scopeData) { _vsShell = vsShell; _dte = dte; _keyUtil = keyUtil; _vimApplicationSettings = vimApplicationSettings; _vimBuffer = vimBuffer; _scopeData = scopeData; _fallbackCommandList = Enumerable.Empty<FallbackCommand>().ToLookup(x => 'a'); // Register for key binding changes and get the current bindings _vimApplicationSettings.SettingsChanged += OnSettingsChanged; GetKeyBindings(); textView.Closed += OnTextViewClosed; }