Function: js--treesit-member-chained-expression-helper
js--treesit-member-chained-expression-helper is a byte-compiled
function defined in js.el.gz.
Signature
(js--treesit-member-chained-expression-helper NODE PARENT BOL &rest ARGS)
Documentation
Anchor helper for member chained expressions.
Returns a position relative to PARENT context and the value of
js-chain-indent.
See js-chain-indent and js--chained-expression-p.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/js.el.gz
(defun js--treesit-member-chained-expression-helper (_node parent _bol &rest _args)
"Anchor helper for member chained expressions.
Returns a position relative to PARENT context and the value of
`js-chain-indent'.
See `js-chain-indent' and `js--chained-expression-p'."
(let ((parent-start (treesit-node-start parent)))
(if (not js-chain-indent)
(if-let* ((ancestor-node
(treesit-parent-until
parent
"variable_declarator")))
(treesit-node-start ancestor-node)
(save-excursion
(goto-char parent-start)
(back-to-indentation)
(if (eq parent-start (point))
(+ parent-start js-indent-level)
parent-start)))
(save-excursion
(goto-char parent-start)
(let ((pos (search-forward "." (pos-eol) t 1)))
(if (and pos (> pos 0))
(- pos 1)
parent-start))))))