Exemplo n.º 1
0
        public override bool Unload()
        {
            CommandManager.UnregisterCommand(Commands.AliasCmd.Key);
            CommandManager.UnregisterCommand(Commands.UnaliasCmd.Key);
            EventManager <OSLoadedEvent> .RemoveHandler(LoadAliases);

            EventManager <CommandExecuteEvent> .RemoveHandler(CheckCommand);

            aliases.Clear();
            aliases = null;
            file    = null;

            return(base.Unload());
        }
Exemplo n.º 2
0
            /// <summary>
            /// Run the alias command.
            /// </summary>
            public static void RunCommand(OS os, string[] args)
            {
                if (firstRun)
                {
                    Load(os);
                }

                if (args.Length < 2)
                {
                    Show(os, false);
                }
                else
                {
                    int startArg = 1;

                    while ((startArg < args.Length) && ParseOptions(os, args[startArg]))
                    {
                        startArg++;
                    }

                    if (startArg == 1)
                    {
                        string name = args[startArg];

                        if (!args[startArg].Contains("="))
                        {
                            if (AliasMod.aliases.ContainsKey(name))
                            {
                                os.write(KeyValueFile.ToKeyValueString(name, AliasMod.aliases[name].Command));
                            }
                            else
                            {
                                os.write("Alias \"" + name + "\" not found");
                            }
                        }
                        else
                        {
                            os.write("Alias added: " + Add(os, string.Join(" ", args, startArg,
                                                                           args.Length - startArg)).Name);
                        }
                    }
                }
            }
Exemplo n.º 3
0
            /// <summary>
            /// Add an alias.
            /// </summary>
            private static Alias Add(OS os, string alias)
            {
                Alias al = null;

                string name    = alias.Remove(alias.IndexOf('='));
                string command = KeyValueFile.StripQuotes(alias.Remove(0, alias.IndexOf('=') + 1));

                if (AliasMod.aliases.ContainsKey(name))
                {
                    al         = AliasMod.aliases[name];
                    al.Command = command;
                    AliasMod.file.Replace(name, command);
                }
                else
                {
                    al = new Alias(name, command);
                    AliasMod.aliases[name] = al;
                    AliasMod.file.Append(name, command);
                }

                return(al);
            }