aboutsummaryrefslogtreecommitdiff
path: root/sx-tag.el
diff options
context:
space:
mode:
authorSean Allred <code@seanallred.com>2015-01-04 12:17:59 -0500
committerSean Allred <code@seanallred.com>2015-01-04 12:17:59 -0500
commitfc53f5191fe728fdd098198784f3ed6b6470314f (patch)
tree8478a555f39139ff1683ef541329615e260f0920 /sx-tag.el
parentf5efa010e4c16eda6d3652b325efaf524acd9422 (diff)
parente6c5b821b1c13ec0125e2a305f121e763a79ddfc (diff)
Merge branch 'tag-bot' of github.com:vermiculus/stack-mode into tag-bot
Diffstat (limited to 'sx-tag.el')
-rw-r--r--sx-tag.el20
1 files changed, 13 insertions, 7 deletions
diff --git a/sx-tag.el b/sx-tag.el
index 07b7a77..8c468a6 100644
--- a/sx-tag.el
+++ b/sx-tag.el
@@ -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.