mirror of
https://github.com/RubyMetric/chsrc
synced 2026-02-27 01:21:21 +08:00
内部使用新的状态变量判断scope
This commit is contained in:
@@ -303,19 +303,20 @@ cli_print_target_features (Target_t *target, const char *input_target_name)
|
||||
}
|
||||
|
||||
{
|
||||
char *msg = ENGLISH ? " Locally: Change source only for this project " : " Locally: 仅对本项目换源 ";
|
||||
char *locally_msg = xy_strcat (3, msg, "| chsrc set -local ", input_target_name);
|
||||
char *msg = CHINESE ? " Scope: 换源作用域 "
|
||||
: " Scope: scope of the recipe";
|
||||
char *scope_msg = xy_strcat (3, msg, "| chsrc set -scope=default|project|user|system ", input_target_name);
|
||||
|
||||
switch (target->cap_local)
|
||||
{
|
||||
case CanNot:
|
||||
printf (" %s%s\n", bdred(NoMark), locally_msg);br();
|
||||
printf (" %s%s\n", bdred(NoMark), scope_msg);br();
|
||||
break;
|
||||
case FullyCan:
|
||||
printf (" %s%s\n", bdgreen(YesMark), purple(locally_msg));br();
|
||||
printf (" %s%s\n", bdgreen(YesMark), purple(scope_msg));br();
|
||||
break;
|
||||
case PartiallyCan:
|
||||
printf (" %s%s\n\n %s\n", bdgreen(HalfYesMark), purple(locally_msg),
|
||||
printf (" %s%s\n\n %s\n", bdgreen(HalfYesMark), purple(scope_msg),
|
||||
target->cap_local_explain ? target->cap_local_explain : "");br();
|
||||
break;
|
||||
default:
|
||||
@@ -744,11 +745,10 @@ main (int argc, char const *argv[])
|
||||
}
|
||||
else if (xy_streql (argv[i], "-local"))
|
||||
{
|
||||
ProgMode.LocalMode = true;
|
||||
ProgMode.Scope = ProjectScope;
|
||||
char *msg = CHINESE ? " -local 选项已弃用,请使用 -scope=project"
|
||||
: " -local is deprecated, please use -scope=project";
|
||||
chsrc_error (msg);
|
||||
return Exit_Unsupported;
|
||||
chsrc_warn (msg);
|
||||
}
|
||||
else if (xy_str_start_with (argv[i], "-scope"))
|
||||
{
|
||||
@@ -766,7 +766,6 @@ main (int argc, char const *argv[])
|
||||
if (xy_streql_ic (scope, "project"))
|
||||
{
|
||||
ProgMode.Scope = ProjectScope;
|
||||
ProgMode.LocalMode = true; /* 迁移过程中,暂时使用原有的 LocalMode 来实现 */
|
||||
}
|
||||
else if (xy_streql_ic (scope, "user"))
|
||||
{
|
||||
|
||||
@@ -46,7 +46,6 @@ struct
|
||||
|
||||
// 用户命令选项
|
||||
bool Ipv6Mode;
|
||||
bool LocalMode;
|
||||
Scope_t Scope;
|
||||
bool EnglishMode;
|
||||
bool DryRunMode;
|
||||
@@ -58,7 +57,6 @@ ProgMode =
|
||||
.ResetMode = false,
|
||||
.TargetGroupMode = false,
|
||||
.Ipv6Mode = false,
|
||||
.LocalMode = false,
|
||||
.Scope = DefaultScope,
|
||||
.EnglishMode = false,
|
||||
.DryRunMode = false,
|
||||
@@ -72,7 +70,6 @@ bool chsrc_in_standalone_mode() {return !ProgMode.TargetGroupMode;}
|
||||
void chsrc_set_target_group_mode(){ProgMode.TargetGroupMode = true;}
|
||||
|
||||
bool chsrc_in_reset_mode(){return ProgMode.ResetMode;}
|
||||
bool chsrc_in_local_mode(){return ProgMode.LocalMode;}
|
||||
bool chsrc_in_default_scope_mode(){return ProgMode.Scope == DefaultScope;}
|
||||
bool chsrc_in_user_scope_mode(){return ProgMode.Scope == UserScope;}
|
||||
bool chsrc_in_project_scope_mode(){return ProgMode.Scope == ProjectScope;}
|
||||
|
||||
@@ -38,7 +38,7 @@ pl_clojure_setsrc (char *option)
|
||||
{
|
||||
chsrc_use_this_source (pl_clojure);
|
||||
|
||||
if (chsrc_in_local_mode())
|
||||
if (chsrc_in_project_scope_mode())
|
||||
{
|
||||
chsrc_note2 ("请在项目根目录中的 project.clj 中手动添加 :mirrors 关键字:");
|
||||
char *config = xy_str_gsub (RAWSTR_pl_clojure_project_clj, "@url@", source.url);
|
||||
|
||||
@@ -51,7 +51,7 @@ pl_js_bun_setsrc (char *option)
|
||||
|
||||
content = xy_str_gsub (content, "@url@", source.url);
|
||||
|
||||
if (chsrc_in_local_mode())
|
||||
if (chsrc_in_project_scope_mode())
|
||||
{
|
||||
chsrc_note2 ("请手动写入以下内容到本项目根目录的 bunfig.toml 文件中");
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ pl_js_yarn_setsrc (char *option)
|
||||
// 从 Yarn V2 开始,使用新的配置名
|
||||
if (pl_js_yarn_get_yarn_version () >= 2)
|
||||
{
|
||||
if (chsrc_in_local_mode()) // Yarn 默认情况下就是基于本项目换源
|
||||
if (chsrc_in_project_scope_mode()) // Yarn 默认情况下就是基于本项目换源
|
||||
cmd = xy_2strcat ("yarn config set npmRegistryServer ", source.url);
|
||||
else
|
||||
cmd = xy_2strcat ("yarn config set npmRegistryServer --home ", source.url);
|
||||
@@ -71,7 +71,7 @@ pl_js_yarn_setsrc (char *option)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (chsrc_in_local_mode())
|
||||
if (chsrc_in_project_scope_mode())
|
||||
{
|
||||
char *msg = ENGLISH ? "Yarn v1 doesn't support `-local`. SKIP changing source!" : "Yarn v1 不支持 -local,跳过换源";
|
||||
chsrc_error (msg);
|
||||
|
||||
@@ -44,7 +44,7 @@ pl_js_npm_setsrc (char *option)
|
||||
|
||||
char *cmd = NULL;
|
||||
|
||||
if (chsrc_in_local_mode())
|
||||
if (chsrc_in_project_scope_mode())
|
||||
cmd = xy_2strcat ("npm config --location project set registry ", source.url);
|
||||
else
|
||||
cmd = xy_2strcat ("npm config set registry ", source.url);
|
||||
|
||||
@@ -45,7 +45,7 @@ pl_js_pnpm_setsrc (char *option)
|
||||
|
||||
char *cmd = NULL;
|
||||
|
||||
if (chsrc_in_local_mode())
|
||||
if (chsrc_in_project_scope_mode())
|
||||
cmd = xy_2strcat ("pnpm config --location project set registry ", source.url);
|
||||
else
|
||||
cmd = xy_2strcat ("pnpm config -g set registry ", source.url);
|
||||
|
||||
@@ -58,7 +58,7 @@ pl_php_setsrc (char *option)
|
||||
chsrc_use_this_source (pl_php);
|
||||
|
||||
char *where = " -g ";
|
||||
if (chsrc_in_local_mode())
|
||||
if (chsrc_in_project_scope_mode())
|
||||
{
|
||||
where = " ";
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ pl_python_pdm_setsrc (char *option)
|
||||
|
||||
char *cmd = NULL;
|
||||
|
||||
if (chsrc_in_local_mode())
|
||||
if (chsrc_in_project_scope_mode())
|
||||
cmd = xy_2strcat ("pdm config --local pypi.url ", source.url);
|
||||
else
|
||||
cmd = xy_2strcat ("pdm config --global pypi.url ", source.url);
|
||||
|
||||
@@ -43,7 +43,7 @@ pl_python_poetry_setsrc (char *option)
|
||||
|
||||
char *cmd = NULL;
|
||||
|
||||
if (!chsrc_in_local_mode())
|
||||
if (!chsrc_in_project_scope_mode())
|
||||
chsrc_alert2 ("Poetry 仅支持项目级换源");
|
||||
|
||||
cmd = xy_2strcat ("poetry source add my_mirror ", source.url);
|
||||
|
||||
@@ -60,7 +60,7 @@ void
|
||||
pl_python_pip_setsrc (char *option)
|
||||
{
|
||||
// 对于不支持的情况,尽早结束
|
||||
if (chsrc_in_local_mode())
|
||||
if (chsrc_in_project_scope_mode())
|
||||
{
|
||||
char *msg = ENGLISH ? "pip doesn't support `-local`. SKIP changing source!" : "pip 不支持 -local,跳过换源";
|
||||
chsrc_error (msg);
|
||||
|
||||
@@ -43,7 +43,7 @@ pl_python_uv_prelude (void)
|
||||
char *
|
||||
pl_python_find_uv_config (bool mkdir)
|
||||
{
|
||||
if (chsrc_in_local_mode())
|
||||
if (chsrc_in_project_scope_mode())
|
||||
{
|
||||
return xy_2strcat (PL_Python_uv_Local_ConfigPath, PL_Python_uv_ConfigFile);
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ pl_ruby_setsrc (char *option)
|
||||
chsrc_ensure_program ("bundle");
|
||||
|
||||
char *where = " --global ";
|
||||
if (chsrc_in_local_mode())
|
||||
if (chsrc_in_project_scope_mode())
|
||||
{
|
||||
where = " --local ";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user