I want to bump the version of cider/cider-nrepl to 0.57.0. I tried adding that version to :deps in project deps.edn and ~/.clojure/deps.edn to no effect.
Is there an option to set the version or do I have to override the jack in command entirely?
Jack-in produces a command line which injects configured versions the nrep tooling, effectively overriding what is configured in deps.edn. There is currently no way to disable this. But you can change the configuration via the setting calva.jackInDependencyVersions. See: https://calva.io/customizing-jack-in-and-connect/#jack-in-dependency-versions
Thanks! Looking forward to being rid of https://github.com/clojure-emacs/cider-nrepl/issues/936 by going to 0.57.0.
Thanks for heads up. We should update the defaults in Calva.
Some of the Calva Paredit keybindings conflict with Ubuntu's window manager keybindings. I remapped the paredit bindings to the keypad. (I didn't want to disable the Gnome keybindings since some are useful to me.) What do other people do about these keybinding conflicts? (My experience in the thread)
Problem keybindings I noticed (Gnome mapping in parens) transpose - ctrl+alt+t (new terminal) barfSexpBackward - ctrl+shift+alt+left (switch workspace left) backwardDownSexp - ctrl+alt+up (switch workspace up) backwardUpSexp - ctrl+alt+down (switch workspace down) I could find new bindings for these in VSCode, but that made it even harder to remember the keybinding patterns
What I did:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Forward list nav β
β β
β Forward Up: Numpad9 β
β Forward Down: Numpad3 β
β Forward Up Select: Shift+Numpad9 β
β Forward Down Select: Shift+Numpad3 β
βββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββ
β Backward β β Forward β
β list β β list β
| | | |
β Move: Numpad4 | β Move: Numpad6 |
β Select: Shift+Numpad4 β Select: Shift+Numpad6
β Barf Backward: Shift+Alt+Numpad6 β Slurp Forward: Alt+Numpad6
| Slurp Backward: Shift+Alt+Numpad4 | Barf Forward: Alt+Numpad4
βββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββ
β Backward list nav β
β β
β Backward Up: Numpad7 β
β Backward Down: Numpad1 β
β Backward Up Select: Shift+Numpad7 β
β Backward Down Select: Shift+Numpad1 β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ- movement keys align with direction (eg 7 is backward up and is the left upper key on the keypad) - slurp/barf keys align with cursor movement, shift changes to left part of the structure - holding shift does selection for movement I find this setup easier to memorize, but it does require a 101 key keyboard.
Aside: to make the keypad recognize Shift+NumpadN, I had to go into Gnome Tweaks and turn on "Shift with numeric keypad keys works as in MS Windows", otherwise the shift key changed the keypad to the arrow keys (which had other conflicts)
And in comments the calva select is turned off due to the commands when. Because cursorWordEndRightSelect and cursorWordLeftSelect aren't set, the 4 and 6 are actually sent (overwriting your text). Just set Shift+Numpad4, ... for cursorWordLeftSelect... to fix this
I remapped using ; as a chord key for most of those conflicting keys. Just an example "; RightArrow" is Slurp Forward for me. I use #_ and (comment) for most comments so really don't miss the ; key, though I can hit it twice to get an actual semi-colon.
Oh, that's a good idea! It could actually be anything unused too, like the eject key or something. Years of using emacs has made me a little wary of chords in other editors, but there is value in having everything be close to home row.
Doc issue and Q about jack-in dependency versions:
I searched for calva jack in dependency and ended up here: https://calva.io/jack-in-guide/ -- which says "If you came here to find out how to configure the versions of the dependencies that Calva Jack-in injects, see Customizing Calva - Jack-in Dependency Versions." and links to https://calva.io/customizing/#jack-in-dependency-versions but that's no longer correct. Looks like that was moved to https://calva.io/customizing-jack-in-and-connect/#jack-in-dependency-versions at some point.
And now my Q: that says to use "nrepl" and "cider-nrepl", but "cider/piggieback". As coordinates, nrepl is fine -- it's actually nrepl/nrepl -- and cider/piggieback is fine. But cider-nrepl is not a valid coordinate since it is treated as cider-nrepl/cider-nrepl which doesn't exist: the correct coordinate is cider/cider-nrepl. So... are the docs actually correct here? Are "nrepl" and "cider-nrepl" special strings that Calva recognizes and maps to real coordinates, or should the config have "cider/cider-nrepl" instead?
Thanks! Itβs a bit confusing, yes, and we could improve the docs. But the settings to use are actually, the non-qualified keys. The code looks like so:
export enum JackInDependency {
'nrepl' = 'nrepl',
'cider-nrepl' = 'cider-nrepl',
'cider/piggieback' = 'cider/piggieback',
}
const NREPL_VERSION = () => getConfig().jackInDependencyVersions['nrepl'],
CIDER_NREPL_VERSION = () => getConfig().jackInDependencyVersions['cider-nrepl'],
PIGGIEBACK_VERSION = () => getConfig().jackInDependencyVersions['cider/piggieback'];
const cliDependencies = () => {
return {
'nrepl/nrepl': NREPL_VERSION(),
'cider/cider-nrepl': CIDER_NREPL_VERSION(),
};
};
...
I think it dates back to when it was fine with unqualified symbols, and itβs disruptive to change the settings keys.
Issues welcome for both things.So... nrepl and cider-nrepl... but cider/piggieback instead of just piggieback? π€£
I have no idea why that happened. π
Well, piggieback never has had a maven coordinate without namespace. So thereβs that. Neither has cider-nrepl, I think, but anyway.