aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/clark.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/clark.lisp')
-rw-r--r--lisp/clark.lisp110
1 files changed, 0 insertions, 110 deletions
diff --git a/lisp/clark.lisp b/lisp/clark.lisp
index 4d7deea..f5b21f6 100644
--- a/lisp/clark.lisp
+++ b/lisp/clark.lisp
@@ -190,116 +190,6 @@ bookmark."
(format t "~A~A~A" url name description)
(format t "~A~% ~A~% ~A~%~%" url name description))))
-(defcommand add (url name description &rest tags)
- "Add a new bookmark."
- "Usage: clark add <url> <name> <description> [<tags> ...]
-
-Add URL with NAME, DESCRIPTION and TAGS to the database. TAGS may be
-omitted or any number of tag names."
- (if (not (bookmark-exists-p url))
- (with-transaction *db*
- (insert-bookmark url name description)
- (add-tags (last-insert-rowid *db*) tags))
- (format t "~A has already been bookmarked~%" url)))
-
-(defcommand edit (url &rest rest)
- "Edit a bookmark."
- "Usage: clark edit <url> [--name <name>] \\
- [--description <description>]
-
-Edit the information for URL, specifying which part(s) to edit. Each
-option will replace the previous value for that part."
- (let ((name-lst (member "--name" rest :test #'string=))
- (desc-lst (member "--description" rest :test #'string=))
- query qargs)
- (when name-lst
- (setf query (concatenate 'string query "name = ? ")
- qargs (nconc qargs (list (cadr name-lst)))))
- (when desc-lst
- (setf query (concatenate 'string query (when qargs ", ")
- "description = ? ")
- qargs (nconc qargs (list (cadr desc-lst)))))
- (when qargs
- (apply #'execute-non-query *db*
- (format
- nil (sql update "bookmark" set "~A" where "url" = ?) query)
- (append qargs (list url))))))
-
-(defcommand exists (url)
- "Check if a bookmark exists in the database."
- "Usage: clark exists <url>
-
-Check if URL exists in the database. Prints `yes' when found and `no'
-otherwise."
- (format t "~:[no~;yes~]~%" (bookmark-exists-p url)))
-
-(defcommand help (&optional command)
- "Show help message."
- help-message
- (if command
- (let ((ldoc
- (nth 2 (car (member
- command *help-messages*
- :test #'(lambda (x y) (equal x (car y))))))))
- (cond
- ((null ldoc)
- (with-error-and-help
- 1 "help" "Unknown command: ~a~%" command))
- ((and (symbolp ldoc) (fboundp ldoc)) (funcall ldoc))
- (t (format t "~A~%" ldoc))))
- (call-command help "help")))
-
-(defcommand remove (url)
- "Remove a bookmark from the database."
- "Usage: clark remove <url>
-
-Remove URL from the database."
- (clear-tags url)
- (delete-bookmark url))
-
-(defcommand search (str)
- "Search through bookmarks."
- "Usage: clark search <str>
-
-Search the database for STR. Matches are made for substrings of a
-bookmark's name or an exact match for a tag."
- (map nil #'print-bookmark (bookmark-search str)))
-
-(defcommand set-tags (url &rest tags)
- "Set a bookmark's tags."
- "Usage: clark set-tags <url> [<tags> ...]
-
-Set bookmark URL's tags to the given list, overwriting the previous
-list of tags."
- (clear-tags url)
- (add-tags url tags))
-
-(defun random-item (lst)
- (nth (random (length lst) (make-random-state t)) lst))
-
-(defcommand random (&optional tag)
- "Pick a random bookmark, possibly from TAG."
- "Usage: clark random [<tag>]
-
-Get a random bookmark. If TAG is given limit the result to a bookmark
-having the tag TAG."
- (format t "~a~%" (random-item (url-list tag))))
-
-(defcommand remove-tags (url &rest tags)
- "Remove given tags from bookmark's tag list."
- "Usage: clark remove-tags <url> [<tags> ...]
-
-Remove the given TAGS from URL's tag list. If no tags are given,
-remove all tags from bookmark."
- (delete-tags url tags))
-
-(defcommand version ()
- "Show version."
- "Usage: clark version
-
-Print the version number and exit."
- (format t "clark version ~A~%" version))
-
(defun clark (args)
"Main function.