Function: php-ts-mode--anchor-prev-sibling

php-ts-mode--anchor-prev-sibling is a byte-compiled function defined in php-ts-mode.el.gz.

Signature

(php-ts-mode--anchor-prev-sibling NODE PARENT BOL &rest _)

Documentation

Return the start of the previous named sibling of NODE.

Return nil if a) there is no prev-sibling, or b) prev-sibling doesn't have a child.

PARENT is NODE's parent, BOL is the beginning of non-whitespace characters of the current line.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/php-ts-mode.el.gz
;; adapted from c-ts-mode--anchor-prev-sibling
(defun php-ts-mode--anchor-prev-sibling (node parent bol &rest _)
  "Return the start of the previous named sibling of NODE.

Return nil if a) there is no prev-sibling, or b) prev-sibling
doesn't have a child.

PARENT is NODE's parent, BOL is the beginning of non-whitespace
characters of the current line."
  (when-let* ((prev-sibling
              (or (treesit-node-prev-sibling node t)
                  (treesit-node-prev-sibling
                   (treesit-node-first-child-for-pos parent bol) t)
                  (treesit-node-child parent -1 t)))
             (continue t))
    (save-excursion
      (while (and prev-sibling continue)
        (goto-char (treesit-node-start prev-sibling))
        (if (looking-back (rx bol (* whitespace))
                          (line-beginning-position))
            (setq continue nil)
          (setq prev-sibling
                (treesit-node-prev-sibling prev-sibling)))))
    (treesit-node-start prev-sibling)))