Function: treesit-fold-range-c-preproc-elif

treesit-fold-range-c-preproc-elif is a natively compiled function defined in treesit-fold.el.

Signature

(treesit-fold-range-c-preproc-elif NODE OFFSET)

Documentation

Define fold range for elif preprocessor.

For arguments NODE and OFFSET, see function treesit-fold-range-seq for more information.

Source Code

;; Defined in /nix/store/mpy1l6b4hlzpp59l4vbahq83hqa821ci-emacs-packages-deps/share/emacs/site-lisp/elpa/treesit-fold-0.2.1/treesit-fold.el
(defun treesit-fold-range-c-preproc-elif (node offset)
  "Define fold range for `elif' preprocessor.

For arguments NODE and OFFSET, see function `treesit-fold-range-seq' for
more information."
  (when-let* ((named-node (treesit-node-child-by-field-name node "condition"))
              (parent (or (treesit-fold-find-parent node "preproc_if")
                          (treesit-fold-find-parent node "preproc_ifdef")))
              (next (or (treesit-node-child-by-field-name node "alternative")
                        (car (treesit-fold-find-children parent "#endif"))))
              (beg (treesit-node-end named-node))
              (end (1- (treesit-node-start next))))
    (treesit-fold--cons-add (cons beg end) offset)))