mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-06 13:22:12 +00:00
Improve Results Rendered on Emacs from Semantic Search on Ledger
- Add search query to top of buffer as Beancount comment - Remove trailing ) from response - Separate entries by empty line - Load beancount-mode in semantic search on ledger buffer
This commit is contained in:
@@ -69,16 +69,20 @@
|
|||||||
(lambda (args) (format "\n** \n [[%s]]" (cdr (assoc 'Entry args))))
|
(lambda (args) (format "\n** \n [[%s]]" (cdr (assoc 'Entry args))))
|
||||||
json-response))))
|
json-response))))
|
||||||
|
|
||||||
(defun semantic-search--extract-entries-as-ledger (json-response)
|
(defun semantic-search--extract-entries-as-ledger (json-response query)
|
||||||
"Convert json response from API to ledger entries"
|
"Convert json response from API to ledger entries"
|
||||||
;; remove leading (, ) or SPC from extracted entries string
|
;; remove leading (, ) or SPC from extracted entries string
|
||||||
(replace-regexp-in-string
|
(replace-regexp-in-string
|
||||||
"^[\(\) ]" ""
|
"[\(\) ]$" ""
|
||||||
;; extract entries from response as single string and convert to entries
|
(replace-regexp-in-string
|
||||||
(format "%s"
|
"^[\(\) ]" ""
|
||||||
(mapcar
|
;; extract entries from response as single string and convert to entries
|
||||||
(lambda (args) (format "* %s" (cdr (assoc 'Entry args))))
|
(format ";; %s\n\n%s\n"
|
||||||
json-response))))
|
query
|
||||||
|
(mapcar
|
||||||
|
(lambda (args)
|
||||||
|
(format "%s\n\n" (cdr (assoc 'Entry args))))
|
||||||
|
json-response)))))
|
||||||
|
|
||||||
(defun semantic-search--buffer-name-to-search-type (buffer-name)
|
(defun semantic-search--buffer-name-to-search-type (buffer-name)
|
||||||
(let ((file-extension (file-name-extension buffer-name)))
|
(let ((file-extension (file-name-extension buffer-name)))
|
||||||
@@ -112,10 +116,11 @@
|
|||||||
(erase-buffer)
|
(erase-buffer)
|
||||||
(insert
|
(insert
|
||||||
(cond ((or (equal search-type "notes") (equal search-type "music")) (semantic-search--extract-entries-as-org json-response query))
|
(cond ((or (equal search-type "notes") (equal search-type "music")) (semantic-search--extract-entries-as-org json-response query))
|
||||||
((equal search-type "ledger") (semantic-search--extract-entries-as-ledger json-response))
|
((equal search-type "ledger") (semantic-search--extract-entries-as-ledger json-response query))
|
||||||
((equal search-type "image") (semantic-search--extract-entries-as-images json-response query))
|
((equal search-type "image") (semantic-search--extract-entries-as-images json-response query))
|
||||||
(t (format "%s" json-response)))))
|
(t (format "%s" json-response)))))
|
||||||
(cond ((equal search-type "notes") (org-mode))
|
(cond ((equal search-type "notes") (org-mode))
|
||||||
|
((equal search-type "ledger") (beancount-mode))
|
||||||
((equal search-type "music") (progn (org-mode)
|
((equal search-type "music") (progn (org-mode)
|
||||||
(org-music-mode)))
|
(org-music-mode)))
|
||||||
((equal search-type "image") (progn (org-mode)
|
((equal search-type "image") (progn (org-mode)
|
||||||
|
|||||||
Reference in New Issue
Block a user