diff --git a/share/svi/lib/svi.rb b/share/svi/lib/svi.rb index b8c71f1..a7d7608 100644 --- a/share/svi/lib/svi.rb +++ b/share/svi/lib/svi.rb @@ -2,9 +2,9 @@ require_relative "svi/svn_runner" module Svi class << self - def run + def run(args) end end end -Svi.run +Svi.run($ARGS) diff --git a/src/main.cc b/src/main.cc index 4536698..ab723f1 100644 --- a/src/main.cc +++ b/src/main.cc @@ -107,6 +107,12 @@ int main(int argc, char * argv[]) RUBY_INIT_STACK; ruby_init(); rb_gv_set("$SHARE_DIR", rb_str_new(share_dir.c_str(), share_dir.size())); + VALUE argv_ruby_value = rb_ary_new(); + rb_gv_set("$ARGS", argv_ruby_value); + for (int i = 0; i < argc; i++) + { + rb_ary_push(argv_ruby_value, rb_str_new_cstr(argv[i])); + } svi_ruby_protect_eval_string(ruby_startup, &exception); } delete[] ruby_startup;