diff options
author | Artur Malabarba <bruce.connor.am@gmail.com> | 2015-01-04 13:16:42 -0200 |
---|---|---|
committer | Artur Malabarba <bruce.connor.am@gmail.com> | 2015-01-04 13:41:56 -0200 |
commit | e6c5b821b1c13ec0125e2a305f121e763a79ddfc (patch) | |
tree | b9f241cbdcd944bd38ad05360c9b654edc046f22 /sx-tag.el | |
parent | 0e03d9086eedd486a4492e5f198e45990ad5a3bf (diff) |
sx-tag--get-all also retrieves synonyms
Diffstat (limited to 'sx-tag.el')
-rw-r--r-- | sx-tag.el | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -28,18 +28,24 @@ ;;; Getting the list from a site (defvar sx-tag-filter (sx-filter-from-nil - (tag.name)) + (tag.name + tag.synonyms)) "Filter used when querying tags.") -(defun sx-tag--get-all (site) - "Retrieve all tags for SITE." - (mapcar - (lambda (tag) - (cdr (assoc 'name tag))) +(defun sx-tag--get-all (site &optional no-synonyms) + "Retrieve all tags for SITE. +If NO-SYNONYMS is non-nil, don't return synonyms." + (cl-reduce + (lambda (so-far tag) + (let-alist tag + (cons .name + (if no-synonyms so-far + (append .synonyms so-far))))) (sx-method-call 'tags :get-all t :filter sx-tag-filter - :site site))) + :site site) + :initial-value nil)) (defun sx-tag--get-some-tags-containing (site string) "Return at most 100 tags for SITE containing STRING. |