emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/elisa 2cafe8ae2c 19/98: Merge pull request #4 from s-ko


From: ELPA Syncer
Subject: [elpa] externals/elisa 2cafe8ae2c 19/98: Merge pull request #4 from s-kostyaev/fix-elpaca-installation
Date: Wed, 17 Jul 2024 18:58:00 -0400 (EDT)

branch: externals/elisa
commit 2cafe8ae2c4713195d6959a7aebfa8439a5dec77
Merge: ba1633ba07 dac7f7e184
Author: Sergey Kostyaev <s-kostyaev@users.noreply.github.com>
Commit: GitHub <noreply@github.com>

    Merge pull request #4 from s-kostyaev/fix-elpaca-installation
    
    Refactor asyncronous parsing
---
 elisa.el | 44 ++++++++++++++++++--------------------------
 1 file changed, 18 insertions(+), 26 deletions(-)

diff --git a/elisa.el b/elisa.el
index 648b60b868..9a405bc89e 100644
--- a/elisa.el
+++ b/elisa.el
@@ -274,50 +274,42 @@
     (elisa--init-db db)
     (setq elisa-db db)))
 
-;;;###autoload
-(defun elisa-async-parse-builtin-manuals ()
-  "Parse builtin manuals asyncronously."
-  (interactive)
-  (message "Begin parsing builtin manuals.")
+(defun elisa--async-do-parse (func)
+  "Parse asyncronously with FUNC."
   (async-start `(lambda ()
                  ,(async-inject-variables "elisa-embeddings-provider")
-                 (package-initialize)
+                 ,(async-inject-variables "elisa-db-directory")
+                 ,(async-inject-variables "elisa-find-executable")
+                 ,(async-inject-variables "elisa-tar-executable")
+                 ,(async-inject-variables "load-path")
                  (require 'elisa)
-                 (elisa-parse-builtin-manuals))
+                 (,func))
               (lambda (_)
                 (sqlite-close elisa-db)
                 (elisa--reopen-db)
-                (message "Builtin manuals parsing done."))))
+                (message "%s done."
+                         func))))
+
+;;;###autoload
+(defun elisa-async-parse-builtin-manuals ()
+  "Parse builtin manuals asyncronously."
+  (interactive)
+  (message "Begin parsing builtin manuals.")
+  (elisa--async-do-parse 'elisa-parse-builtin-manuals))
 
 ;;;###autoload
 (defun elisa-async-parse-external-manuals ()
   "Parse external manuals asyncronously."
   (interactive)
   (message "Begin parsing external manuals.")
-  (async-start `(lambda ()
-                 ,(async-inject-variables "elisa-embeddings-provider")
-                 (package-initialize)
-                 (require 'elisa)
-                 (elisa-parse-external-manuals))
-              (lambda (_)
-                (sqlite-close elisa-db)
-                (elisa--reopen-db)
-                (message "External manuals parsing done."))))
+  (elisa--async-do-parse 'elisa-parse-external-manuals))
 
 ;;;###autoload
 (defun elisa-async-parse-all-manuals ()
   "Parse all manuals asyncronously."
   (interactive)
   (message "Begin parsing manuals.")
-  (async-start `(lambda ()
-                 ,(async-inject-variables "elisa-embeddings-provider")
-                 (package-initialize)
-                 (require 'elisa)
-                 (elisa-parse-all-manuals))
-              (lambda (_)
-                (sqlite-close elisa-db)
-                (elisa--reopen-db)
-                (message "Manuals parsing done."))))
+  (elisa--async-do-parse 'elisa-parse-all-manuals))
 
 ;;;###autoload
 (defun elisa-chat (prompt)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]