branch: externals/ellama commit 49e08205a6b8409fd7209288eb7a26900b0a985a Author: Sergey Kostyaev <sskosty...@gmail.com> Commit: Sergey Kostyaev <sskosty...@gmail.com>
Organize session options and ephemeral sessions in transient menus Reorganized the "Session Options" and "Ephemeral Sessions" sections to be more consistent across different transient menus. This change ensures a better user experience by grouping related commands together. Specifically: - Moved "Session Options" and "Ephemeral Sessions" sections to the top of each menu (code, ask, main). - Ensured that the session options are conditionally displayed based on `ellama-session-auto-save`. --- ellama-transient.el | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/ellama-transient.el b/ellama-transient.el index 36016fec50..2862ba947a 100644 --- a/ellama-transient.el +++ b/ellama-transient.el @@ -205,6 +205,12 @@ Otherwise, prompt the user to enter a system message." ;;;###autoload (autoload 'ellama-transient-code-menu "ellama-transient" nil t) (transient-define-prefix ellama-transient-code-menu () "Code Commands." + ["Session Options" + :description (lambda () (ellama-session-line)) + ("-n" "Create New Session" "--new-session")] + ["Ephemeral sessions" + :if (lambda () ellama-session-auto-save) + ("-e" "Create Ephemeral Session" "--ephemeral")] [["Code Commands" ("c" "Complete" ellama-code-complete) ("a" "Add" ellama-code-add) @@ -212,10 +218,6 @@ Otherwise, prompt the user to enter a system message." ("i" "Improve" ellama-code-improve) ("r" "Review" ellama-transient-code-review) ("m" "Generate Commit Message" ellama-generate-commit-message)] - ["Session Options" - :description (lambda () (ellama-session-line)) - ("-n" "Create New Session" "--new-session") - ("-e" "Create Ephemeral Session" "--ephemeral")] ["Quit" ("q" "Quit" transient-quit-one)]]) ;;;###autoload (autoload 'ellama-transient-summarize-menu "ellama-transient" nil t) @@ -280,14 +282,16 @@ Otherwise, prompt the user to enter a system message." ;;;###autoload (autoload 'ellama-transient-ask-menu "ellama-transient" nil t) (transient-define-prefix ellama-transient-ask-menu () "Ask Commands." + ["Session Options" + :description (lambda () (ellama-session-line)) + ("-n" "Create New Session" "--new-session")] + ["Ephemeral sessions" + :if (lambda () ellama-session-auto-save) + ("-e" "Create Ephemeral Session" "--ephemeral")] [["Ask Commands" ("l" "Ask Line" ellama-transient-ask-line) ("s" "Ask Selection" ellama-transient-ask-selection) ("a" "Ask About" ellama-transient-ask-about)] - ["Session Options" - :description (lambda () (ellama-session-line)) - ("-n" "Create New Session" "--new-session") - ("-e" "Create Ephemeral Session" "--ephemeral")] ["Quit" ("q" "Quit" transient-quit-one)]]) ;;;###autoload (autoload 'ellama-transient-translate-menu "ellama-transient" nil t) @@ -405,14 +409,16 @@ ARGS used for transient arguments." ;;;###autoload (autoload 'ellama-transient-main-menu "ellama-transient" nil t) (transient-define-prefix ellama-transient-main-menu () "Main Menu." + ["Session Options" + :description (lambda () (ellama-session-line)) + ("-n" "Create New Session" "--new-session")] + ["Ephemeral sessions" + :if (lambda () ellama-session-auto-save) + ("-e" "Create Ephemeral Session" "--ephemeral")] ["Main" [("c" "Chat" ellama-transient-chat) ("b" "Chat with blueprint" ellama-blueprint-select) ("B" "Blueprint Commands" ellama-transient-blueprint-menu)] - ["Session Options" - :description (lambda () (ellama-session-line)) - ("-n" "Create New Session" "--new-session") - ("-e" "Create Ephemeral Session" "--ephemeral")] [("a" "Ask Commands" ellama-transient-ask-menu) ("C" "Code Commands" ellama-transient-code-menu)]] ["Text"