conjure

:neovim:+:clj: https://github.com/Olical/conjure - If you're enjoying Conjure and want to say thanks: https://github.com/users/Olical/sponsorship :smile: (alt https://conjure.fun/discord)
Olical 2020-07-06T08:46:57.386900Z

So you can set the size of the HUD to take up the full width and 20% of the height of the screen, which might be useful. Although you might not like that it'll jump between the top and bottom to avoid hiding your cursor.

Olical 2020-07-06T08:48:59.387100Z

The splits can't be sized from Conjure right now, I have very minimal config for those. What you can do though is compose those minimal tools (which are just normal splits!) with your own mappings. So if you create a mapping (maybe move the original elsewhere if you want to use that through config) that calls the split mapping of your choice and then uses <c-w><c-p> to hop back to the previous window. You can do some resizing in between opening and hopping back to the other window too!

Olical 2020-07-06T08:54:04.387300Z

let g:conjure#log#hud#width = 1 will make the HUD take up the full width.

Olical 2020-07-06T08:58:38.387500Z

Adding some config about the HUD positioning / auto positioning too, so you could always lock it to the bottom taking up the full width and like 15% of the height (for example)

Olical 2020-07-06T09:07:33.388300Z

> Adding some config about the HUD positioning / auto positioning too, so you could always lock it to the bottom taking up the full width and like 15% of the height (for example) Resharing from thread. Sound useful or useless to any others? If the current behaviour is fine for 99.9% of people maybe it's not worth it.

Olical 2020-07-06T09:07:44.388600Z

Just thinking slightly more flexibility around the HUD could be nice.

dharrigan 2020-07-06T09:37:40.389Z

Configuration options are useful, but I don't mind the defaults atm.

dharrigan 2020-07-06T09:37:50.389300Z

You can be opinionated about your software πŸ™‚

dave 2020-07-06T10:35:23.391900Z

I think it's a useful thing to have, although I wouldn't use it right now myself (I'm happy with the default position and size). I can easily imagine having some other plugin that does something in that part of the screen, and wanting to be able to configure the HUD to pop up in a different place.

Chase 2020-07-06T15:32:58.393300Z

Just being able to make the HUD wider was perfect for my needs there with my limited screen space. I don't think I would use this new route you are suggesting. I like the HUD for small checks and then if it's not big enough just popping open the log. I'm really liking what you have been doing with Conjure!

Olical 2020-07-06T15:39:58.393600Z

Oh awesome! Glad to hear it πŸ˜„

Chase 2020-07-06T15:52:19.396700Z

So what are your folks' current method to start a nrepl that conjure automatically hooks into using deps.edn? Just having cider/cider-nrepl in my .lein/profiles.clj works when calling lein repl but I haven't figured out the same ease of use with the cli tools. I put a :nrepl alias in my .clojure/deps.edn with the same cider/cider-nrepl dependency but nothing happens when calling it with clj -A:nrepl . I think I'm missing some main-opts thing or something?

Olical 2020-07-06T15:54:05.397500Z

https://github.com/clojure-vim/vim-jack-in may float your boat (if you're okay with tying your editor to your program process) Otherwise, I use this script when working on Conjure's Clojure support

clj -A:nrepl:cider \
    -m nrepl.cmdline \
    --middleware "[cider.nrepl/cider-middleware]" \
    --interactive

Olical 2020-07-06T15:54:20.398Z

(with nrepl and cider in my deps.edn)

Olical 2020-07-06T15:54:42.398500Z

That should create a .nrepl-port file, perhaps if you don't use --interactive it skips it?

dave 2020-07-06T16:10:46.399100Z

i have this alias in my personal deps.edn: https://github.com/daveyarwood/dotfiles/blob/f72006ed41af1ae9724d571403151af90e7ddf45/clojure/deps.edn#L8-L10 allows me to run an nrepl server in the context of any project by running clj -Anrepl-server

dave 2020-07-06T16:11:12.399600Z

that does not include the cider middleware, if you want that then adjust it to be more like what @olical posted

Chase 2020-07-06T16:16:04.400600Z

ok, awesome, I'll try this out now. I'm confused between this nrepl versus cider-nrepl and if I actually lose anything in the process. Not sure I need the middleware either as I'm really just evaluating functions and expressions

Olical 2020-07-06T16:17:53.401400Z

The cider middleware is optional and only for go to def and completions IIRC

Olical 2020-07-06T16:18:46.403Z

The next nREPL version actually brings some basic versions of these concepts in by default without any extra middleware. So it'll become even more optional!

Chase 2020-07-06T16:20:57.404500Z

Oh nice. I do want that go to def and completions functionality. I'm probably just going to stick with lein and lein repl as it does exactly what I need. I feel like unfortunately we just aren't going to be able to choose sides though and will have to learn both because half the projects I explore use one and half use the other. I'm getting too off topic though.

dave 2020-07-06T16:22:15.405700Z

i would just add the --middleware "[cider.nrepl/cider-middleware]" option

1πŸ‘
dave 2020-07-06T16:22:38.406400Z

then go to def and completions should just workβ„’ with conjure

Olical 2020-07-06T16:22:54.406800Z

Yeah, I tend to flip between clj and lein projects with things constantly trending towards clj. I think lein repl is totally fine, vim-jack-in can be convenient and deps.edn stuff isn't too bad at all in the long run πŸ™‚ I hate stuff that takes endless config to get working but I've found that it's pretty minimal on the whole. Just enough to be flexible.

Chase 2020-07-06T16:49:01.407600Z

is there a way to print out the entire stacktrace in the log on an error? (pst) doesn't seem to be right. edit: *e seems to work.

nate 2020-07-06T16:50:29.408200Z

,ve (leader v e) for view exception

Chase 2020-07-06T16:50:38.408400Z

oh nice! Thanks

Olical 2020-07-06T16:53:48.410100Z

I have no pretty error output right now, mostly because I know if I spend the time doing it I'll put my own opinions into it and accidentally elide something important. So dumping the pretty printed data seems more than good enough for most. Even if it looks a little scary sometimes.

Olical 2020-07-06T16:54:05.410700Z

So yeah, ,ve is the same as evaluating *e

nate 2020-07-06T16:56:00.412300Z

I really like the strategy of "show the exception message, and press ,ve for more info", it really works well and lets you get the full stack trace when you really need it, not every time

1βž•
Chase 2020-07-06T16:56:22.412600Z

Yup, I like it too. And that it is already pprinted