Fork me on GitHub
Martynas Maciulevičius04:06:32

Does anyone know why Conjure decides not to work on some of my source files? I'm trying to open up a larger Clojure project. When I jump to a source file it's not picked up as a Clojure source. Previously I thought it's because the filepath has an underscore in it. It simply loads the file without highlighting. But then also some other paths don't match too and those are 4-level nested ones. So I'm not even sure how the matching works now. All of these files are in the same .git tree and they are all .clj files. I can jump to them via the definitions but <localleader> isn't bound. Is there a debug log somewhere? Should I make reproduction repository?

Martynas Maciulevičius05:06:25

I restarted the editor and it somehow worked. So I'm not sure why it didn't pick up part of the sources 😕


Hmm it won't be Conjure if you have no highlighting, Conjure uses your highlighting but has no say in it. That sounds like another plugin conflicting with something or maybe a startup error in your Neovim config that caused parts of it to not load.

Martynas Maciulevičius14:07:00

Probably. I'll know what to look for. Thanks.

Martynas Maciulevičius05:06:28

How would one jump to a failing test? I think it's not possible :thinking_face: Also how I could rerun all previously failing tests? Also running tests on a dirty buffer doesn't save the buffer and reevaluate it. So I have to do it by hand which is additional thinking.


There's no failing test jumping yet, not sure how that'd be implemented at the moment, there may be other CIDER APIs that would need to be used and parsed to support that. Same goes for running failed tests. Combining eval and test may work for some users workflows but not others, so keeping them separate but letting you combine them is the better approach here. A coupled thing is hard and fiddly to uncouple (extra config, error handling complexity) but a decoupled thing can be combined in your specific situations if you need.


I do want to support CIDERs expanded test runner tools at some point but I'm trying to support Clojure, ClojureScript and Kaocha test runners so far, so I'll need to make sure that trifecta still works flawlessly even if I start running the tests through a totally different system. I may need to implement feature detection on your REPL to work out what I can do for testing then write a UI that can render the output of multiple test systems. So it's pretty tricky but not impossible and something I'd like to do. Until then, I highly recommend my normal workflow: Use Kaocha with file watching in another window. This works fantastically and has the added benefit that when I build a repo at work with this set up, all of my colleagues get the same testing UX, no extra editor tooling required.

Martynas Maciulevičius14:07:00

What I would suggest is to implement "jump to file+line" based on the log output. Then you could press a key and jump to a location that is marked by my_namespace_test:152. Something similar to plugins that jump to words or letters. Of course the full path would be needed to do that but it could probably be found somehow. And at the same time it would be independent from the underlying test runner (IMO). I don't know how useful it would be though. Maybe not too useful. I don't know. I'm kind of used to CIDER's test runner result buffer but I'm also not happy that I can't use VI-like movements there. Yeah, sissy spacemacs user here.