forked from mirrors/org-mode
org-macs: New function org-find-text-property-region
This commit is contained in:
parent
b415111aff
commit
b7dae51dbb
|
@ -728,7 +728,7 @@ When NEXT is non-nil, check the next line instead."
|
|||
|
||||
|
||||
|
||||
;;; Overlays
|
||||
;;; Overlays and text properties
|
||||
|
||||
(defun org-overlay-display (ovl text &optional face evap)
|
||||
"Make overlay OVL display TEXT with face FACE."
|
||||
|
@ -751,20 +751,22 @@ If DELETE is non-nil, delete all those overlays."
|
|||
(delete (delete-overlay ov))
|
||||
(t (push ov found))))))
|
||||
|
||||
(defun org-flag-region (from to flag spec)
|
||||
"Hide or show lines from FROM to TO, according to FLAG.
|
||||
SPEC is the invisibility spec, as a symbol."
|
||||
(remove-overlays from to 'invisible spec)
|
||||
;; Use `front-advance' since text right before to the beginning of
|
||||
;; the overlay belongs to the visible line than to the contents.
|
||||
(when flag
|
||||
(let ((o (make-overlay from to nil 'front-advance)))
|
||||
(overlay-put o 'evaporate t)
|
||||
(overlay-put o 'invisible spec)
|
||||
(overlay-put o
|
||||
'isearch-open-invisible
|
||||
(lambda (&rest _) (org-show-context 'isearch))))))
|
||||
|
||||
(defun org-find-text-property-region (pos prop)
|
||||
"Find a region around POS containing same non-nil value of PROP text property.
|
||||
Return nil when PROP is not set at POS."
|
||||
(let* ((beg (and (get-text-property pos prop) pos))
|
||||
(end beg))
|
||||
(when beg
|
||||
(unless (or (equal beg (point-min))
|
||||
(not (eq (get-text-property beg prop)
|
||||
(get-text-property (1- beg) prop))))
|
||||
(setq beg (previous-single-property-change pos prop nil (point-min))))
|
||||
(unless (or (equal end (point-max))
|
||||
;; (not (eq (get-text-property end prop)
|
||||
;; (get-text-property (1+ end) prop)))
|
||||
)
|
||||
(setq end (next-single-property-change pos prop nil (point-max))))
|
||||
(cons beg end))))
|
||||
|
||||
|
||||
;;; Regexp matching
|
||||
|
|
|
@ -5597,7 +5597,10 @@ needs to be inserted at a specific position in the font-lock sequence.")
|
|||
(let ((org-odd-levels-only odd-levels))
|
||||
(org-mode)
|
||||
(org-font-lock-ensure)
|
||||
(buffer-string))))
|
||||
(if org-link-descriptive
|
||||
(org-link-display-format
|
||||
(buffer-string))
|
||||
(buffer-string)))))
|
||||
|
||||
(defun org-get-level-face (n)
|
||||
"Get the right face for match N in font-lock matching of headlines."
|
||||
|
@ -5727,6 +5730,8 @@ and subscripts."
|
|||
(if (equal (char-after (match-beginning 2)) ?^)
|
||||
(nth (if table-p 3 1) org-script-display)
|
||||
(nth (if table-p 2 0) org-script-display)))
|
||||
(put-text-property (match-beginning 2) (match-end 3)
|
||||
'org-emphasis t)
|
||||
(add-text-properties (match-beginning 2) (match-end 2)
|
||||
(list 'invisible t))
|
||||
(when (and (eq (char-after (match-beginning 3)) ?{)
|
||||
|
|
Loading…
Reference in a new issue