You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
451 B
23 lines
451 B
3 years ago
|
;;;; annotate.lisp
|
||
|
|
||
|
(in-package #:cl-bible)
|
||
|
|
||
|
(defstruct metadata
|
||
|
notes
|
||
|
tags)
|
||
|
|
||
|
(defun add-metadata (verse metadata)
|
||
|
(cons verse metadata))
|
||
|
|
||
|
(defun get-notes (verse)
|
||
|
(metadata-notes (cdr verse)))
|
||
|
|
||
|
(defun get-tags (verse)
|
||
|
(metadata-tags (cdr verse)))
|
||
|
|
||
|
(defun add-note (verse note)
|
||
|
(setf (metadata-notes (cdr verse)) (cons note (get-notes verse))))
|
||
|
|
||
|
(defun add-tag (verse tag)
|
||
|
(setf (metadata-tags (cdr verse)) (cons tag (get-tags verse))))
|