[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ellama 150e0664e8 08/11: Add rename session
From: |
ELPA Syncer |
Subject: |
[elpa] externals/ellama 150e0664e8 08/11: Add rename session |
Date: |
Thu, 18 Jan 2024 15:57:53 -0500 (EST) |
branch: externals/ellama
commit 150e0664e8ba936f747712104a89707557cff929
Author: Sergey Kostyaev <sskostyaev@gmail.com>
Commit: Sergey Kostyaev <sskostyaev@gmail.com>
Add rename session
---
ellama.el | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/ellama.el b/ellama.el
index 9afb2f3d35..85bf0bde9e 100644
--- a/ellama.el
+++ b/ellama.el
@@ -454,6 +454,39 @@ PROMPT is a variable contains last prompt in this session."
(setq ellama--current-session-id id)
(display-buffer buffer)))
+(defun ellama-session-rename ()
+ "Rename current ellama session."
+ (interactive)
+ (when-let* ((id (if ellama--current-session
+ (ellama-session-id ellama--current-session)
+ ellama--current-session-id))
+ (buffer (ellama-get-session-buffer id))
+ (session (with-current-buffer buffer
+ ellama--current-session))
+ (file-name (buffer-file-name buffer))
+ (file-ext (file-name-extension file-name))
+ (dir (file-name-directory file-name))
+ (session-file-name (ellama--get-session-file-name file-name))
+ (new-id (read-string
+ "New session name: "
+ id))
+ (new-file-name (file-name-concat
+ dir
+ (concat new-id "." file-ext)))
+ (new-session-file-name
+ (ellama--get-session-file-name new-file-name)))
+ (with-current-buffer buffer
+ (set-visited-file-name new-file-name))
+ (when (file-exists-p file-name)
+ (rename-file file-name new-file-name))
+ (when (file-exists-p session-file-name)
+ (rename-file session-file-name new-session-file-name))
+ (setf (ellama-session-id session) new-id)
+ (when (equal ellama--current-session-id id)
+ (setq ellama--current-session-id new-id))
+ (remhash id ellama--active-sessions)
+ (puthash new-id buffer ellama--active-sessions)))
+
(defun ellama-stream (prompt &rest args)
"Query ellama for PROMPT.
ARGS contains keys for fine control.
- [elpa] externals/ellama updated (35a398b63e -> b301ed87f5), ELPA Syncer, 2024/01/18
- [elpa] externals/ellama 839814129c 01/11: Begin session implementation, ELPA Syncer, 2024/01/18
- [elpa] externals/ellama 39b0a6cc92 10/11: Update documentation, ELPA Syncer, 2024/01/18
- [elpa] externals/ellama 150e0664e8 08/11: Add rename session,
ELPA Syncer <=
- [elpa] externals/ellama 38c6d5e4da 03/11: Add save and load session, ELPA Syncer, 2024/01/18
- [elpa] externals/ellama 078ae47dd5 05/11: Add directory selection for load session if needed, ELPA Syncer, 2024/01/18
- [elpa] externals/ellama b301ed87f5 11/11: Merge pull request #49 from s-kostyaev/session-management, ELPA Syncer, 2024/01/18
- [elpa] externals/ellama 6bc04eff78 02/11: Deactivate session on session buffer kill, ELPA Syncer, 2024/01/18
- [elpa] externals/ellama c23a04d287 09/11: Remove unused custom variable ellama-buffer-mode, ELPA Syncer, 2024/01/18
- [elpa] externals/ellama 7f309375d0 07/11: Add switch between active sessions, ELPA Syncer, 2024/01/18
- [elpa] externals/ellama 1a2c428506 06/11: Add session remove, ELPA Syncer, 2024/01/18
- [elpa] externals/ellama c783125b53 04/11: Add provider selection in new session if needed, ELPA Syncer, 2024/01/18