Function: hsys-org-link-label-start-end

hsys-org-link-label-start-end is a byte-compiled function defined in hsys-org.el.

Signature

(hsys-org-link-label-start-end)

Documentation

With point on an Org link, return the list of (<label> <start> <end>), else nil.

<label> is either the optional link description or the link
referent. <start> and <end> are buffer positions where <label> starts and ends, excludes delimiters.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hsys-org.el
(defun hsys-org-link-label-start-end ()
  "With point on an Org link, return the list of (<label> <start> <end>), else nil.
<label> is either the optional link description or the link
referent.  <start> and <end> are buffer positions where <label>
starts and ends, excludes delimiters."
  (let ((thing (org-element-context)))
    (when thing
      (let ((ol-desc-start (org-element-property :contents-begin thing))
	    (ol-desc-end (org-element-property :contents-end thing)))
	(if (and ol-desc-start ol-desc-end)
	    (list (buffer-substring-no-properties ol-desc-start ol-desc-end)
		  ol-desc-start ol-desc-end)
	  (let ((ol-referent (org-element-property :raw-link thing))
		(ol-referent-start (+ (org-element-property :begin thing) 2))
		(ol-referent-end (- (org-element-property :end thing) 2)))
	    (list ol-referent ol-referent-start ol-referent-end)))))))