Function: c-ts-common-parent-ignore-preproc

c-ts-common-parent-ignore-preproc is a byte-compiled function defined in c-ts-common.el.gz.

Signature

(c-ts-common-parent-ignore-preproc NODE)

Documentation

Return the parent of NODE, skipping preproc nodes.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/c-ts-common.el.gz
(defun c-ts-common-parent-ignore-preproc (node)
  "Return the parent of NODE, skipping preproc nodes."
  (let ((parent (treesit-node-parent node))
        (pred (if (treesit-thing-defined-p
                   'preproc (or (and node (treesit-node-language node))
                                (treesit-parser-language
                                 treesit-primary-parser)))
                  'preproc
                "preproc")))
    (while (and parent (treesit-node-match-p parent pred))
      (setq parent (treesit-node-parent parent)))
    parent))