summaryrefslogtreecommitdiff
path: root/tissue/skribilo.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tissue/skribilo.scm')
-rw-r--r--tissue/skribilo.scm27
1 files changed, 13 insertions, 14 deletions
diff --git a/tissue/skribilo.scm b/tissue/skribilo.scm
index d0c90ba..b17b30d 100644
--- a/tissue/skribilo.scm
+++ b/tissue/skribilo.scm
@@ -47,6 +47,14 @@
(call-with-input-file file
(cut evaluate-ast-from-port <> #:reader (make-reader reader-name)))))
+(define (fragment-text file identifier reader-name)
+ "Return the full text of skribilo fragment in @var{file} identified by
+@var{identifier} using reader named by @var{reader-name}."
+ (call-with-output-string
+ (cut ast->text
+ (document-node file identifier reader-name)
+ <>)))
+
(define* (document-fragment file identifier #:key (reader-name 'skribe))
"Return a @code{<skribilo-fragment>} object describing node identified
by @var{identifier} in @var{file} read using reader named by
@@ -58,7 +66,8 @@ by @var{identifier} in @var{file} read using reader named by
#:path file
#:commits (commits-affecting-file file)
#:identifier identifier
- #:reader-name reader-name))
+ #:reader-name reader-name
+ #:snippet-source-text (fragment-text file identifier reader-name)))
(define-method (document-id-term (fragment <skribilo-fragment>))
"Return the ID term for skribilo @var{fragment}."
@@ -89,16 +98,6 @@ output to @var{port}."
(define-method (document-text (fragment <skribilo-fragment>))
"Return the full text of skribilo @var{fragment}."
- (call-with-output-string
- (cut ast->text
- (document-node (file-document-path fragment)
- (skribilo-fragment-identifier fragment)
- (skribilo-fragment-reader-name fragment))
- <>)))
-
-;; We temporarily disable snippets for skribilo fragments until
-;; issues/skribilo-fragment-snippets-need-code-from-repo.gmi is fixed.
-(define-method (document-snippet-source-text (fragment <skribilo-fragment>))
- "Return the source text for FRAGMENT from which to extract a search
-result snippet."
- "")
+ (fragment-text (file-document-path fragment)
+ (skribilo-fragment-identifier fragment)
+ (skribilo-fragment-reader-name fragment)))