From 2e13e156259d06c2fcb7986b66595a8be0c66ea7 Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Thu, 26 Jan 2023 19:04:46 -0300 Subject: [PATCH] Ensure markdown entries in khoj.el results separated by empty line - Update khoj.el test to reflect updated rendering logic - Move ledger render function before image rendered to group functions with similar logic closer --- src/interface/emacs/khoj.el | 26 ++++++++++++------------- src/interface/emacs/tests/khoj-tests.el | 8 ++++---- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/interface/emacs/khoj.el b/src/interface/emacs/khoj.el index 6db962c8..ed0f880f 100644 --- a/src/interface/emacs/khoj.el +++ b/src/interface/emacs/khoj.el @@ -177,7 +177,7 @@ Use `which-key` if available, else display simple message in echo area" ;; Extract markdown entry from each item in json response (cdr (assoc 'entry json-response-item)) ;; Format markdown entry as a string - (format "%s") + (format "%s\n\n") ;; Standardize results to 2nd level heading for consistent rendering (replace-regexp-in-string "^\#+" "##")))) ;; Render entries into markdown formatted string with query set as as top level heading @@ -204,6 +204,18 @@ Use `which-key` if available, else display simple message in echo area" ;; remove leading (, ) or SPC from extracted entries string (replace-regexp-in-string "^[\(\) ]" "")))) +(defun khoj--extract-entries-as-ledger (json-response query) + "Convert JSON-RESPONSE, QUERY from API to ledger entries." + (thread-last json-response + ;; extract and render entries from API response + (mapcar (lambda (args) (format "%s\n\n" (cdr (assoc 'entry args))))) + ;; Set query as heading in rendered results buffer + (format ";; %s\n\n%s\n" query) + ;; remove leading (, ) or SPC from extracted entries string + (replace-regexp-in-string "^[\(\) ]" "") + ;; remove trailing (, ) or SPC from extracted entries string + (replace-regexp-in-string "[\(\) ]$" ""))) + (defun khoj--extract-entries-as-images (json-response query) "Convert JSON-RESPONSE, QUERY from API to html with images." (let ((image-results-buffer-html-format-str "\n\n

%s

%s\n\n\n") @@ -232,18 +244,6 @@ Use `which-key` if available, else display simple message in echo area" ;; remove trailing (, ) or SPC from extracted entries string (replace-regexp-in-string "[\(\) ]$" "")))) -(defun khoj--extract-entries-as-ledger (json-response query) - "Convert JSON-RESPONSE, QUERY from API to ledger entries." - (thread-last json-response - ;; extract and render entries from API response - (mapcar (lambda (args) (format "%s\n\n" (cdr (assoc 'entry args))))) - ;; Set query as heading in rendered results buffer - (format ";; %s\n\n%s\n" query) - ;; remove leading (, ) or SPC from extracted entries string - (replace-regexp-in-string "^[\(\) ]" "") - ;; remove trailing (, ) or SPC from extracted entries string - (replace-regexp-in-string "[\(\) ]$" ""))) - (defun khoj--buffer-name-to-content-type (buffer-name) "Infer content type based on BUFFER-NAME." (let ((enabled-content-types (khoj--get-enabled-content-types)) diff --git a/src/interface/emacs/tests/khoj-tests.el b/src/interface/emacs/tests/khoj-tests.el index 9325a61c..b780153e 100644 --- a/src/interface/emacs/tests/khoj-tests.el +++ b/src/interface/emacs/tests/khoj-tests.el @@ -44,7 +44,7 @@ (json-read-from-string "[\ {\ - \"entry\": \"## Upgrade\\n\\n Penance to Immortality\\n\",\ + \"entry\": \"## Upgrade\\n\\n Penance to Immortality\",\ \"score\": \"0.376\",\ \"additional\": {\ \"file\": \"/home/ravan/upgrade.md\",\ @@ -52,7 +52,7 @@ }\ },\ {\ - \"entry\": \"## Act\\n\\n Rule everything\\n\",\ + \"entry\": \"## Act\\n\\n Rule everything\",\ \"score\": \"0.153\",\ \"additional\": {\ \"file\": \"/home/ravan/act.md\",\ @@ -67,10 +67,10 @@ # Become God\n\ ## Upgrade\n\ \n\ -Penance to Immortality\n\ +Penance to Immortality\n\n\ ## Act\n\ \n\ -Rule everything\n")))) +Rule everything\n\n")))) (ert-deftest khoj-tests--extract-entries-as-org ()