Fork me on GitHub
#spacemacs
<
2020-04-06
>
didibus01:04:38

Anyone know how I would override a spacemacs binding?

didibus01:04:00

Like say I want to change what SPC m s L does?

didibus01:04:48

I used to just call define-key over the same keymap and it would work, but with today's update, it seems it no longer does. So I'm thinking maybe I wasn't doing it the proper way

didibus04:04:31

Found it, you need to use spacemacs/set-leader-keys-for-major-mode

practicalli-johnny09:04:55

@didibus could you share what you want to switch the keybinding to and why you find that a useful alternative? Thanks.

didibus18:04:03

Ya, I want to change s L for clojure major leader so that instead of clearing the repl output, it clears the REPL buffer

didibus18:04:41

I also thought of changing s l to that as well.

didibus18:04:04

s l right now runs cider-repl-clear-buffer, which only clears the repl buffer if you are inside the repl buffer. And s L does cider-find-and-clear-repl-output

didibus18:04:24

Which can clear the repl output no matter where you are

didibus18:04:12

clearing output and clearing buffer is different. Output clears the last output, not the whole buffer. While clearing buffer clears the whole buffer

didibus18:04:37

My thought was to make: s l clear the buffer no matter where you are, and s L clear the output no matter where you are

didibus18:04:59

You think I should contribute a PR to clojure layer with that change?

practicalli-johnny20:04:17

People don't like changes to their keybinding... but usually only tell you about it afterwards. I almost never use the REPL buffer, although it seems people do and also push a lot of text through it as well, like logs which seems a recipe for slowing down Emacs.

practicalli-johnny20:04:33

Rather than changing existing keybindings, there are a few other options.

practicalli-johnny20:04:16

1) config to use SPC u with each if the existing keybindings to clear the whole buffer

practicalli-johnny20:04:04

2) create 2 other keybindings to clear the whole buffer

practicalli-johnny20:04:18

Saying that, the change to SPC m s l would have no impact and seems to make sense. Capital letters typically represent a destructive action, so changing SPC m s L to clear the whole buffer makes sense.

practicalli-johnny20:04:39

So yes, a PR for changing the commands for the existing keybindings seems okay. However, I do share any changes with this channel and on the Spacemacs Gitter chat, just so people know it's coming.

practicalli-johnny20:04:07

If you want, I can do a PR for this tomorrow.

didibus20:04:38

I have the code already, I can make a PR. I needed to write a new util function, because to find buffer and clear buffer you need to call cider-find-buffer-and-clear-output with the universal arg set

didibus20:04:01

I might just change s l to be that. Like you said, it wouldn't break anyone, just allow them to also use it if they are not currently on the REPL buffer. Though I haven't tried it with multiple repl open. I don't know how it "finds" the right one in that case

didibus20:04:51

BTW, at first I was mad at the binding changes you had made too, but now I've come to prefer them. Much better layed out, better mnemonics, so thanks for that

didibus03:04:19

Got a PR for it on Spacemacs fyi