Example #1
0
 /// <summary>
 /// コマンド未登録時用デリゲートを登録。
 /// </summary>
 /// <param name="notFound">コマンド未登録時用デリゲート</param>
 void SetNotFound(CommandHandlar notFound)
 {
     if (notFound == null)
     {
         this.notFound = new CommandHandlar(this.DefaultNotFound);
     }
     else
     {
         this.notFound = notFound;
     }
 }
Example #2
0
		/// <summary>
		/// 初期化。
		/// コマンド、引数間の区切り文字(正規表現)を指定。
		/// </summary>
		/// <param name="delim1">コマンドと引数の区切り文字</param>
		/// <param name="delim2">引数同士の間の区切り文字</param>
		/// <param name="delim3">リダイレクト用の区切り文字</param>
		public CommandParser(string prompt, string delim1, string delim2, string delim3)
		{
			this.commands = new Hashtable();
			this.commands[HELP_COMMAND] = new Tuple(new CommandHandlar(this.ShowHelp), HELP_MESSAGE);
			this.commands[QUIT_COMMAND] = new Tuple(new CommandHandlar(Quit), QUIT_MESSAGE);
			this.commands[SOURCE_COMMAND] = new Tuple(new CommandHandlar(this.Source), SOURCE_MESSAGE);

			this.notFound = new CommandHandlar(this.DefaultNotFound);

			this.prompt = prompt;
			this.delim1 = new Regex(delim1);
			this.delim2 = new Regex(delim2);
			this.delim3 = new Regex(delim3);
		}
Example #3
0
        /// <summary>
        /// 初期化。
        /// コマンド、引数間の区切り文字(正規表現)を指定。
        /// </summary>
        /// <param name="delim1">コマンドと引数の区切り文字</param>
        /// <param name="delim2">引数同士の間の区切り文字</param>
        /// <param name="delim3">リダイレクト用の区切り文字</param>
        public CommandParser(string prompt, string delim1, string delim2, string delim3)
        {
            this.commands = new Hashtable();
            this.commands[HELP_COMMAND]   = new Tuple(new CommandHandlar(this.ShowHelp), HELP_MESSAGE);
            this.commands[QUIT_COMMAND]   = new Tuple(new CommandHandlar(Quit), QUIT_MESSAGE);
            this.commands[SOURCE_COMMAND] = new Tuple(new CommandHandlar(this.Source), SOURCE_MESSAGE);

            this.notFound = new CommandHandlar(this.DefaultNotFound);

            this.prompt = prompt;
            this.delim1 = new Regex(delim1);
            this.delim2 = new Regex(delim2);
            this.delim3 = new Regex(delim3);
        }
Example #4
0
			public Tuple(CommandHandlar ope, string help)
			{
				this.ope = ope;
				this.help = help;
			}
Example #5
0
		/// <summary>
		/// コマンド未登録時用デリゲートを登録。
		/// </summary>
		/// <param name="notFound">コマンド未登録時用デリゲート</param>
		void SetNotFound(CommandHandlar notFound)
		{
			if(notFound == null)
				this.notFound = new CommandHandlar(this.DefaultNotFound);
			else
				this.notFound = notFound;
		}
Example #6
0
		/// <summary>
		/// コマンドを追加する。
		/// </summary>
		/// <param name="command">コマンド名</param>
		/// <param name="ope">コマンド処理デリゲート</param>
		/// <param name="help">ヘルプメッセージ</param>
		public void Add(string command, CommandHandlar ope, string help)
		{
			this.commands[command] = new Tuple(ope, help);
		}
Example #7
0
		/// <summary>
		/// コマンドを追加する。
		/// </summary>
		/// <param name="command">コマンド名</param>
		/// <param name="ope">コマンド処理デリゲート</param>
		public void Add(string command, CommandHandlar ope)
		{
			this.Add(command, ope, "");
		}
Example #8
0
 public Tuple(CommandHandlar ope, string help)
 {
     this.ope  = ope;
     this.help = help;
 }
Example #9
0
 /// <summary>
 /// コマンドを追加する。
 /// </summary>
 /// <param name="command">コマンド名</param>
 /// <param name="ope">コマンド処理デリゲート</param>
 /// <param name="help">ヘルプメッセージ</param>
 public void Add(string command, CommandHandlar ope, string help)
 {
     this.commands[command] = new Tuple(ope, help);
 }
Example #10
0
 /// <summary>
 /// コマンドを追加する。
 /// </summary>
 /// <param name="command">コマンド名</param>
 /// <param name="ope">コマンド処理デリゲート</param>
 public void Add(string command, CommandHandlar ope)
 {
     this.Add(command, ope, "");
 }