Exemple #1
0
        public Shell(IContextVariable contextVariable)
        {
            contextVariable.AddVariable("IShell.SelectedPaths", async() => await SelectedPaths());
            contextVariable.AddVariable("IShell.CurrentDirectory", async() => await CurrentDirectory());
            contextVariable.AddVariable("IShell.SelectedPathsOrCurrentDirectory", async() =>
            {
                var paths = await SelectedPaths();

                return((paths != null && paths.Length != 0)
                    ? paths
                    : new string[] { await CurrentDirectory() });
            });
        }
Exemple #2
0
        public SoftwareTool(ICommandManager commandManager, IKeyboard keyboard, IConfig <Config> config,
                            IShell shell,
                            IVirtualDesktopManager virtualDesktopManager, IWindowManager windowManager,
                            IContextVariable contextVariable)
        {
            _shell = shell;
            _virtualDesktopManager = virtualDesktopManager;
            _windowManager         = windowManager;
            _contextVariable       = contextVariable;

            var folders = config.CurrentValue.ConfigFolders;

            foreach (var folder in folders)
            {
                loadConfigInFolder(folder);
            }

            RegisterCommands();
        }
Exemple #3
0
 public static IEnumerable <IContextVariable> GetPropertyDescriptions(this ITypeInfo type, IContextVariable parent)
 {
     if (parent == null)
     {
         throw new ArgumentNullException("parent");
     }
     foreach (var item in type.GetAllMembers())
     {
         yield return(new ContextVariable(parent.VariableName, item.MemberName)
         {
             Node = parent.Node,
             VariableType = item.MemberType,
             Repository = parent.Repository,
         });
     }
 }