From 38e5f7df2ec4b9a7a51977f7ddd9a0b164fa8fa2 Mon Sep 17 00:00:00 2001 From: Aoran Zeng Date: Sun, 10 Aug 2025 23:09:25 +0800 Subject: [PATCH] Add wr aliases --- src/chsrc-main.c | 14 +++++++------- src/framework/core.c | 8 -------- src/recipe/lang/JavaScript/common.h | 2 +- src/recipe/menu.c | 20 ++++++++++---------- src/recipe/ware/Anaconda/Anaconda.c | 2 +- src/recipe/ware/CocoaPods.c | 2 +- src/recipe/ware/Docker/Docker.c | 2 +- src/recipe/ware/Emacs.c | 2 +- src/recipe/ware/Flatpak.c | 2 +- src/recipe/ware/Guix.c | 2 +- src/recipe/ware/Homebrew/Homebrew.c | 2 +- src/recipe/ware/Nix.c | 2 +- src/recipe/ware/TeX-Live.c | 2 +- src/recipe/ware/WinGet.c | 2 +- 14 files changed, 28 insertions(+), 36 deletions(-) diff --git a/src/chsrc-main.c b/src/chsrc-main.c index 15cd8c3..22c2a18 100644 --- a/src/chsrc-main.c +++ b/src/chsrc-main.c @@ -136,8 +136,8 @@ #include "recipe/ware/CocoaPods.c" #include "recipe/ware/Nix.c" #include "recipe/ware/Guix.c" -#include "recipe/ware/Flathub.c" -#include "recipe/ware/Docker-Hub/Docker-Hub.c" +#include "recipe/ware/Flatpak.c" +#include "recipe/ware/Docker/Docker.c" #include "recipe/ware/Anaconda/Anaconda.c" @@ -178,7 +178,7 @@ cli_print_available_mirrors () /** - * 遍历以空格分隔的别名字符串,对每个别名调用回调函数 + * 遍历以 / 为分隔符的别名字符串,对每个别名调用回调函数 * * @param aliases 空格分隔的 alias 字符串 * @param callback 对每个 alias 调用的回调函数 @@ -196,7 +196,7 @@ iterate_aliases (const char *aliases, bool (*callback)(const char *alias, void * while (*tok_start != '\0') { cursor = tok_start; - while (*cursor != ' ' && *cursor != '\0') cursor++; + while (*cursor != '/' && *cursor != '\0') cursor++; // 结束当前token char space_or_eos = *cursor; @@ -229,14 +229,14 @@ print_alias_callback (const char *alias, void *user_data) } void -cli_print_supported_targets_ (TargetRegisterInfo_t registry[], size_t size) +cli_print_supported_targets_ (TargetRegisterInfo_t menu[], size_t size) { for (int i = 0; i < size; i++) { - TargetRegisterInfo_t *entry = ®istry[i]; + TargetRegisterInfo_t *entry = &menu[i]; // 使用通用的别名遍历函数打印所有别名 - iterate_aliases (entry->aliases, print_alias_callback, NULL); + iterate_aliases (entry->target->aliases, print_alias_callback, NULL); br(); // 每个target换行 } diff --git a/src/framework/core.c b/src/framework/core.c index f5fb266..2158086 100644 --- a/src/framework/core.c +++ b/src/framework/core.c @@ -935,14 +935,6 @@ auto_select_mirror (Source_t *sources, size_t size, const char *target_name) } -/** - * 从 menu 中反向找到该 target 的 alias - */ -char *get_first_alias_of_target (Target_t *t) -{ - -} - int use_specific_mirror_or_auto_select (char *input, Target_t *t) diff --git a/src/recipe/lang/JavaScript/common.h b/src/recipe/lang/JavaScript/common.h index b5b2d1b..38a1ad0 100644 --- a/src/recipe/lang/JavaScript/common.h +++ b/src/recipe/lang/JavaScript/common.h @@ -45,7 +45,7 @@ pl_js_group_prelude (void) -def_target(pl_js_nodejs_binary); +def_target(pl_js_nodejs_binary, "__internal_use_nodejs_binary__"); void pl_js_nodejs_binary_prelude (void) diff --git a/src/recipe/menu.c b/src/recipe/menu.c index 741e8a8..d96250c 100644 --- a/src/recipe/menu.c +++ b/src/recipe/menu.c @@ -85,16 +85,16 @@ chsrc_os_menu[] = TargetRegisterInfo_t chsrc_wr_menu[] = { - {t(wr_winget), "winget"}, - {t(wr_homebrew), "brew homebrew"}, - {t(wr_cocoapods), "cocoa cocoapods cocoapod"}, - {t(wr_docker), "docker dockerhub"}, - {t(wr_flatpak), "flatpak flathub"}, - {t(wr_nix), "nix"}, - {t(wr_guix), "guix"}, - {t(wr_emacs), "emacs elpa"}, - {t(wr_tex), "latex ctan tex texlive miktex tlmgr mpm"}, - {t(wr_anaconda), "conda anaconda"}, + {t(wr_winget)}, + {t(wr_homebrew)}, + {t(wr_cocoapods)}, + {t(wr_docker)}, + {t(wr_flatpak)}, + {t(wr_nix)}, + {t(wr_guix)}, + {t(wr_emacs)}, + {t(wr_tex)}, + {t(wr_anaconda)}, }; #undef t diff --git a/src/recipe/ware/Anaconda/Anaconda.c b/src/recipe/ware/Anaconda/Anaconda.c index 58c8d55..e02c9e1 100644 --- a/src/recipe/ware/Anaconda/Anaconda.c +++ b/src/recipe/ware/Anaconda/Anaconda.c @@ -4,7 +4,7 @@ #include "rawstr4c.h" -def_target(wr_anaconda); +def_target(wr_anaconda, "conda/anaconda"); void wr_anaconda_prelude () diff --git a/src/recipe/ware/CocoaPods.c b/src/recipe/ware/CocoaPods.c index 66e5a0f..c5bda40 100644 --- a/src/recipe/ware/CocoaPods.c +++ b/src/recipe/ware/CocoaPods.c @@ -2,7 +2,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later * ------------------------------------------------------------*/ -def_target(wr_cocoapods); +def_target(wr_cocoapods, "cocoa/cocoapods/cocoapod"); void wr_cocoapods_prelude () diff --git a/src/recipe/ware/Docker/Docker.c b/src/recipe/ware/Docker/Docker.c index bb7d58c..44ce5c3 100644 --- a/src/recipe/ware/Docker/Docker.c +++ b/src/recipe/ware/Docker/Docker.c @@ -19,7 +19,7 @@ Fit2Cloud = {SKIP, ToFill, ToFill, NULL, ROUGH} }; -def_target(wr_docker); +def_target(wr_docker, "docker/dockerhub"); void wr_docker_prelude () diff --git a/src/recipe/ware/Emacs.c b/src/recipe/ware/Emacs.c index ef0ee84..11f1936 100644 --- a/src/recipe/ware/Emacs.c +++ b/src/recipe/ware/Emacs.c @@ -9,7 +9,7 @@ static MirrorSite_t EmacsChina = {SKIP, ToFill, ToFill, NULL, ROUGH} }; -def_target(wr_emacs); +def_target(wr_emacs, "emacs/elpa"); void wr_emacs_prelude () diff --git a/src/recipe/ware/Flatpak.c b/src/recipe/ware/Flatpak.c index 2c2bc29..76f1164 100644 --- a/src/recipe/ware/Flatpak.c +++ b/src/recipe/ware/Flatpak.c @@ -2,7 +2,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later * ------------------------------------------------------------*/ -def_target(wr_flatpak); +def_target(wr_flatpak, "flatpak/flathub"); void wr_flatpak_prelude () diff --git a/src/recipe/ware/Guix.c b/src/recipe/ware/Guix.c index a54b293..de8864c 100644 --- a/src/recipe/ware/Guix.c +++ b/src/recipe/ware/Guix.c @@ -2,7 +2,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later * ------------------------------------------------------------*/ -def_target(wr_guix); +def_target(wr_guix, "guix"); void wr_guix_prelude () diff --git a/src/recipe/ware/Homebrew/Homebrew.c b/src/recipe/ware/Homebrew/Homebrew.c index 99b6197..a47520a 100644 --- a/src/recipe/ware/Homebrew/Homebrew.c +++ b/src/recipe/ware/Homebrew/Homebrew.c @@ -4,7 +4,7 @@ #include "rawstr4c.h" -def_target(wr_homebrew); +def_target(wr_homebrew, "brew/homebrew"); void wr_homebrew_prelude () diff --git a/src/recipe/ware/Nix.c b/src/recipe/ware/Nix.c index 9b483aa..a16ea97 100644 --- a/src/recipe/ware/Nix.c +++ b/src/recipe/ware/Nix.c @@ -2,7 +2,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later * ------------------------------------------------------------*/ -def_target(wr_nix); +def_target(wr_nix, "nix"); void wr_nix_prelude () diff --git a/src/recipe/ware/TeX-Live.c b/src/recipe/ware/TeX-Live.c index 453af56..57e432e 100644 --- a/src/recipe/ware/TeX-Live.c +++ b/src/recipe/ware/TeX-Live.c @@ -4,7 +4,7 @@ * MiKTeX 和 TeX Live 都是流行的 LaTeX 发行版,但它们是不同的实现 * ------------------------------------------------------------*/ -def_target(wr_tex); +def_target(wr_tex, "latex/ctan/tex/texlive/miktex/tlmgr/mpm"); void wr_tex_prelude () diff --git a/src/recipe/ware/WinGet.c b/src/recipe/ware/WinGet.c index bd8df16..0f91c30 100644 --- a/src/recipe/ware/WinGet.c +++ b/src/recipe/ware/WinGet.c @@ -2,7 +2,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later * ------------------------------------------------------------*/ -def_target(wr_winget); +def_target(wr_winget, "winget"); void wr_winget_prelude ()