diff options
| author | 2013-02-02 16:53:16 +0100 | |
|---|---|---|
| committer | 2013-02-02 16:53:16 +0100 | |
| commit | d5dbe8ed273d93bec205d664e7b3d390bcdfbaab (patch) | |
| tree | eac007c3e9ed572dedfc3379c7974fe247ac1795 | |
| parent | 1d51bacd51bf601e87662b30a1169d395d09f4e6 (diff) | |
| download | markam-d5dbe8ed273d93bec205d664e7b3d390bcdfbaab.tar.gz markam-d5dbe8ed273d93bec205d664e7b3d390bcdfbaab.zip | |
Add simple searching
| -rw-r--r-- | src/markam.scm | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/markam.scm b/src/markam.scm index 0079f64..5d6581f 100644 --- a/src/markam.scm +++ b/src/markam.scm @@ -74,6 +74,18 @@ bookmark-id tag-id))) tags))) +(define (search-bookmarks db str) + (for-each-row print-row db #<<END + SELECT * + FROM bookmark + WHERE name LIKE ? + OR ? IN (SELECT name + FROM tag + JOIN bookmark_tag ON (tag_id = tag.rowid) + WHERE bookmark_id = bookmark.rowid) +END + (string-append "%" str "%") str)) + ;; Is STR a URL? Very naïve, assumes all URLs begin with either ;; `http://' or `https://', should be improved. (define (url-string? str) @@ -92,7 +104,7 @@ "--help, -h Display this help and exit~%" "--version, -v Output version information and exit~%"))) -;; Parse command-line arguments +;; Parse "other" command-line arguments (define (handle-regular-args args) (do ((arg (car args) (and (not (null? args)) (car args)))) @@ -120,6 +132,8 @@ db (lambda () (add-bookmark db (car args) (cadr args) (caddr args) (cdddr args)) #t))) + ((string= (car args) "search") + (search-bookmarks db (cadr args))) (else (handle-regular-args args))) (finalize! db #t))) |
