ocaml / merlin

Context sensitive completion for OCaml in Vim and Emacs
https://ocaml.github.io/merlin/
MIT License
1.59k stars 233 forks source link

emacs : RFC : use auto-complete by default #114

Closed lehy closed 11 years ago

lehy commented 11 years ago

I feel that using auto-complete makes Merlin significantly more useful in Emacs. Installing auto-complete (either from os packages or M-x install-package) should be easy.

So I propose to instruct the user to install auto-complete (details about it being actually optional can be given in the wiki), and to enable merlin-use-auto-complete by default (currently it defaults to nil).

I can propose code and doc patches if that is considered a good idea.

trefis commented 11 years ago

I'm not fond of having auto-complete be the default for everyone. We've had a lot of problems related to auto-complete (sometimes it was our fault, sometimes it wasn't) which we never had with completion-at-point. The wiki already contains informations about how to use auto-complete with merlin, and has screenshots showing the visual difference between it and completion-at-point, I feel like that should be enough.

@asmanur : what do you think?

asmanur commented 11 years ago

Le samedi 5 octobre 2013 12:23:04, Thomas Refis a écrit :

I'm not fond of having auto-complete be the default for everyone. We've had a lot of problems related to auto-complete (sometimes it was our fault, sometimes it wasn't) which we never had with completion-at-point.

I agree with you. You should not be forced to install auto-complete to use merlin because it does not make any sense. As for setting the merlin-use-auto-complete to t, I don't think it is a good idea because this variables control whether to enable a default configuration for AC in ML buffers, thus overriding any user configuration. That's why I think it should default to nil: we should never enable by default setting that may override the user settings.

trefis commented 11 years ago

It's settled then.

lehy commented 11 years ago

Fine, but now I'm intrigued. Do you use completion-at-point yourselves with Merlin (rather than auto-complete)? Do you use any particular additional configuration ? I have tried, and found it not nice at all (opens another not syntax-highlighted buffer, wants me to use the mouse or switch buffers, is not incremental).

asmanur commented 11 years ago

hi,

I use mostly completion-at-point. I don't mind about the buffer since he disappears after that. Don't know what syntax highlight in this buffer could be used for since types are not very colorful anyway. Not sure why you use the mouse also, you don't need it.

Not sure what you mean by incremental but i'd say it is (you can press tab several times).

If you want to select a candidate, ok it's not really easy, but who does that anyway ?

On mar. 08/oct. 2013 (00:57), lehy wrote:

Fine, but now I'm intrigued. Do you use completion-at-point yourselves with Merlin (rather than auto-complete)? Do you use any particular additional configuration ? I have tried, and found it not nice at all (opens another not syntax-highlighted buffer, wants me to use the mouse or switch buffers, is not incremental).


Reply to this email directly or view it on GitHub: https://github.com/def-lkb/merlin/issues/114#issuecomment-25871066

lehy commented 11 years ago

OK, thanks.

(Just for the sake of completeness, I am personnally interested in selecting a candidate; incremental means you keeping typing and the completion list adjusts automatically (without retyping TAB); concerning syntax highlighting, a good (tabular) layout and different colors help distinguish the value names and their types IMO; finally I do not like it when Emacs messes with my displayed buffers, I like completions near the point in a popup.)