Function: web-mode-backward-sexp

web-mode-backward-sexp is an interactive and natively compiled function defined in web-mode.el.

Signature

(web-mode-backward-sexp N)

Key Bindings

This command is not in any keymaps.

Source Code

;; Defined in /nix/store/2qgnz1rp30nzfz6w0apx4kdm14if1bbs-emacs-packages-deps/share/emacs/site-lisp/elpa/web-mode-20260831.219/web-mode.el
;;---- EXCURSION ---------------------------------------------------------------

(defun web-mode-backward-sexp (n)
  (interactive "p")
  (if (< n 0) (web-mode-forward-sexp (- n))
      (let (pos)
        (dotimes (_ n)
          (skip-chars-backward "[:space:]")
          (setq pos (point))
          (cond
            ((bobp) nil)
            ((get-text-property (1- pos) 'block-end)
             (backward-char 1)
             (web-mode-block-beginning))
            ((get-text-property (1- pos) 'block-token)
             (backward-char 1)
             (web-mode-block-token-beginning))
            ((get-text-property (1- pos) 'part-token)
             (backward-char 1)
             (web-mode-part-token-beginning))
            ((get-text-property (1- pos) 'tag-end)
             (backward-char 1)
             (web-mode-element-beginning))
            ((get-text-property (1- pos) 'tag-attr)
             (backward-char 1)
             (web-mode-attribute-beginning))
            ((get-text-property (1- pos) 'tag-type)
             (backward-char 1)
             (web-mode-tag-beginning))
            ((get-text-property (1- pos) 'jsx-end)
             (backward-char 1)
             (web-mode-jsx-beginning))
            (t
             (let ((forward-sexp-function nil))
               (backward-sexp))
             ) ;case t
            ) ;cond
          ) ;dotimes
        ))) ;let if defun