reddit / emacs

Those of you who use org for your emacs config, how can I enable completion-at-point in org source blocks?

MarkofCorn · 2022-04-22 20:24
I think company can do this, but I use corfu, which extends the built in completion-at-point function. When I manually trigger completion, nothing happens.
jacobissimus · 2022-04-22 23:51
Source blocks open in the major mode specified by the header arguments—there’s nothing different about completions in the source blocks’ pop up and any other emacs-lisp-mode buffer.
MarkofCorn · 2022-04-23 00:41
I figured it out, I was missing a completion function for it. Issue was fixed by adding cape and enabling a completion "backend"
0lMon · 2022-04-23 01:28
Greetings, Can you expand more on your solution?
MarkofCorn · 2022-04-23 01:48
Sure! So corfu basically just provides UI for completion at point functions (capfs). [Cape](https://github.com/minad/cape) (completion at point extension) is another package written by the same author that adds more capfs when they aren't provided by something like a language server. If you are familiar with company at all, think of company backends. I only have the elisp symbol extension turned on at the moment; more are listed on the repo. After I enabled an extension, corfu autocomplete worked as expected. (use-package cape :init (add-to-list 'completion-at-point-functions 'cape-symbol) ;; (add-to-list 'completion-at-point-functions 'cape-dabbrev) ) tl;dr: my issue was that I didn't have a completion "backend" being provided by something like a language server, so I needed to add my own