File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 6969
7070(tm-menu (supported-executable-menu)
7171 (for (name (session-list))
72- (with menu-name (session-name name)
73- ((eval menu-name)
74- (make-script-input* name " default" )))))
72+ (let* ((menu-name (session-name name))
73+ (l (connection-variants name)))
74+ (assuming (== l (list " default" ))
75+ ((eval menu-name) (make-script-input* name " default" )))
76+ (assuming (!= l (list " default" ))
77+ (-> (eval menu-name)
78+ (for (variant l)
79+ ((eval `(verbatim ,variant)) (make-script-input* name variant))))))))
7580
7681(menu-bind insert-fold-menu
7782 (-> " Folded"
Original file line number Diff line number Diff line change 1+ # [ 0608] 修复可折叠 Python 块无法选择 Conda 环境的问题
2+
3+ ## 1 相关文档
4+ - [ dddd.md] ( dddd.md ) - 任务文档模板
5+
6+ ## 2 任务相关的代码文件
7+ - ` TeXmacs/progs/dynamic/fold-menu.scm `
8+
9+ ## 3 如何测试
10+
11+ ### 3.1 确定性测试(单元测试)
12+ ```
13+ # Scheme 单元测试不适用,需要手动验证菜单行为
14+ ```
15+
16+ ### 3.2 非确定性测试(文档验证)
17+ 1 . 启动 Mogan STEM
18+ 2 . 打开 Insert > Fold > Executable 菜单
19+ 3 . 确认 Python 项现在显示子菜单箭头(当有多个 conda 环境时)
20+ 4 . 悬停/点击 Python 项,应能看到 conda 环境列表(如 conda_base、conda_test 等)
21+ 5 . 选择某个 conda 环境后,应能正确插入对应环境的 script-input 块
22+
23+ ## 4 如何提交
24+
25+ 提交前执行以下最少步骤:
26+
27+ ``` bash
28+ # 检查修改的文件
29+ git diff TeXmacs/progs/dynamic/fold-menu.scm
30+ ```
31+
32+ ## 5 What
33+ 修复 Insert > Fold > Executable > Python 菜单无法选择 Conda 环境的问题。
34+
35+ 1 . 修改 ` supported-executable-menu ` ,使其与 ` supported-programs-menu ` 和 ` supported-sessions-menu ` 保持一致,检查 ` connection-variants ` 并在有多个变体时显示子菜单。
36+
37+ ## 6 Why
38+ 在 Mogan STEM 中,Python 插件支持通过 Conda 管理多个 Python 环境(如 conda_base、conda_test 等)。这些环境在 Insert > Session 菜单和 Programs 菜单中都能正确显示为子菜单,但在 Insert > Fold > Executable 菜单中,Python 项直接使用了默认环境,没有提供 Conda 环境选择,导致用户无法在该位置切换 Python 环境。
39+
40+ ## 7 How
41+ ` supported-executable-menu ` 原先的实现直接对每个 session 调用 ` (make-script-input* name "default") ` ,没有检查是否有其他变体。Python 插件通过 ` :launch ` 注册了多个 Conda 环境变体,这些变体存储在 ` connection-variants ` 中。
42+
43+ 修复方案:参考 ` supported-programs-menu ` 的实现,使用 ` connection-variants ` 获取变体列表。当只有一个 "default" 变体时,保持原有行为直接创建菜单项;当有多个变体时,使用 ` -> ` 创建带箭头的子菜单,让用户可以选择具体的 Conda 环境。
You can’t perform that action at this time.
0 commit comments