summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-04-11 02:24:59 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2013-04-11 02:24:59 -0700
commit9f3aca8f790f70a324790c518897b0ceb8b52a42 (patch)
tree7e886a7abb00aa79aacb97aa95d1e6fa6f60be69
parent3806b53db5ff4e73df4d4b7600ba0fbdbef6e0d5 (diff)
parentfc3e548aa3688fa5fda36d35e9ecae222d8be7ba (diff)
downloadmruby-9f3aca8f790f70a324790c518897b0ceb8b52a42.tar.gz
mruby-9f3aca8f790f70a324790c518897b0ceb8b52a42.zip
Merge pull request #1170 from h2so5/add-verbose-mode-to-mirb
Add verbose mode to mirb
-rw-r--r--tools/mirb/mirb.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/mirb/mirb.c b/tools/mirb/mirb.c
index cde0b0d4b..58af7c3dd 100644
--- a/tools/mirb/mirb.c
+++ b/tools/mirb/mirb.c
@@ -137,6 +137,7 @@ void mrb_show_version(mrb_state *);
void mrb_show_copyright(mrb_state *);
struct _args {
+ mrb_bool verbose : 1;
int argc;
char** argv;
};
@@ -146,6 +147,8 @@ usage(const char *name)
{
static const char *const usage_msg[] = {
"switches:",
+ "-v print version number, then run in verbose mode",
+ "--verbose run in verbose mode",
"--version print the version",
"--copyright print the copyright",
NULL
@@ -170,11 +173,19 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args)
item = argv[0] + 1;
switch (*item++) {
+ case 'v':
+ if (!args->verbose) mrb_show_version(mrb);
+ args->verbose = 1;
+ break;
case '-':
if (strcmp((*argv) + 2, "version") == 0) {
mrb_show_version(mrb);
exit(EXIT_SUCCESS);
}
+ else if (strcmp((*argv) + 2, "verbose") == 0) {
+ args->verbose = 1;
+ break;
+ }
else if (strcmp((*argv) + 2, "copyright") == 0) {
mrb_show_copyright(mrb);
exit(EXIT_SUCCESS);
@@ -250,6 +261,7 @@ main(int argc, char **argv)
cxt = mrbc_context_new(mrb);
cxt->capture_errors = 1;
+ if (args.verbose) cxt->dump_result = 1;
ai = mrb_gc_arena_save(mrb);
while (TRUE) {