Function: haskell-align-imports-merge-parts

haskell-align-imports-merge-parts is a natively compiled function defined in haskell-align-imports.el.

Signature

(haskell-align-imports-merge-parts L)

Documentation

Merge together parts of an import statement that shouldn't be separated.

Source Code

;; Defined in /nix/store/9lz2mhw95f9fqxr9mnq46k3f6qz3aq83-emacs-packages-deps/share/emacs/site-lisp/elpa/haskell-mode-20260904.1042/haskell-align-imports.el
(defun haskell-align-imports-merge-parts (l)
  "Merge together parts of an import statement that shouldn't be separated."
  (let ((parts (apply #'vector l))
        (join (lambda (ls)
                (cl-reduce (lambda (a b)
                             (concat a
                                     (if (and (> (length a) 0)
                                              (> (length b) 0))
                                         " "
                                       "")
                                     b))
                           ls))))
    (if haskell-align-imports-pad-after-name
        (list (funcall join (list (aref parts 0)
                                  (aref parts 1)
                                  (aref parts 2)))
              (aref parts 3)
              (funcall join (list (aref parts 4)
                                  (aref parts 5)
                                  (aref parts 6)))
              (aref parts 7))
      (list (funcall join (list (aref parts 0)
                                (aref parts 1)
                                (aref parts 2)))
            (funcall join (list (aref parts 3)
                                (aref parts 4)
                                (aref parts 5)
                                (aref parts 6)
                                (aref parts 7)))))))