private static CommandKeyBinding CreateCommandKeyBinding(KeyInput input, VimKeyModifiers modifiers = VimKeyModifiers.None, string name = "again", string scope = "Global")
            {
                var stroke = new KeyStroke(input, modifiers);
                var key    = new KeyBinding(scope, stroke);

                return(new CommandKeyBinding(new CommandId(), name, key));
            }
Exemple #2
0
 private void VerifyConvert(VSConstants.VSStd2KCmdID cmd, VimKeyModifiers modifiers, KeyInput ki, EditCommandKind kind)
 {
     EditCommand command;
     Assert.True(OleCommandUtil.TryConvert(VSConstants.VSStd2K, (uint)cmd, IntPtr.Zero, modifiers, out command));
     Assert.Equal(ki, command.KeyInput);
     Assert.Equal(kind, command.EditCommandKind);
 }
        private void VerifyConvert(VSConstants.VSStd2KCmdID cmd, VimKeyModifiers modifiers, KeyInput ki, EditCommandKind kind)
        {
            EditCommand command;

            Assert.True(OleCommandUtil.TryConvert(VSConstants.VSStd2K, (uint)cmd, IntPtr.Zero, modifiers, out command));
            Assert.Equal(ki, command.KeyInput);
            Assert.Equal(kind, command.EditCommandKind);
        }
Exemple #4
0
 internal static KeyInput CreateKeyInput(
     VimKey key          = VimKey.None,
     VimKeyModifiers mod = VimKeyModifiers.None,
     char?c = null)
 {
     return(new KeyInput(
                key,
                mod,
                c.HasValue ? FSharpOption <char> .Some(c.Value) : FSharpOption <char> .None));
 }
Exemple #5
0
        internal static ModifierKeys ConvertToModifierKeys(VimKeyModifiers keys)
        {
            var res = ModifierKeys.None;

            if (0 != (keys & VimKeyModifiers.Shift))
            {
                res = res | ModifierKeys.Shift;
            }
            if (0 != (keys & VimKeyModifiers.Alt))
            {
                res = res | ModifierKeys.Alt;
            }
            if (0 != (keys & VimKeyModifiers.Control))
            {
                res = res | ModifierKeys.Control;
            }
            return(res);
        }
Exemple #6
0
        internal static bool TryConvert(Guid commandGroup, uint commandId, IntPtr pVariableIn, VimKeyModifiers modifiers, out EditCommand command)
        {
            KeyInput keyInput;
            EditCommandKind kind;
            bool isRawText;
            if (!TryConvert(commandGroup, commandId, pVariableIn, out keyInput, out kind, out isRawText))
            {
                command = null;
                return false;
            }

            // When raw text is provided it already includes the active keyboard modifiers. Don't reapply them
            // here else it can incorrectly modify the provided character.
            if (!isRawText && keyInput != KeyInput.DefaultValue)
            {
                keyInput = KeyInputUtil.ApplyKeyModifiers(keyInput, modifiers);
            }

            command = new EditCommand(keyInput, kind, commandGroup, commandId);
            return true;
        }
Exemple #7
0
        internal static NSEventModifierMask ConvertToModifierKeys(VimKeyModifiers keys)
        {
            NSEventModifierMask res = 0;

            if (keys.HasFlag(VimKeyModifiers.Shift))
            {
                res |= NSEventModifierMask.ShiftKeyMask;
            }
            if (keys.HasFlag(VimKeyModifiers.Alt))
            {
                res |= NSEventModifierMask.AlternateKeyMask;
            }
            if (keys.HasFlag(VimKeyModifiers.Control))
            {
                res |= NSEventModifierMask.ControlKeyMask;
            }
            if (keys.HasFlag(VimKeyModifiers.Command))
            {
                res |= NSEventModifierMask.CommandKeyMask;
            }
            return(res);
        }
Exemple #8
0
        private static bool TryConvertToModifierKeys(string mod, out VimKeyModifiers modKeys)
        {
            var comp = StringComparer.OrdinalIgnoreCase;

            if (comp.Equals(mod, "shift"))
            {
                modKeys = VimKeyModifiers.Shift;
            }
            else if (comp.Equals(mod, "ctrl"))
            {
                modKeys = VimKeyModifiers.Control;
            }
            else if (comp.Equals(mod, "alt"))
            {
                modKeys = VimKeyModifiers.Alt;
            }
            else
            {
                modKeys = VimKeyModifiers.None;
                return(false);
            }

            return(true);
        }
Exemple #9
0
            private static KeyInput ApplyModifiers(char c, VimKeyModifiers keyModifiers)
            {
                var keyInput = KeyInputUtil.CharToKeyInput(c);

                return(KeyInputUtil.ApplyKeyModifiers(keyInput, keyModifiers));
            }
 internal KeyCharModifier(char c, VimKeyModifiers keyModifiers)
 {
     _char         = c;
     _keyModifiers = keyModifiers;
 }
            private void VerifySpecial(VimKey vimKey, VimKeyModifiers keyModifiers = VimKeyModifiers.None)
            {
                var keyInput = KeyInputUtil.ApplyKeyModifiersToKey(vimKey, keyModifiers);

                Assert.True(_reportDesignerUtil.IsSpecialHandled(keyInput));
            }
 public KeyStroke(KeyInput keyInput, VimKeyModifiers modifiers)
 {
     _keyInput     = keyInput;
     _keyModifiers = modifiers;
 }
Exemple #13
0
 private static CommandKeyBinding CreateCommandKeyBinding(KeyInput input, VimKeyModifiers modifiers = VimKeyModifiers.None, string name = "again", string scope = "Global")
 {
     var stroke = new KeyStroke(input, modifiers);
     var key = new KeyBinding(scope, stroke);
     return new CommandKeyBinding(new CommandId(), name, key);
 }
 internal KeyCharModifier(char c, VimKeyModifiers keyModifiers)
 {
     _char = c;
     _keyModifiers = keyModifiers;
 }
Exemple #15
0
        internal static bool TryConvert(Guid commandGroup, uint commandId, IntPtr pVariableIn, VimKeyModifiers modifiers, out EditCommand command)
        {
            if (!TryConvert(commandGroup, commandId, pVariableIn, out KeyInput keyInput, out EditCommandKind kind, out bool isRawText))
            {
                command = null;
                return(false);
            }

            // When raw text is provided it already includes the active keyboard modifiers. Don't reapply them
            // here else it can incorrectly modify the provided character.
            if (!isRawText && keyInput != KeyInput.DefaultValue)
            {
                keyInput = KeyInputUtil.ApplyKeyModifiers(keyInput, modifiers);
            }

            command = new EditCommand(keyInput, kind, commandGroup, commandId);
            return(true);
        }
 internal KeyInputWithModifier(KeyInput key, VimKeyModifiers keyModifiers)
 {
     _key          = key;
     _keyModifiers = keyModifiers;
 }
Exemple #17
0
 internal static ModifierKeys ConvertToModifierKeys(VimKeyModifiers keys)
 {
     var res = ModifierKeys.None;
     if (0 != (keys & VimKeyModifiers.Shift))
     {
         res = res | ModifierKeys.Shift;
     }
     if (0 != (keys & VimKeyModifiers.Alt))
     {
         res = res | ModifierKeys.Alt;
     }
     if (0 != (keys & VimKeyModifiers.Control))
     {
         res = res | ModifierKeys.Control;
     }
     return res;
 }
Exemple #18
0
 private static KeyInput ApplyModifiers(char c, VimKeyModifiers keyModifiers)
 {
     var keyInput = KeyInputUtil.CharToKeyInput(c);
     return KeyInputUtil.ApplyKeyModifiers(keyInput, keyModifiers);
 }
Exemple #19
0
 private void VerifySpecial(VimKey vimKey, VimKeyModifiers keyModifiers = VimKeyModifiers.None)
 {
     var keyInput = KeyInputUtil.ApplyKeyModifiersToKey(vimKey, keyModifiers);
     Assert.True(_reportDesignerUtil.IsSpecialHandled(keyInput));
 }