Function: treesit-fold-close-all

treesit-fold-close-all is an interactive and byte-compiled function defined in treesit-fold.el.

Signature

(treesit-fold-close-all)

Documentation

Fold all foldable syntax nodes in the buffer.

This function has :after advice: treesit-fold--after-command.

Key Bindings

This command is not in any keymaps.

Source Code

;; Defined in /nix/store/mpy1l6b4hlzpp59l4vbahq83hqa821ci-emacs-packages-deps/share/emacs/site-lisp/elpa/treesit-fold-0.2.1/treesit-fold.el
;;;###autoload
(defun treesit-fold-close-all ()
  "Fold all foldable syntax nodes in the buffer."
  (interactive)
  (treesit-fold--ensure-ts
    (let (nodes)
      (let* ((treesit-fold-indicators-mode)
             (treesit-fold-on-fold-hook)
             (node (treesit-buffer-root-node))
             (patterns (seq-mapcat (lambda (fold-range) `((,(car fold-range)) @name))
                                   (alist-get major-mode treesit-fold-range-alist)))
             (query (treesit-query-compile (treesit-node-language node) patterns)))
        (setq nodes (treesit-query-capture node query)
              nodes (cl-remove-if (lambda (node)
                                    ;; Removed if on same line
                                    (treesit-fold--node-range-on-same-line (cdr node)))
                                  nodes))
        (thread-last nodes
                     (mapcar #'cdr)
                     (mapc #'treesit-fold-close)))
      (when nodes
        (run-hooks 'treesit-fold-on-fold-hook)
        t))))