diff --git a/README.md b/README.md index 46a5d1f..2d1942e 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,7 @@ chsrc set ruby https://gems.ruby-china.com/ # 使用自定义URL chsrc set ruby first # 使用维护团队测试的最快镜像站 ``` -对部分[支持局部换源](https://gitee.com/RubyMetric/chsrc/issues/I9V5I0)的,可以避免全局换源。 +对支持 **项目级** 换源的目标,可以避免全局(**系统级** 或 **用户级**)换源。 ```bash chsrc set -local bundler diff --git a/include/chsrc.h b/include/chsrc.h index 415a6d0..7472d6f 100644 --- a/include/chsrc.h +++ b/include/chsrc.h @@ -91,11 +91,30 @@ chsrc_log_cmd_result (bool result, int ret_code) } +/* 命令行选项 */ bool CliOpt_IPv6 = false; bool CliOpt_Locally = false; bool CliOpt_InEnglish = false; bool CliOpt_DryRun = false; +/** + * -local 的含义是启用 *项目级* 换源 + * + * 每个 target 对 [-local] 的支持情况可使用 | chsrc ls | 来查看 + * + * + * 1. 默认不使用该选项时,含义是 *全局* 换源, + * + * 全局分为 (1)系统级 (2)用户级 + * + * 大多数第三方配置软件往往默认进行的是 *用户级* 的配置。所以 chsrc 首先将尝试使用 *用户级* 配置 + * + * 2. 若不存在 *用户级* 的配置,chsrc 将采用 *系统级* 的配置 + * + * 3. 最终效果本质由第三方软件决定,如 poetry 默认实现的就是项目级的换源 + */ + + bool is_url (const char *str) {