Function: haskell-indentation-phrase-rest
haskell-indentation-phrase-rest is a natively compiled function
defined in haskell-indentation.el.
Signature
(haskell-indentation-phrase-rest PHRASE1)
Source Code
;; Defined in /nix/store/9lz2mhw95f9fqxr9mnq46k3f6qz3aq83-emacs-packages-deps/share/emacs/site-lisp/elpa/haskell-mode-20260904.1042/haskell-indentation.el
(defun haskell-indentation-phrase-rest (phrase1)
"" ; FIXME
(while phrase1
(let ((phrase phrase1))
(setq phrase1 nil)
(let ((current-indent (current-column))
(left-indent left-indent)
(layout-indent layout-indent))
(funcall (car phrase)))
(cond
((eq current-token 'end-tokens)
(cond ((null (cdr phrase))) ;; fallthrough
((equal following-token (cadr phrase))
(haskell-indentation-add-indentation starter-indent)
(unless (member following-token '("," ";"))
;; we want to keep comma and semicolon aligned always
(haskell-indentation-add-indentation left-indent))
(throw 'parse-end nil))
((string= (cadr phrase) "in")
(when (= left-indent layout-indent)
(haskell-indentation-add-layout-indent)
(throw 'parse-end nil)))
(t (throw 'parse-end nil))))
((null (cdr phrase)))
((equal (cadr phrase) current-token)
(haskell-indentation-read-next-token)
(when (eq current-token 'end-tokens)
(haskell-indentation-add-indentation
(+ starter-indent haskell-indentation-starter-offset))
(haskell-indentation-add-indentation
(+ left-indent haskell-indentation-starter-offset))
(throw 'parse-end nil))
(setq phrase1 (cddr phrase)))))))