From 5eb6e0983293461577885ef9a499be92cedb4562 Mon Sep 17 00:00:00 2001 From: Aoran Zeng Date: Sun, 22 Feb 2026 20:56:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8D=A2=E6=BA=90=E4=BD=9C?= =?UTF-8?q?=E7=94=A8=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/framework/core.c | 9 ++++++++- src/framework/struct.h | 14 +++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/framework/core.c b/src/framework/core.c index 023f01c..c81f2dd 100644 --- a/src/framework/core.c +++ b/src/framework/core.c @@ -11,7 +11,7 @@ * | @Mikachu2333 * | * Created On : <2023-08-29> - * Last Modified : <2025-12-29> + * Last Modified : <2026-02-22> * * chsrc framework * ------------------------------------------------------------*/ @@ -47,6 +47,7 @@ struct // 用户命令选项 bool Ipv6Mode; bool LocalMode; + Scope_t Scope; bool EnglishMode; bool DryRunMode; bool NoColorMode; @@ -58,6 +59,7 @@ ProgMode = .TargetGroupMode = false, .Ipv6Mode = false, .LocalMode = false, + .Scope = DefaultScope, .EnglishMode = false, .DryRunMode = false, .NoColorMode = false @@ -71,6 +73,11 @@ 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;} +bool chsrc_in_system_scope_mode(){return ProgMode.Scope == SystemScope;} + bool chsrc_in_english_mode(){return ProgMode.EnglishMode;} bool chsrc_in_no_color_mode(){return ProgMode.NoColorMode;} diff --git a/src/framework/struct.h b/src/framework/struct.h index b259af3..ecaf267 100644 --- a/src/framework/struct.h +++ b/src/framework/struct.h @@ -7,7 +7,7 @@ * Contributors : @livelycode36 * | * Created On : <2023-08-29> - * Last Modified : <2026-01-21> + * Last Modified : <2026-02-22> * * chsrc struct * ------------------------------------------------------------*/ @@ -95,6 +95,18 @@ Source_t; #define FeedByPrelude NULL + +/* 换源的作用域 */ +typedef enum Scope_t +{ + DefaultScope, /* 默认作用域,即根据实际情况最佳的作用域 */ + SystemScope, + UserScope, + ProjectScope +} +Scope_t; + + typedef enum Capability_t { CanNot,