From f783abafa220124817a2782430cb63c9f3511d15 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 7 Jul 2022 02:19:25 +0530 Subject: issue: Parse known keys in list lines even if they are long. We drop the restriction that values in key-value pairs should be 2 words or less. Instead, if the key is a known key such as "keywords:", "tags:" or "status:", we always accept it as a key. * tissue/issue.scm (file-details): Parse known keys in list lines even if they are long. * tests/issue.scm ("Parse keywords even if they are long"): New test. --- tests/issue.scm | 5 +++++ tissue/issue.scm | 11 +---------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/tests/issue.scm b/tests/issue.scm index 74fb6c3..22982db 100644 --- a/tests/issue.scm +++ b/tests/issue.scm @@ -70,4 +70,9 @@ (call-with-input-string "* term: This is a definition of term." (compose hashtable->alist file-details))) +(test-equal "Parse keywords even if they are long" + '((keywords "this is a long keyword")) + (call-with-input-string "* keywords: this is a long keyword" + (compose hashtable->alist file-details))) + (test-end "issue") diff --git a/tissue/issue.scm b/tissue/issue.scm index 905e937..f5becf6 100644 --- a/tissue/issue.scm +++ b/tissue/issue.scm @@ -325,16 +325,7 @@ gemtext file." (hashtable-update! result 'tasks 1+ 0) (unless (string=? (match:substring m 1) " ") (hashtable-update! result 'completed-tasks 1+ 0)))) - ((let ((alist (list-line->alist line))) - (and alist - ;; Every value string is 2 - ;; words or less. - (every (match-lambda - ((_ . values) - (every (cut <=n-words? <> 2) - values))) - alist) - alist)) + ((list-line->alist line) => (lambda (alist) ;; Insert values based on ;; their keys. -- cgit v1.2.3