Skip to content

Commit 4b11ee3

Browse files
committed
重写 menu.c
1 parent 83e8084 commit 4b11ee3

File tree

1 file changed

+81
-90
lines changed

1 file changed

+81
-90
lines changed

src/recipe/menu.c

Lines changed: 81 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
* Contributors : Mikachu2333 <[email protected]>
66
* |
77
* Created On : <2023-09-01>
8-
* Major Revision : 4
9-
* Last Modified : <2025-08-20>
8+
* Major Revision : 5
9+
* Last Modified : <2025-08-22>
1010
* ------------------------------------------------------------*/
1111

1212
#include "lang/rawstr4c.h"
@@ -104,95 +104,86 @@
104104
#include "ware/Anaconda/Anaconda.c"
105105

106106

107-
108-
#define t(o) &o##_target, &o##_prelude
109-
110-
TargetRegisterInfo_t
111-
chsrc_pl_menu[] =
112-
{
113-
{t(pl_ruby)},
114-
{t(pl_python_group)},
115-
{t(pl_python_pip)},
116-
{t(pl_python_poetry)},
117-
{t(pl_python_pdm)},
118-
{t(pl_python_rye)},
119-
{t(pl_python_uv)},
120-
{t(pl_js_group)},
121-
{t(pl_js_bun)},
122-
{t(pl_js_npm)},
123-
{t(pl_js_yarn)},
124-
{t(pl_js_pnpm)},
125-
{t(pl_js_nvm)},
126-
{t(pl_perl)},
127-
{t(pl_php)},
128-
{t(pl_lua)},
129-
{t(pl_go)},
130-
{t(pl_rust_cargo)},
131-
{t(pl_rust_rustup)},
132-
{t(pl_java)},
133-
{t(pl_clojure)},
134-
{t(pl_dart)},
135-
{t(pl_dart_flutter)},
136-
{t(pl_nuget)},
137-
{t(pl_haskell)},
138-
{t(pl_ocaml)},
139-
{t(pl_r)},
140-
{t(pl_julia)},
141-
};
142-
143-
144-
145-
TargetRegisterInfo_t
146-
chsrc_os_menu[] =
147-
{
148-
{t(os_ubuntu)},
149-
{t(os_linuxmint)},
150-
{t(os_debian)},
151-
{t(os_fedora)},
152-
{t(os_opensuse)},
153-
{t(os_kali)},
154-
{t(os_msys2)},
155-
{t(os_arch)},
156-
{t(os_archlinuxcn)},
157-
{t(os_manjaro)},
158-
{t(os_gentoo)},
159-
{t(os_rockylinux)},
160-
{t(os_almalinux)},
161-
{t(os_alpine)},
162-
{t(os_voidlinux)},
163-
{t(os_solus)},
164-
{t(os_trisquel)},
165-
{t(os_linuxlite)},
166-
{t(os_ros)},
167-
{t(os_raspberrypi)},
168-
{t(os_armbian)},
169-
{t(os_openwrt)},
170-
{t(os_termux)},
171-
{t(os_openkylin)},
172-
{t(os_openeuler)},
173-
{t(os_anolis)},
174-
{t(os_deepin)},
175-
{t(os_freebsd)},
176-
{t(os_netbsd)},
177-
{t(os_openbsd)},
178-
};
179-
180-
181-
TargetRegisterInfo_t
182-
chsrc_wr_menu[] =
107+
void
108+
chsrc_init_menu ()
183109
{
184-
{t(wr_winget)},
185-
{t(wr_homebrew)},
186-
{t(wr_cocoapods)},
187-
{t(wr_docker)},
188-
{t(wr_flatpak)},
189-
{t(wr_nix)},
190-
{t(wr_guix)},
191-
{t(wr_emacs)},
192-
{t(wr_tex)},
193-
{t(wr_anaconda)},
194-
};
195-
#undef t
110+
#define add(t) xy_seq_push(ProgStore.pl, &pl_##t##_target); (&pl_##t##_target)->preludefn = pl_##t##_prelude
111+
add (ruby);
112+
add (python_group);
113+
add (python_pip);
114+
add (python_poetry);
115+
add (python_pdm);
116+
add (python_rye);
117+
add (python_uv);
118+
add (js_group);
119+
add (js_bun);
120+
add (js_npm);
121+
add (js_yarn);
122+
add (js_pnpm);
123+
add (js_nvm);
124+
add (perl);
125+
add (php);
126+
add (lua);
127+
add (go);
128+
add (rust_cargo);
129+
add (rust_rustup);
130+
add (java);
131+
add (clojure);
132+
add (dart);
133+
add (dart_flutter);
134+
add (nuget);
135+
add (haskell);
136+
add (ocaml);
137+
add (r);
138+
add (julia);
139+
#undef add
140+
141+
#define add(t) xy_seq_push(ProgStore.os, &os_##t##_target); (&os_##t##_target)->preludefn = os_##t##_prelude
142+
add (ubuntu);
143+
add (linuxmint);
144+
add (debian);
145+
add (fedora);
146+
add (opensuse);
147+
add (kali);
148+
add (msys2);
149+
add (arch);
150+
add (archlinuxcn);
151+
add (manjaro);
152+
add (gentoo);
153+
add (rockylinux);
154+
add (almalinux);
155+
add (alpine);
156+
add (voidlinux);
157+
add (solus);
158+
add (trisquel);
159+
add (linuxlite);
160+
add (ros);
161+
add (raspberrypi);
162+
add (armbian);
163+
add (openwrt);
164+
add (termux);
165+
add (openkylin);
166+
add (openeuler);
167+
add (anolis);
168+
add (deepin);
169+
add (freebsd);
170+
add (netbsd);
171+
add (openbsd);
172+
#undef add
173+
174+
#define add(t) xy_seq_push(ProgStore.wr, &wr_##t##_target); (&wr_##t##_target)->preludefn = wr_##t##_prelude
175+
add (winget);
176+
add (homebrew);
177+
add (cocoapods);
178+
add (docker);
179+
add (flatpak);
180+
add (nix);
181+
add (guix);
182+
add (emacs);
183+
add (tex);
184+
add (anaconda);
185+
#undef add
186+
}
196187

197188

198189

0 commit comments

Comments
 (0)