2

When using (i)ESS, I would like to function/variable/argument/filename completion on demand using the minibuffer, without triggering the company pseudotooltip front end.

I have tried the following:

(setq company-begin-commands nil)
      company-idle-delay nil)

This seems to work fine for all sorts of completion. Except, that when I call a function that has a lot of arguments, emacs becomes very unresponsive. For example, if I type:

print(

and press TAB after the parenthesis, the minibuffer will show, but typing will become nearly impossible (i.e. delay of 2 or 3 seconds between each typed character). Even if I disable company-mode the completion is sluggish so I wonder if this is an issue of ESS? How to solve this?

1
1

There's been a recent development that might solve the issue for people in the future.

It turns out that the contextual help at the bottom in the minibuffer that appears when you're getting autocomplete is massively inefficient. This seems to be an isolated issue when company-mode is on. The current "fix" is a flag someone put into a very recent version of ESS.

You can enable it by setting (setq ess-r--no-company-meta t).

You'll still get completion from company-mode. The only difference is that the sometimes helpful, sometimes not, line in the minibuffer that will say plot(x, y, main="", etc., ...) will not appear.

See the discussion on GitHub.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.