Anyone know how I would override a spacemacs binding?
Like say I want to change what SPC m s L
does?
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
Found it, you need to use spacemacs/set-leader-keys-for-major-mode
@didibus could you share what you want to switch the keybinding to and why you find that a useful alternative? Thanks.
Ya, I want to change s L for clojure major leader so that instead of clearing the repl output, it clears the REPL buffer
I also thought of changing s l
to that as well.
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
Which can clear the repl output no matter where you are
clearing output and clearing buffer is different. Output clears the last output, not the whole buffer. While clearing buffer clears the whole buffer
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
You think I should contribute a PR to clojure layer with that change?
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.
Rather than changing existing keybindings, there are a few other options.
1) config to use SPC u with each if the existing keybindings to clear the whole buffer
2) create 2 other keybindings to clear the whole buffer
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.
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.
If you want, I can do a PR for this tomorrow.
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
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
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
Got a PR for it on Spacemacs fyi