Beispiel #1
0
        public CliCommands()
        {
            Commands.Add("clear", new SimpleCommand
            {
                Order       = 1000,
                Description = "Clear the screen",
                Action      = (args) =>
                {
                    Console.Clear();
                    return(Task.FromResult(true));
                }
            });

            Commands.Add("quit", new SimpleCommand
            {
                Order       = 1001,
                Description = "Quit",
                Action      = (args) =>
                {
                    Finished    = true;
                    NewCommands = null;
                    return(Task.FromResult(true));
                }
            });
            CommandAliases.Add("c", "clear");
            CommandAliases.Add("q", "quit");
        }
        public bool TryRemoveCommandAlias(string aliasName, out IReadOnlyList <string> aliasTokens)
        {
            if (CommandAliases.TryGetValue(aliasName, out aliasTokens))
            {
                CommandAliases.Remove(aliasName);
                return(true);
            }

            return(false);
        }
Beispiel #3
0
        public CommandDispatcher(IApplicationContext application)
        {
            this.application = application;
            aliases = new CommandAliases(this);
            commandMap = new SortedDictionary<string, Command>();
            commands = new List<CommandInfo>();
            batchCount = 0;

            Readline.TabComplete += OnTabComplete;
        }
Beispiel #4
0
        public bool TryRemoveCommandAlias(string aliasName, out string aliasValue)
        {
            if (CommandAliases.TryGetValue(aliasName, out aliasValue))
            {
                CommandAliases.Remove(aliasName);
                return(true);
            }

            return(false);
        }
        private void GetCommandAliases(IConfigurationRoot configuration, string section)
        {
            var aliasSection = configuration.GetSection(section + ":Aliases");

            if (aliasSection == null)
            {
                return;
            }

            foreach (var child in aliasSection.GetChildren())
            {
                CommandAliases.Add(child.Key, child.Value);
            }
        }
Beispiel #6
0
        public string Execute(TExtension ext, string[] args)
        {
            var prms = new TParameters();
            var p    = GetOptions(prms);

            try
            {
                var unparsedArgs = p.Parse(PreParseArguments(ext, args));
                return(Execute(ext, prms, unparsedArgs));
            }
            catch (OptionException ex)
            {
                return(string.Concat("%!", ex.Message, "%!"));
            }
            catch (Exception ex)
            {
                _logger.ErrorException("Exception executing command: {" + CommandAliases.FirstOrDefault() + (" " + args.Concat(" ")).TrimEnd() + "}", ex);
                return(string.Concat("%!EXCEPTION: ", ex, "%!"));
            }
        }
 public void AddCommandAlias(string aliasName, IReadOnlyList <string> aliasTokens)
 {
     CommandAliases.Add(aliasName, aliasTokens);
 }
Beispiel #8
0
        public ConnectedCommands(Vault vault) : base()
        {
            _vault = vault;

            Commands.Add("list", new ParsableCommand <ListCommandOptions>
            {
                Order       = 10,
                Description = "List folder content",
                Action      = ListCommand
            });

            Commands.Add("cd", new SimpleCommand
            {
                Order       = 11,
                Description = "Change current folder",
                Action      = ChangeDirectoryCommand
            });

            Commands.Add("tree", new ParsableCommand <TreeCommandOptions>
            {
                Order       = 12,
                Description = "Display folder structure",
                Action      = TreeCommand
            });

            Commands.Add("get", new SimpleCommand
            {
                Order       = 13,
                Description = "Display specified Keeper record/folder/team",
                Action      = GetCommand
            });

            Commands.Add("add-record", new ParsableCommand <AddRecordOptions>
            {
                Order       = 20,
                Description = "Add record",
                Action      = AddRecordCommand
            });

            Commands.Add("update-record", new ParsableCommand <UpdateRecordOptions>
            {
                Order       = 21,
                Description = "Update record",
                Action      = UpdateRecordCommand
            });

            Commands.Add("list-sf", new SimpleCommand
            {
                Order       = 22,
                Description = "List shared folders",
                Action      = ListSharedFoldersCommand
            });

            Commands.Add("sync-down", new SimpleCommand
            {
                Order       = 100,
                Description = "Download & decrypt data",
                Action      = async(_) =>
                {
                    Console.WriteLine("Syncing...");
                    await _vault.SyncDown();
                }
            });

            Commands.Add("logout", new SimpleCommand
            {
                Order       = 200,
                Description = "Logout",
                Action      = (_) =>
                {
                    _vault.Auth.Logout();
                    Finished    = true;
                    NewCommands = new NotConnectedCliCommands(_vault.Auth);
                    return(Task.FromResult(false));
                }
            });

            CommandAliases.Add("ls", "list");
            CommandAliases.Add("d", "sync-down");
            CommandAliases.Add("add", "add-record");
            CommandAliases.Add("upd", "update-record");
        }
 private static void AddAliases(params FluentCommandBuilder[] commands)
 {
     commands.Each(command =>
                   command.Aliases.Each(alias =>
                                        CommandAliases.Add(alias, command.CommonName)));
 }
Beispiel #10
0
 public void AddCommandAlias(string aliasName, string aliasValue)
 {
     CommandAliases.Add(aliasName, aliasValue);
 }