[ESS] ESS with Corfu
Manuel Teodoro
teoten @end|ng |rom gm@||@com
Tue Nov 21 16:35:25 CET 2023
Hi,
I was wondering if somebody has experience using ESS with Corfu. I have
been using Company until now and it works great out of the Box with R in
ESS. Recently I decided to try out Corfu and I like it way more for other
languages like ESS and Julia, but it has some drawbacks with R.
Basically when I am only writing code everything is alright. But when I
work with data it often gets super slow when I need to access fields inside
a data frame (both, with "$" and within "[ ]"). My work around for now is
to delay the time Corfu takes to react, so it won't get in my way. But
still, every now and then blocks the R console (inferior-ess-r-mode) with
the following message
*Error running timer ‘corfu--auto-complete-deferred’: (error "Buffer
*ess-get-words* has no process") [3 times]*
I have a very basic configuration of Corfu and I already tried deactivating
other packages that might influence like orderless and cape, but the issue
persists. My config is this:
"""
(straight-use-package 'corfu)
(when (require 'corfu nil :noerror)
;; Setup corfu for popup like completion
(customize-set-variable 'corfu-auto-delay 0.5)
(customize-set-variable 'corfu-cycle t)
(customize-set-variable 'corfu-auto t)
(global-corfu-mode 1)
(when (require 'corfu-popupinfo nil :noerror)
(corfu-popupinfo-mode 1)
(eldoc-add-command #'corfu-insert)
(keymap-set corfu-map "M-p" #'corfu-popupinfo-scroll-down)
(keymap-set corfu-map "M-n" #'corfu-popupinfo-scroll-up)
(keymap-set corfu-map "M-d" #'corfu-popupinfo-toggle)))
"""
I found that the only definition of * *ess-get-words** in the ESS code is
for the function *ess-get-words-from-vector *but I am not sure how corfu
interacts with it and how I could help it. Probably my problem has to do
with the timeout parameter?
Any ideas would be helpful.
Thanks!
Manuel Teodoro
[[alternative HTML version deleted]]
More information about the ESS-help
mailing list