Function: tuareg-smie--let-disambiguate

tuareg-smie--let-disambiguate is a natively compiled function defined in tuareg.el.

Signature

(tuareg-smie--let-disambiguate)

Documentation

Return "d-let" if "let" at point is a decl, or just "let" if it's an exp.

Source Code

;; Defined in /nix/store/6mbh851dhnag8f92qfrlh9ckldzwf6c6-emacs-packages-deps/share/emacs/site-lisp/elpa/tuareg-20260626.936/tuareg.el
(defun tuareg-smie--let-disambiguate ()
  "Return \"d-let\" if \"let\" at point is a decl, or just \"let\" if it's an exp."
  (save-excursion
    (let ((prev (tuareg-smie--backward-token)))
      (if (or (member prev tuareg-smie--exp-leaders)
              (if (zerop (length prev))
                  (and (not (bobp))
                       ;; See if prev char has open-paren syntax.
                       (eq 4 (mod (car (syntax-after (1- (point)))) 256)))
                (and (eq ?. (char-syntax (aref prev 0)))
                     (and (not (equal prev ";;"))
                          (let ((tokinfo (assoc prev smie-grammar)))
                            ;; Check that prev is not a closing token like ">."
                            (or (null tokinfo)
                                (integerp (nth 2 tokinfo))))))))
          "let"
        "d-let"))))