Beispiel #1
0
        /// <summary>
        /// Find all of the key bindings which have been removed
        /// </summary>
        internal static List<CommandKeyBinding> FindKeyBindingsMarkedAsRemoved(this ILegacySettings settings, CommandListSnapshot commandsSnapshot)
        {
            var list = new List<CommandKeyBinding>();
            if (!settings.HaveUpdatedKeyBindings)
            {
                return list;
            }

            var map = new Dictionary<string, CommandId>();
            foreach (var commandKeyBinding in commandsSnapshot.CommandKeyBindings)
            {
                map[commandKeyBinding.Name] = commandKeyBinding.Id;
            }

            foreach (var commandBindingSetting in settings.RemovedBindings)
            {
                CommandId id;
                KeyBinding binding;
                if (KeyBinding.TryParse(commandBindingSetting.CommandString, out binding) &&
                    map.TryGetValue(commandBindingSetting.Name, out id))
                {
                    list.Add(new CommandKeyBinding(
                        id,
                        commandBindingSetting.Name,
                        binding));
                }
            }

            return list;
        }
 public CommandKeyBindingSnapshot(
     CommandListSnapshot snapshot,
     IEnumerable<KeyInput> vimFirstKeyInputs,
     IEnumerable<CommandKeyBinding> removed,
     IEnumerable<CommandKeyBinding> conflicting)
 {
     _commandListSnapshot = snapshot;
     _vimFirstKeyInputs = vimFirstKeyInputs.ToReadOnlyCollection();
     _removedBindings = removed.ToReadOnlyCollection();
     _conflictingBindings = conflicting.ToReadOnlyCollection();
 }
 public CommandKeyBindingSnapshot(
     CommandListSnapshot snapshot,
     IEnumerable <KeyInput> vimFirstKeyInputs,
     IEnumerable <CommandKeyBinding> removed,
     IEnumerable <CommandKeyBinding> conflicting)
 {
     _commandListSnapshot = snapshot;
     _vimFirstKeyInputs   = vimFirstKeyInputs.ToReadOnlyCollection();
     _removedBindings     = removed.ToReadOnlyCollection();
     _conflictingBindings = conflicting.ToReadOnlyCollection();
 }
Beispiel #4
0
        /// <summary>
        /// Find all of the key bindings which have been removed
        /// </summary>
        internal static List <CommandKeyBinding> FindKeyBindingsMarkedAsRemoved(this ILegacySettings settings, CommandListSnapshot commandsSnapshot)
        {
            var list = new List <CommandKeyBinding>();

            if (!settings.HaveUpdatedKeyBindings)
            {
                return(list);
            }

            var map = new Dictionary <string, CommandId>();

            foreach (var commandKeyBinding in commandsSnapshot.CommandKeyBindings)
            {
                map[commandKeyBinding.Name] = commandKeyBinding.Id;
            }

            foreach (var commandBindingSetting in settings.RemovedBindings)
            {
                CommandId  id;
                KeyBinding binding;
                if (KeyBinding.TryParse(commandBindingSetting.CommandString, out binding) &&
                    map.TryGetValue(commandBindingSetting.Name, out id))
                {
                    list.Add(new CommandKeyBinding(
                                 id,
                                 commandBindingSetting.Name,
                                 binding));
                }
            }

            return(list);
        }