Function: org-fold-core--isearch-setup
org-fold-core--isearch-setup is a byte-compiled function defined in
org-fold-core.el.gz.
Signature
(org-fold-core--isearch-setup TYPE)
Documentation
Initialize isearch in org buffer.
TYPE can be either text-properties or overlays.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-fold-core.el.gz
(defun org-fold-core--isearch-setup (type)
"Initialize isearch in org buffer.
TYPE can be either `text-properties' or `overlays'."
(pcase type
(`text-properties
(setq-local search-invisible 'open-all)
(add-hook 'isearch-mode-end-hook #'org-fold-core--clear-isearch-state nil 'local)
(add-hook 'isearch-mode-hook #'org-fold-core--clear-isearch-state nil 'local)
(setq-local isearch-filter-predicate #'org-fold-core--isearch-filter-predicate-text-properties))
(`overlays
(when (eq org-fold-core-style 'text-properties)
(add-function :before (local 'isearch-filter-predicate) #'org-fold-core--create-isearch-overlays)
;; When `isearch-filter-predicate' is called outside isearch,
;; it is common that `isearch-mode-end-hook' does not get
;; executed, but `isearch-clean-overlays' usually does.
(advice-add
'isearch-clean-overlays :after
#'org-fold-core--clear-isearch-overlays
'((name . isearch-clean-overlays@org-fold-core)))))
(_ (error "%s: Unknown type of setup for `org-fold-core--isearch-setup'" type))))