mirror of
https://github.com/RubyMetric/chsrc
synced 2026-02-27 09:31:29 +08:00
ls 输出 scope 信息
This commit is contained in:
@@ -303,25 +303,69 @@ cli_print_target_features (Target_t *target, const char *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);
|
||||
char *scope_msg = NULL;
|
||||
|
||||
switch (target->cap_local)
|
||||
for (int i=0; i<NumberOfScopeType; i++)
|
||||
{
|
||||
case CanNot:
|
||||
printf (" %s%s\n", bdred(NoMark), scope_msg);br();
|
||||
break;
|
||||
case FullyCan:
|
||||
printf (" %s%s\n", bdgreen(YesMark), purple(scope_msg));br();
|
||||
break;
|
||||
case PartiallyCan:
|
||||
printf (" %s%s\n\n %s\n", bdgreen(HalfYesMark), purple(scope_msg),
|
||||
target->cap_local_explain ? target->cap_local_explain : "");br();
|
||||
break;
|
||||
default:
|
||||
xy_unreached();
|
||||
ScopeCapability_t cap = target->scope_caps[i];
|
||||
char *scope_name;
|
||||
if (i == 0)
|
||||
{
|
||||
scope_name = CHINESE ? " 项目级换源" : " project scope";
|
||||
scope_msg = xy_strcat (3, scope_name, " | chsrc set -scope=project ", input_target_name);
|
||||
}
|
||||
else if (i == 1)
|
||||
{
|
||||
scope_name = CHINESE ? " 用户级换源" : " user scope";
|
||||
scope_msg = xy_strcat (3, scope_name, " | chsrc set -scope=user ", input_target_name);
|
||||
}
|
||||
else if (i == 2)
|
||||
{
|
||||
scope_name = CHINESE ? " 系统级换源" : " system scope";
|
||||
scope_msg = xy_strcat (3, scope_name, " | chsrc set -scope=system ", input_target_name);
|
||||
}
|
||||
else
|
||||
{
|
||||
xy_unreached();
|
||||
}
|
||||
|
||||
switch (cap)
|
||||
{
|
||||
case ScopeCap_Unknown:
|
||||
printf (" %s%s (%s)\n", bdred(NoMark), purple(scope_msg), "是否支持该作用域尚不了解,欢迎贡献");
|
||||
break;
|
||||
case ScopeCap_Unable:
|
||||
printf (" %s%s (%s)\n", bdred(NoMark), purple(scope_msg), "不支持的作用域");
|
||||
break;
|
||||
case ScopeCap_Able_But_Not_Implemented:
|
||||
printf (" %s%s (%s)\n", bdyellow(HalfYesMark), purple(scope_msg), "支持但未实现");
|
||||
break;
|
||||
case ScopeCap_Able_And_Implemented:
|
||||
printf (" %s%s (%s)\n", bdgreen(YesMark), purple(scope_msg), "支持且已实现");
|
||||
break;
|
||||
default:
|
||||
xy_unreached();
|
||||
}
|
||||
}
|
||||
Scope_t default_scope = target->default_scope;
|
||||
char *default_scope_name = NULL;
|
||||
switch (default_scope)
|
||||
{
|
||||
case ProjectScope:
|
||||
default_scope_name = CHINESE ? "项目级" : "Project Scope";
|
||||
break;
|
||||
case UserScope:
|
||||
default_scope_name = CHINESE ? "用户级" : "User Scope";
|
||||
break;
|
||||
case SystemScope:
|
||||
default_scope_name = CHINESE ? "系统级" : "System Scope";
|
||||
break;
|
||||
default:
|
||||
xy_unreached();
|
||||
}
|
||||
print (bdblue (" = "));
|
||||
printf ("默认作用域 | chsrc set -scope=default %s (= %s)\n", input_target_name, default_scope_name);
|
||||
br();
|
||||
}
|
||||
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Contributors : @livelycode36
|
||||
* |
|
||||
* Created On : <2023-08-29>
|
||||
* Last Modified : <2026-02-22>
|
||||
* Last Modified : <2026-02-24>
|
||||
*
|
||||
* chsrc struct
|
||||
* ------------------------------------------------------------*/
|
||||
@@ -107,12 +107,14 @@ typedef enum Scope_t
|
||||
}
|
||||
Scope_t;
|
||||
|
||||
#define NumberOfScopeType 3
|
||||
|
||||
typedef enum ScopeCapability_t
|
||||
{
|
||||
ScopeCap_Unknown, /* 未知,缺乏对该 target 的细致了解 */
|
||||
ScopeCap_Unable, /* 不支持该作用域 */
|
||||
ScopeCap_Able_But_NotImplemented, /* 支持但chsrc尚未实现 */
|
||||
ScopeCap_Able_And_Implemented /* 支持且chsrc已经实现 */
|
||||
ScopeCap_Unknown, /* 未知,缺乏对该 target 的细致了解 */
|
||||
ScopeCap_Unable, /* 不支持该作用域 */
|
||||
ScopeCap_Able_But_Not_Implemented, /* 支持但chsrc尚未实现 */
|
||||
ScopeCap_Able_And_Implemented /* 支持且chsrc已经实现 */
|
||||
}
|
||||
ScopeCapability_t;
|
||||
|
||||
@@ -162,8 +164,14 @@ typedef struct Target_t
|
||||
Capability_t cap_local; /* 是否支持 local mode */
|
||||
char *cap_local_explain; /* local mode 的说明 */
|
||||
|
||||
Scope_t default_scope; /* 默认作用域 */
|
||||
ScopeCapability_t scope_caps[3]; /* 各作用域的支持情况 */
|
||||
/**
|
||||
* 各作用域的支持情况
|
||||
* 0: project scope
|
||||
* 1: user scope
|
||||
* 2: system scope
|
||||
*/
|
||||
ScopeCapability_t scope_caps[NumberOfScopeType];
|
||||
Scope_t default_scope; /* 默认作用域 */
|
||||
|
||||
char *note; /* 备注 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user