-
Notifications
You must be signed in to change notification settings - Fork 234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Emacs bindings #1386
Comments
And as an alternative binding for |
I don't think so: it is already bound (and AFAICT, |
My mistake, sorry. I always use |
It is also bound to C-x C-e (which is not harder to type than C-c C-e, contrarily to C-M-x for me), so we could free that binding... |
Hi @Chris00,
Indeed! so to sum up the suggestions regarding
|
I think that Btw, I've started playing with OCaml recently and I've noticed that Merlin's mode menu is almost empty: This doesn't help with the feature discovery. |
@Chris00 to follow-up your first post:
For C-c M-r: why not, but that's less convenient to type; Actually I'd like to suggest binding C-c C-v to this function ( |
Dear all, I believe the discussion led to good solutions (requiring few unbindings, for the sake of backward-compatibility), |
Here is an (exhaustive) list of the changes that the PRs involve:Tuareg changes (issue ocaml/tuareg#273 | PR ocaml/tuareg#309, ocaml/caml-mode#18)
Merlin changes (issue #1386 | PR #1668)
Here is a list of possible future changes (more discussion/work is needed):
|
(following the discussion in ocaml#1386)
(following the discussion in ocaml#1386)
(following the discussion in ocaml#1386)
(https://www.gnu.org/software/emacs/manual/html_node/elisp/Key-Binding-Conventions.html) Unbind <kbd>C-c C-h</kbd> and bind <kbd>C-h .</kbd> instead. Related: ocaml/merlin#1386 (comment)
(https://www.gnu.org/software/emacs/manual/html_node/elisp/Key-Binding-Conventions.html) Unbind <kbd>C-c C-h</kbd> and bind <kbd>C-h .</kbd> instead. Related: ocaml/merlin#1386 (comment)
(following the discussion in ocaml#1386)
(following the discussion in ocaml#1386)
(following the discussion in ocaml#1386)
(following the discussion in ocaml#1386)
CHANGES: Thu Sep 24 18:01:42 CEST 2023 + merlin binary - Improve error messages for missing configuration reader (ocaml/merlin#1669) - Fix regression causing crash when using ppxes under Windows (ocaml/merlin#1673) - Fix confusion between aliased modules and module types (ocaml/merlin#1676, fixes ocaml/merlin#1667) - Ignore hidden branches when listing occurrences (ocaml/merlin#1677, fixes ocaml/merlin#1671) + editor modes - emacs: fix/improve keybindings (ocaml/merlin#1668, fixes ocaml/merlin#1386): Unbind <kbd>C-c C-r</kbd> (to avoid shadowing `tuareg-eval-region`) and bind <kbd>C-c C-v</kbd> instead to `merlin-error-check`; rebind <kbd>C-c C-d</kbd> to `merlin-document` and bind <kbd>C-c M-d</kbd> and <kbd>C-c |</kbd> instead to `merlin-destruct`; bind <kbd>C-u C-c C-t</kbd> to `merlin-type-expr`. See also <ocaml/merlin#1386 (comment)> - emacs: remove use of obsolete `defadvice` macro (ocaml/merlin#1675)
CHANGES: Thu Sep 24 18:01:42 CEST 2023 + merlin binary - Improve error messages for missing configuration reader (ocaml/merlin#1669) - Fix regression causing crash when using ppxes under Windows (ocaml/merlin#1673) - Fix confusion between aliased modules and module types (ocaml/merlin#1676, fixes ocaml/merlin#1667) - Ignore hidden branches when listing occurrences (ocaml/merlin#1677, fixes ocaml/merlin#1671) + editor modes - emacs: fix/improve keybindings (ocaml/merlin#1668, fixes ocaml/merlin#1386): Unbind <kbd>C-c C-r</kbd> (to avoid shadowing `tuareg-eval-region`) and bind <kbd>C-c C-v</kbd> instead to `merlin-error-check`; rebind <kbd>C-c C-d</kbd> to `merlin-document` and bind <kbd>C-c M-d</kbd> and <kbd>C-c |</kbd> instead to `merlin-destruct`; bind <kbd>C-u C-c C-t</kbd> to `merlin-type-expr`. See also <ocaml/merlin#1386 (comment)> - emacs: remove use of obsolete `defadvice` macro (ocaml/merlin#1675)
CHANGES: Thu Sep 24 18:01:42 CEST 2023 + merlin binary - Add support for OCaml 5.1 - Improve error messages for missing configuration reader (ocaml/merlin#1669) - Fix regression causing crash when using ppxes under Windows (ocaml/merlin#1673) - Fix confusion between aliased modules and module types (ocaml/merlin#1676, fixes ocaml/merlin#1667) - Ignore hidden branches when listing occurrences (ocaml/merlin#1677, fixes ocaml/merlin#1671) + editor modes - emacs: fix/improve keybindings (ocaml/merlin#1668, fixes ocaml/merlin#1386): Unbind <kbd>C-c C-r</kbd> (to avoid shadowing `tuareg-eval-region`) and bind <kbd>C-c C-v</kbd> instead to `merlin-error-check`; rebind <kbd>C-c C-d</kbd> to `merlin-document` and bind <kbd>C-c M-d</kbd> and <kbd>C-c |</kbd> instead to `merlin-destruct`; bind <kbd>C-u C-c C-t</kbd> to `merlin-type-expr`. See also <ocaml/merlin#1386 (comment)> - emacs: remove use of obsolete `defadvice` macro (ocaml/merlin#1675)
CHANGES: Thu Sep 24 18:01:42 CEST 2023 + merlin binary - Improve error messages for missing configuration reader (ocaml/merlin#1669) - Fix regression causing crash when using ppxes under Windows (ocaml/merlin#1673) - Fix confusion between aliased modules and module types (ocaml/merlin#1676, fixes ocaml/merlin#1667) - Ignore hidden branches when listing occurrences (ocaml/merlin#1677, fixes ocaml/merlin#1671) + editor modes - emacs: fix/improve keybindings (ocaml/merlin#1668, fixes ocaml/merlin#1386): Unbind <kbd>C-c C-r</kbd> (to avoid shadowing `tuareg-eval-region`) and bind <kbd>C-c C-v</kbd> instead to `merlin-error-check`; rebind <kbd>C-c C-d</kbd> to `merlin-document` and bind <kbd>C-c M-d</kbd> and <kbd>C-c |</kbd> instead to `merlin-destruct`; bind <kbd>C-u C-c C-t</kbd> to `merlin-type-expr`. See also <ocaml/merlin#1386 (comment)> - emacs: remove use of obsolete `defadvice` macro (ocaml/merlin#1675)
(https://www.gnu.org/software/emacs/manual/html_node/elisp/Key-Binding-Conventions.html) Unbind <kbd>C-c C-h</kbd> and bind <kbd>C-h .</kbd> instead. Related: ocaml/merlin#1386 (comment)
(following the discussion in ocaml/merlin#1386)
CHANGES: Thu Sep 24 18:01:42 CEST 2023 + merlin binary - Improve error messages for missing configuration reader (ocaml/merlin#1669) - Fix regression causing crash when using ppxes under Windows (ocaml/merlin#1673) - Fix confusion between aliased modules and module types (ocaml/merlin#1676, fixes ocaml/merlin#1667) - Ignore hidden branches when listing occurrences (ocaml/merlin#1677, fixes ocaml/merlin#1671) + editor modes - emacs: fix/improve keybindings (ocaml/merlin#1668, fixes ocaml/merlin#1386): Unbind <kbd>C-c C-r</kbd> (to avoid shadowing `tuareg-eval-region`) and bind <kbd>C-c C-v</kbd> instead to `merlin-error-check`; rebind <kbd>C-c C-d</kbd> to `merlin-document` and bind <kbd>C-c M-d</kbd> and <kbd>C-c |</kbd> instead to `merlin-destruct`; bind <kbd>C-u C-c C-t</kbd> to `merlin-type-expr`. See also <ocaml/merlin#1386 (comment)> - emacs: remove use of obsolete `defadvice` macro (ocaml/merlin#1675)
After discussing with @monnier, @mattiase, and @erikmd about Tuareg documentation bindings, we would like to expand this discussion with the Merlin developers.
m︭erlin-d︭estruct
. May we suggest that C-c M-d be used for this (which is even more mnemonic 😀)....-eval-region
). What do you think of bindingmerlin-error-check
to C-c M-r?caml-types-show-ident
available throughxref
.merlin-occurrences
to M-? (throughxref
)?merlin-type-expr
(a good thing as it is reserved to the user). May we suggest to bind it to C-c C-t with a prefix?The text was updated successfully, but these errors were encountered: