示例#1
0
 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);
 }
示例#2
0
        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);
        }