Function: hsys-org--agenda-tags-string

hsys-org--agenda-tags-string is a byte-compiled function defined in hsys-org.el.

Signature

(hsys-org--agenda-tags-string)

Documentation

When on or between Org tags, return an agenda match string for them.

If on a colon, return a match string for all tags around point, e.g. ":tag1:tag2:tag3:", that will match to these tags in any order. Otherwise, just match to the single tag around point, e.g. tag2.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hsys-org.el
;;; ************************************************************************
;;; Private functions
;;; ************************************************************************

(defun hsys-org--agenda-tags-string ()
  "When on or between Org tags, return an agenda match string for them.
If on a colon, return a match string for all tags around point,
e.g. \":tag1:tag2:tag3:\", that will match to these tags in any order.
Otherwise, just match to the single tag around point, e.g. tag2."
  (let ((range (hproperty:char-property-range nil 'face 'org-tag))
	tags)
    (when range
      (if (equal (char-after) ?:)
	  ;;  On colon, search for HyWiki headings with all tags on line
	  (setq tags (when range (buffer-substring-no-properties (car range) (cdr range))))
	;;   Else on a specific tag, search for HyWiki headings with that tag only
	(setq range (hargs:delimited ":" ":" nil nil t)
	      tags (nth 0 range)
	      range (cons (nth 1 range) (nth 2 range))))
      (when (and tags range)
	(ibut:label-set tags (car range) (cdr range))
	tags))))