Function: web-mode-attribute-insert

web-mode-attribute-insert is an interactive and natively compiled function defined in web-mode.el.

Signature

(web-mode-attribute-insert &optional ATTR-NAME ATTR-VALUE)

Documentation

Insert an attribute inside current tag.

Key Bindings

web-mode-map C-c C-a i

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-attribute-insert (&optional _attr-name _attr-value)
  "Insert an attribute inside current tag."
  (interactive)
  (let (attr attr-name attr-value)
    (cond
      ((not (member (get-text-property (point) 'tag-type) '(start void)))
       (message "attribute-insert ** invalid context **"))
      ((not (and (setq attr-name (or attr-name (completing-read
                                                "Attribute name: "
                                                (append
                                                 web-mode-attribute-list
                                                 web-mode-attribute-history)
                                                nil nil nil 'web-mode-attribute-history)))
                 (> (length attr-name) 0)))
       (message "attribute-insert ** failure **"))
      (t
       (setq attr (concat " " attr-name))
       (when (setq attr-value (or attr-value (completing-read
                                              "Attribute value: "
                                              web-mode-attribute-value-history
                                              nil nil nil 'web-mode-attribute-value-history)))
         (setq attr (concat attr "=\"" attr-value "\"")))
       (web-mode-tag-end)
       (if (looking-back "/>" (point-min))
           (backward-char 2)
           (backward-char))
       (insert attr)
       ) ;t
      ) ;cond
    ))