radian-software / apheleia

🌷 Run code formatter on buffer contents without moving point, using RCS patches and dynamic programming.
MIT License
547 stars 74 forks source link

Pipe error on big files #308

Closed shartf closed 1 month ago

shartf commented 1 month ago

Hi,

I am formatting big (up to 10k loc) js files in js-ts-mode using eslint, with the following config:

(use-package apheleia
  :ensure apheleia
  :diminish ""
  :defines
  apheleia-formatters
  apheleia-mode-alist
  apheleia-hide-log-buffers
  :functions
  apheleia-global-mode
  :config
  ;; configure formatters
  (setf (alist-get 'javascript-eslint apheleia-formatters)
        '(npx "eslint" filepath "--fix"))
  ;; assign it to mods
  (add-to-list 'apheleia-mode-alist '(js-ts-mode . javascript-eslint))

  (apheleia-global-mode +1))

I get following error only on big files:

 (error "process apheleia-eslint no longer connected to pipe; closed it")

Now, it seems to be a known issue, mentioned in the Readme and https://github.com/radian-software/apheleia/issues/20 but I am on Emacs 29.4 using emacs-plus (https://github.com/d12frosted/homebrew-emacs-plus). Is there maybe something wrong in the way I call eslint? Also, even though the error appears, eslint still fixes the file, is there any way to suppress the debugger?

Thanks

shartf commented 1 month ago

I've found the error. I had

(setq debug-on-error t)

and it enabled the issue above as well as a similar issue with lsp-install-server. I will close this issue, thanks.