public int Exec(ref Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { if (manager.IsEnabled) { IEmacsCommandMetadata commandMetadata = manager.GetCommandMetadata((int)nCmdID, pguidCmdGroup); if (commandMetadata != null) { if (commandMetadata != null) { try { manager.Execute(view, commandMetadata, true); manager.AfterSearch = false; } catch (Exception ex) { manager.UpdateStatus(ex.Message, false); return(1); } } return(0); } if (pguidCmdGroup == VSConstants.VSStd2K && (int)nCmdID == 1 && manager.UniversalArgument.HasValue && manager.UniversalArgument.Value > 1) { int num1 = manager.UniversalArgument.Value; while (num1-- > 0) { int num2 = router.ExecuteCommand(ref pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); if (num2 != 0) { return(num2); } } return(0); } if (pguidCmdGroup == VSConstants.VSStd2K && ((int)nCmdID == 122 || (int)nCmdID == 123)) { MarkSession.GetSession(view).PushMark(true); manager.AfterSearch = true; } } return(1); }
int IOleCommandTarget.Exec(ref Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { if (IsActive && manager.IsEnabled) { if (pguidCmdGroup == VSConstants.VSStd2K) { switch (nCmdID) { case 1U: case 2U: case 4U: case 103U: Deactivate(true); break; case 7U: manager.Execute(view, EmacsCommandID.CharLeft, true); return(0); case 9U: manager.Execute(view, EmacsCommandID.CharRight, true); return(0); case 11U: manager.Execute(view, EmacsCommandID.LineUp, true); return(0); case 13U: manager.Execute(view, EmacsCommandID.LineDown, true); return(0); } } else if (pguidCmdGroup == typeof(VSConstants.VSStd97CmdID).GUID) { switch (nCmdID) { case 15U: case 16U: Deactivate(false); break; case 17U: Deactivate(true); break; } } else if (pguidCmdGroup == typeof(EmacsCommandID).GUID) { switch (nCmdID) { case 21U: case 22U: case 34U: case 51U: Deactivate(true); break; } } } return(1); }