Function: combobulate--yoink
combobulate--yoink is a natively compiled function defined in
combobulate-manipulation.el.
Signature
(combobulate--yoink POINT-NODE)
Source Code
;; Defined in /nix/store/b5fvrwzi3zvkabyzx0in6gw1cj963z46-emacs-packages-deps/share/emacs/site-lisp/combobulate-manipulation.el
(defun combobulate--yoink (point-node)
(let* ((point-sibling (car (reverse (combobulate-nav-get-siblings point-node))))
(target-node
(save-excursion
(combobulate-move-to-node
(with-navigation-nodes (:procedures (combobulate-read procedures-hierarchy))
(combobulate-nav-get-parent point-node)))
(or (combobulate-proxy-node-make-from-nodes (combobulate--get-sibling
(combobulate-node-at-point)
'forward))
(error "No valid sibling node.")))))
(save-excursion
(let ((pos-col))
(combobulate-refactor ()
(mark-range-move
(combobulate-node-start target-node)
(combobulate-node-end target-node)
(progn
(setq pos-col (current-indentation))
;; find the right place to place the newline and indent.
(if point-sibling
(combobulate-move-to-node point-sibling t)
(end-of-line))
(when (combobulate-after-point-blank-p (point))
(newline)
(indent-to pos-col))
(point)))
(commit))))))