Function: web-mode-jsx-expression-next

web-mode-jsx-expression-next is a natively compiled function defined in web-mode.el.

Signature

(web-mode-jsx-expression-next REG-END)

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-jsx-expression-next (reg-end)
  (let (beg end depth continue pos)
    (setq beg (point))
    ;;(message "pt=%S" beg)
    (unless (and (get-text-property beg 'jsx-beg) (null (get-text-property beg 'tag-beg)))
      ;;(setq beg (next-single-property-change beg 'jsx-beg))
      (setq continue t
            pos (1+ beg))
      (while continue
        (setq pos (next-single-property-change pos 'jsx-beg))
        (cond
          ((null pos)
           (setq continue nil
                 beg nil))
          ((> pos reg-end)
           (setq continue nil
                 beg nil))
          ((null (get-text-property pos 'jsx-beg))
           )
          ((null (get-text-property pos 'tag-beg))
           (setq continue nil
                 beg pos))
          ;;(t
          ;; (setq pos (1+ pos)))
          ) ;cond
        ) ;while
      ) ;unless
    ;;(message "beg=%S" beg)
    (when (and beg (< beg reg-end))
      (setq depth (get-text-property beg 'jsx-beg)
            continue (not (null depth))
            pos beg)
      ;;(message "beg=%S" beg)
      (while continue
        (setq pos (next-single-property-change pos 'jsx-end))
        ;;(message "pos=%S" pos)
        (cond
          ((null pos)
           (setq continue nil))
          ((> pos reg-end)
           (setq continue nil))
          ((eq depth (get-text-property pos 'jsx-end))
           (setq continue nil
                 end pos))
          (t
           ;;(setq pos (1+ pos))
           )
          ) ;cond
        ) ;while
      ) ;when
    ;;(message "%S > %S" beg end)
    (if (and beg end) (cons beg end) nil)))