Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

emacs mode steals key bindings reserved to users #170

Closed
chaudhuri opened this Issue · 8 comments

4 participants

@chaudhuri

The key bindings C-c r, C-c l and C-c t are reserved for users per the Emacs Lisp key binding conventions. Merlin should not use them.

@chaudhuri

Here's one suggested fix: a3587c0

@trefis
Owner

I'd rather remove the default keybindings completly and let users define their owns than impose yet another set of arbitrary one and make use of the prefix argument.

But others might disagree? @def-lkb @asmanur @gasche

@chaudhuri

I agree with removing the default bindings for merlin-restart-process and merlin-use, but merlin-type-expr is too useful not to have a default binding.

i can live with having no default keybindings also, but maybe you can filter the baby from the bathwater.

@trefis
Owner

Fine by me.

And I'm ok with using the prefix to differentiate between merlin-type-expr and merlin-type-enclosing since they are closely related.
The "merging" (in some sort) of locate and use seemed unreasonable however.

I'll patch that soon.

@asmanur
Owner

We could use M-. for locate which seems to be an emacs standard to jump to definition (alias for find-tag, I guess it's ok to override that).

@rgrinberg

@asmanur
I'm not so sure about that. I use OCaml tags quite often with otags. Perhaps have M-. fallback to a normal tags lookup if the merlin look up fails?

@chaudhuri

Please don't steal M-. (or even M-,)! I don't use otags a lot but I can't live without ctags, and it would be too confusing if that binding changed its meaning in OCaml buffers. By a similar token, repurposing bindings from other popular programming (minor) modes for merlin is inadvisable.

The Emacs conventions suggest that minor modes use C-c <punctuation>. At least in my Tuareg setup the following are free: C-c ,, C-c :, C-c ;, C-c /. Unfortunately C-c . isn't free, but C-c C-. is.

@trefis
Owner

We'll never reach a consensus on such a subject, so I'll take the arbitrary decision of applying what me and chaudhuri agreed upon earlier.
People can then add whatever bindings they want to their own config.

@trefis trefis self-assigned this
@trefis trefis closed this in 8956069
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.