mirror of
https://github.com/khoj-ai/khoj.git
synced 2025-02-17 08:04:21 +00:00
Extract select conversation session logic into func for reusability
This commit is contained in:
parent
e15dc23bbe
commit
e3d995a74f
1 changed files with 10 additions and 5 deletions
|
@ -858,17 +858,22 @@ CBARGS are optional additional arguments to pass to CALLBACK."
|
|||
"GET"
|
||||
(when session-id `(("conversation_id" ,session-id)))))
|
||||
|
||||
(defun khoj--open-conversation-session ()
|
||||
"Menu to select Khoj conversation session to open."
|
||||
(let* ((sessions (khoj--get-chat-sessions))
|
||||
(defun khoj--select-conversation-session (&optional completion-action)
|
||||
"Select Khoj conversation session to perform COMPLETION-ACTION on."
|
||||
(let* ((completion-text (format "%s Conversation:" (or completion-action "Open")))
|
||||
(sessions (khoj--get-chat-sessions))
|
||||
(session-alist (-map (lambda (session)
|
||||
(cons (if (not (equal :null (cdr (assoc 'slug session))))
|
||||
(cdr (assoc 'slug session))
|
||||
(format "New Conversation (%s)" (cdr (assoc 'conversation_id session))))
|
||||
(cdr (assoc 'conversation_id session))))
|
||||
sessions))
|
||||
(selected-session-slug (completing-read "Open Conversation: " session-alist nil t))
|
||||
(selected-session-id (cdr (assoc selected-session-slug session-alist))))
|
||||
(selected-session-slug (completing-read completion-text session-alist nil t)))
|
||||
(cdr (assoc selected-session-slug session-alist))))
|
||||
|
||||
(defun khoj--open-conversation-session ()
|
||||
"Menu to select Khoj conversation session to open."
|
||||
(let ((selected-session-id (khoj--select-conversation-session "Open")))
|
||||
(khoj--load-chat-session khoj--chat-buffer-name selected-session-id)
|
||||
(khoj--open-side-pane khoj--chat-buffer-name)))
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue