This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # admin-announcements (113)
- # announcements (6)
- # beginners (18)
- # boot (294)
- # bristol-clojurians (3)
- # cider (90)
- # clojure (122)
- # clojure-berlin (42)
- # clojure-czech (1)
- # clojure-dev (19)
- # clojure-italy (4)
- # clojure-japan (5)
- # clojure-korea (10)
- # clojure-russia (1)
- # clojure-uk (5)
- # clojured (1)
- # clojurescript (179)
- # datomic (2)
- # editors (10)
- # indycljs (1)
- # jobs (1)
- # ldnclj (29)
- # off-topic (33)
- # onyx (11)
- # reagent (48)
- # yada (18)
@bozhidar: I think it’s because it’s targeting Java devs as u point out. I came from Java and although I had some experience with Vi (not Vim) before and loads of Eclipse (bit of IntelliJ & Netbeans) I decided to learn Emacs at same time as Clojure. I suffered for ages before I got used to it but I’m glad I persevered. However, encouraging Java dev’s (most of whom have never used Emacs or Vim) to use different tools and a different language might just kill Clojure adoption. Get them hooked on Clojure, then work on editors that subsume your entire toolset! 😉
I’m surprised that 5 years after the death of enclojure, there’s still no NetBeans support for Clojure, though
A while ago @bozhidar mentioned the hyper and super key. I'd like to voice that I very much prefer them to be left alone. I use them for window manager stuff because almost no application interferes with them. When running out of keybindings, one way of dealing with it could be to just bind the most important commands and list other interesting commands in the documentation for users to bind at will. For example I override C-v and C-b to be more or less my own C-x and C-c: I use C-v as a prefix for global keybindings and C-b as a prefix for local, mode-specific ones.
I’ve added such keybindings to my personal config and I’ve never had issues with them
@bozhidar: When I've bound
s-e for something in my WM then the
C-c s-e won't reach emacs at all, no?
@bozhidar: yep… I wish it wouldn’t! Some
Control bindings seem impossible to unbind
Yeah, sure. And on Windows and GNU/Linux most WMs use Alt. But usually its much easier to change the good dozen of important WM bindings rather than the gazillion emacs bindings.
this reminded me that OS X’s WM, is probably the only one which doesn’t interfere with the brilliant keybinding
@bozhidar: I'm still in favor of magit-popups. They essentially are nested keymaps with a very nice, discoverable UI. And they don't just nest, they can also be cyclic! http://paste.lisp.org/display/151626
don’t get me wrong - I don’t mind having something like this for CIDER, but I wouldn’t impose it on all users by default
What's the annoyance? The minimal flicker when typing
C-c a b and thereby quickly switching 2 popup windows you can simply ignore once you memorized the binding?
The problem is that the popup bindings are only valid in the popup buffer so it needs to be displayed and selected.
But the keymap could be used as overriding-local-map for 0.x secs before the popup buffer is shown. Thus when you type fast enough, no popup buffers would be shown at all.
@tsdh @bozhidar hydras can do that delay thing https://github.com/abo-abo/hydra/wiki/internals#idle
@arrdem 0.10.0 does debug defmethods, but I'm not sure if it's able to keep track of which ones are instrumented.
@malabarba: okie doke, just gonna be debugging some multimethod heavy stuff today and figured I'd ask
@malabarba I guess I'll need to have a look at hydras at some point. Until now I've just disqualified it as something for vim guys.
@tsdh they're really just keymaps with visual feedback,and a ton of other features tacked on. Frankly, I've never used one because I know my personal keymaps by heart, but they look very practical useful.
One of the extra features is that the keymap can be repeatable, which is how it's usually advertised, and that's why it kinda looks like a vim thing.
@malabarba Yes, in just reading the readme. I'm not really sure if that succession thing is good when the aim is just to bind lots of commands in nested keymaps. I mean, if makes sense for zooming and other stuff that's usually repeated a few times...
@tsdh yes,but that's optional. They can be just regular keymaps (which is the most useful case imo).
clojure-mode README only talks about how to change the indentation of specific keywords, but I recall there being a setting that changed the default behavior of how the function arguments are indented
@malabarba: i tried the debugger today on a project using boot. it mostly works ok, but in some cases (i think relating to quitting the debugger and such) you end up with emacs show a $random-tmp-path/the_file.clj buffer instead of src/the_file.clj. Easy to then end up editing this tmp file instead of the real file and then lose changes. I reckon this has something to do with the filesets and pods of boot (which is a great idea in general).
i’ll see if i can pin down the circumstances of when i end up editing tmp-files instead of src/ files.
so I’m obviously missing something here - I’m trying to get CIDER 0.9.1 up and running in Emacs 24.5/Emacs Live so I can run a clj/cljs workflow and I …don’t have
cider-jack-in-cljs at all, nor does
M-x customize-variable <RET> then find
cider-cljs-repl at all
I did go look in my clojure-pack/lib/cider dir and it claims to be 0.9.1 and my ~.lein/profiles.clj has`[cider/cider-nrepl "0.9.1”]`
@malabarba: ah, i figure it’s using tools.namespace.repl/refresh sort of workflow with boot. the “real” files that gets compiled and such are the tmp files, so i guess that’s what the debugger finds and then when switching buffers and such it’s using a buffer for the real file in the fileset tmp dir, not the src/ file. seems logical. but very dangerous combination
@malabarba: it’s a general issue, i.e. jumping in stacktraces and all that kind of stuff naturally will be operating on the fileset tmp dir files. so debugger unrelated.
@sundbp what version of cider are you in? and which key/command are you using for debugging the function?
it generally makes sense though. this is my refresh function for compling stuff: (defn refresh  (apply repl/set-refresh-dirs (b.c/get-env :directories)) (repl/refresh))
(get-env :directories) in boot will give the directories of the immutable fileset tmp-dir where things get copied to.
so tools.namespace will compile the files of boot’s tmp dir. then cider will naturally pick those up in all the tooling.
and if one isn’t careful disaster follows as one starts to edit “immutable” throw away files
the way boot does it is really smart in one aspect, but it’s bound to screw up a lot of tooling.
It surprises me a little, because the debugger actually does its own thing for tracking the file name. But it looks like that's getting overwritten somehow
i.e. trigger an exception, then pick a file i nthe stack trace and RET to jump to it, and you end up in tmp-file.
now when thinking it through i reckon it may be a cider wide issue where one may need some conversion of xxxxx/a/path/a_file.clj to src/a/path/a_file.clj, (but searching through resource-paths of boot for matching up the src path as it could be called something else). sounds like a pain..