Function: web-mode-element-vanish
web-mode-element-vanish is an interactive and natively compiled
function defined in web-mode.el.
Signature
(web-mode-element-vanish &optional ARG)
Documentation
Vanish the current html element. The content of the element is kept.
Key Bindings
web-mode-map C-c C-e v
Source Code
;; Defined in /nix/store/2qgnz1rp30nzfz6w0apx4kdm14if1bbs-emacs-packages-deps/share/emacs/site-lisp/elpa/web-mode-20260831.219/web-mode.el
(defun web-mode-element-vanish (&optional arg)
"Vanish the current html element. The content of the element is kept."
(interactive "p")
(let (type (pos (point)) start-b start-e end-b end-e)
(while (>= arg 1)
(setq type (get-text-property pos 'tag-type))
(when type
(cond
((member type '(void))
(web-mode-element-kill)
(set-mark (point))
(web-mode-tag-match)
(web-mode-tag-end)
(exchange-point-and-mark))
((member type '(start))
(setq start-b (web-mode-tag-beginning-position)
start-e (web-mode-tag-end-position))
(when (web-mode-tag-match)
(setq end-b (web-mode-tag-beginning-position)
end-e (web-mode-tag-end-position)))
)
(t
(setq end-b (web-mode-tag-beginning-position)
end-e (web-mode-tag-end-position))
(when (web-mode-tag-match)
(setq start-b (web-mode-tag-beginning-position)
start-e (web-mode-tag-end-position)))
) ;t
) ;cond
(when (and start-b end-b)
(goto-char end-b)
(delete-region end-b (1+ end-e))
(delete-blank-lines)
(goto-char start-b)
(delete-region start-b (1+ start-e))
(delete-blank-lines)
(web-mode-buffer-indent)
)
;; (message "start %S %S - end %S %S" start-b start-e end-b end-e))
) ;when
(skip-chars-forward "[:space:]\n")
(setq arg (1- arg))
) ;while
) ;let
)