From de56226c410586df105bb8da07f74c5bd439e532 Mon Sep 17 00:00:00 2001 From: Aoran Zeng Date: Tue, 29 Aug 2023 23:07:48 +0800 Subject: [PATCH] Use pl_ruby_sources --- chsrc.c | 47 ++++++++++++++++++++--------------------------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/chsrc.c b/chsrc.c index 46c1028..1ac4f79 100644 --- a/chsrc.c +++ b/chsrc.c @@ -10,6 +10,7 @@ * -------------------------------------------------------------*/ #include +#include "chsrc.h" #include "helper.h" #define Chsrc_Version "v0.1.0" @@ -47,44 +48,32 @@ pl_chsrc_python (char* source_name) * 参考:https://gitee.com/RubyKids/rbenv-cn */ void -pl_chsrc_ruby (char* source_name) +pl_chsrc_ruby (char* option) { - char* source_url = NULL; - - if (NULL==source_name) { - source_name = "rubychina"; - puts("chsrc: Default selection is Ruby China"); + int selected = 0; + for (int i=0;iname; + const char* source_abbr = pl_ruby_sources[selected].mirror->abbr; + const char* source_url = pl_ruby_sources[selected].url; - puts("chsrc: Change source for 'gem'"); + puts (xy_strjoin("chsrc: 选中镜像站:", source_abbr)); + + puts("chsrc: 为'gem'命令换源"); system("gem source -r https://rubygems.org/"); - char* cmd = xy_strjoin("gem source -a ", source_url); system(cmd); free(cmd); cmd = xy_strjoin("bundle config 'mirror.https://rubygems.org' ", source_url); - puts("chsrc: Change source for 'bundler'"); + puts("chsrc: 为'bundler'命令换源"); system(cmd); free(cmd); + + puts(xy_strjoin("chsrc: 感谢镜像提供方:", source_name)); } #define cmdfunc(func) (const char const*)func @@ -127,7 +116,7 @@ call_cmd (void* cmdptr, const char* arg) { void (*cmd_func)(const char*) = cmdptr; if (NULL==arg) { - puts("chsrc: Use the default"); + puts("chsrc: 将使用默认镜像"); } cmd_func(arg); } @@ -163,8 +152,9 @@ main (int argc, char const *argv[]) const char* option = NULL; const char* cmdarg = NULL; // 第二个参数 - if (argc>=2) + if (argc>=3) { + // printf ("argc = %d\n", argc); if (argv[2][0]=='-') { option = argv[2]; } else { @@ -194,5 +184,8 @@ main (int argc, char const *argv[]) } } + if (!matched) { + puts("chsrc: 暂不支持的换源类型,请使用-h查看可换源"); + } return 0; }