From 608acfe0f019b6b964540298c13131fc9e12dd2a Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 29 Jun 2022 12:37:09 +0530 Subject: document: Accept port argument when printing to text. * tissue/document.scm (print): Accept port argument. * tissue/issue.scm (print): Accept port argument. --- tissue/document.scm | 18 ++++++++++-------- tissue/issue.scm | 40 ++++++++++++++++++++++++---------------- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/tissue/document.scm b/tissue/document.scm index f049a00..5b572ed 100644 --- a/tissue/document.scm +++ b/tissue/document.scm @@ -203,18 +203,20 @@ representing a list of search results." children) "")))) -(define-method (print (document ) mset) +(define-method (print (document ) mset port) "Print DOCUMENT in command-line search results. MSET is the xapian MSet object representing a list of search results." - (display (colorize-string (document-title document) 'MAGENTA 'UNDERLINE)) - (newline) - (display (colorize-string (file-document-path document) 'YELLOW)) - (newline) + (display (colorize-string (document-title document) 'MAGENTA 'UNDERLINE) + port) + (newline port) + (display (colorize-string (file-document-path document) 'YELLOW) + port) + (newline port) (let ((snippet (document-snippet document mset))) (unless (string-null? snippet) - (display snippet) - (newline) - (newline)))) + (display snippet port) + (newline port) + (newline port)))) (define (document-sxml-snippet document mset) "Return snippet in SXML form for DOCUMENT. MSET is the xapian MSet diff --git a/tissue/issue.scm b/tissue/issue.scm index 54daf28..6f03b36 100644 --- a/tissue/issue.scm +++ b/tissue/issue.scm @@ -95,33 +95,39 @@ #:prefix "XS") term-generator)) -(define-method (print (issue ) mset) +(define-method (print (issue ) mset port) "Print ISSUE, an object, in search results." (let ((number-of-posts (length (issue-posts issue)))) - (display (colorize-string (document-title issue) 'MAGENTA 'UNDERLINE)) + (display (colorize-string (document-title issue) 'MAGENTA 'UNDERLINE) + port) (unless (null? (issue-keywords issue)) - (display " ") + (display " " port) (display (string-join (map (cut colorize-string <> 'ON-BLUE) (issue-keywords issue)) - " "))) + " ") + port)) (unless (null? (issue-assigned issue)) (display (colorize-string (string-append " (assigned: " (string-join (issue-assigned issue) ", ") ")") - 'GREEN))) + 'GREEN) + port)) (when (> number-of-posts 1) (display (string-append " [" (number->string number-of-posts) - " posts]"))) - (newline) - (display (colorize-string (file-document-path issue) 'YELLOW)) - (newline) + " posts]") + port)) + (newline port) + (display (colorize-string (file-document-path issue) 'YELLOW) + port) + (newline port) (display (string-append "opened " (colorize-string (human-date-string (issue-created-date issue)) 'CYAN) " by " - (colorize-string (issue-creator issue) 'CYAN))) + (colorize-string (issue-creator issue) 'CYAN)) + port) (when (> number-of-posts 1) (display (string-append (colorize-string "," 'CYAN) " last updated " @@ -129,19 +135,21 @@ 'CYAN) " by " (colorize-string (issue-last-updater issue) - 'CYAN)))) + 'CYAN)) + port)) (unless (zero? (issue-tasks issue)) (display (string-append (colorize-string "; " 'CYAN) (number->string (issue-completed-tasks issue)) "/" (number->string (issue-tasks issue)) - " tasks done"))) - (newline) + " tasks done") + port)) + (newline port) (let ((snippet (document-snippet issue mset))) (unless (string-null? snippet) - (display snippet) - (newline) - (newline))))) + (display snippet port) + (newline port) + (newline port))))) (define (print-issue-to-gemtext issue) "Print ISSUE to gemtext." -- cgit v1.2.3