parinfer

shaunlebron 2024-08-04T06:09:07.212149Z

I just pushed parstager 1.0.0 to make it work with editors that trim whitespace.

👏 1
shaunlebron 2024-08-04T06:10:35.080569Z

Been using it for a while, and I think it solves the collaboration issue. Funny I didn’t think of it before.

shaunlebron 2024-08-04T06:13:48.164769Z

Sometimes I’ll accidentally save clojure files with only parinfer changes. Running parstager cleans it up quick.

shaunlebron 2024-08-04T06:15:18.979549Z

And when I’m reviewing small changes in a large clojure file, the diffs are huge until I run parstager, and it restores the formatting of all top-level forms I didn’t change.

shaunlebron 2024-08-04T06:18:03.124509Z

So, almost 10 years later, parstager fixes parinfer on teams. Has anyone else been using it?

reefersleep 2025-03-04T11:18:34.456039Z

I'm having a lot of trouble getting up to speed in regards to code navigation/code overview in nvim in the quality I have in IntelliJ/Cursive.

shaunlebron 2025-03-04T06:48:52.985899Z

I was on nvim/conjure/parinfer-rust, but switched to Cursive for its code navigation

shaunlebron 2025-03-05T16:38:54.127309Z

yeah, fuzzy search for all known symbols or namespaces, and navigating java libraries, I don’t know how to do these in nvim

reefersleep 2025-03-05T16:58:07.163209Z

For me it's the lack of search pinning that really hurts. I want to refac an fn that is called by fns that are called by fns. Keeping track of something like that is manageable for me in Cursive, but I haven't found a good way to do it in nvim

reefersleep 2025-03-05T17:02:22.184639Z

And there are nicks and cuts all over, like missing the searches you mention, and stuff like Telescope/LSP finding irrelevant results (like source maps "using" CLJS function, and therefore ending up in a "find references" search result)

shaunlebron 2025-03-01T05:08:13.591409Z

I think it should run before git status or git diff, but git hooks only exist for write operations

reefersleep 2025-03-01T07:41:16.038909Z

Ah. Well, you could glue them together in a tiny utility script?

reefersleep 2025-03-01T07:41:49.686299Z

I'm going to try some tiny script that fits my workflow, anyway

reefersleep 2025-02-27T15:20:29.946669Z

I just discovered you writing this. Have you integrated parstager with a script or something for your work? Or do you run it manually?

reefersleep 2025-02-27T15:20:54.212579Z

The automatically-indenting-a-whole-file thing is a big turnoff for me, but I love Parinfer otherwise 🙂

reefersleep 2025-02-27T15:21:00.811009Z

So this could be my savior!

shaunlebron 2025-02-27T17:38:16.980729Z

nothing automated, yeah just manually running it, just reactively as a first step before reviewing changes to commit

reefersleep 2025-02-27T17:43:27.000009Z

Alright, thanks 😊

reefersleep 2025-03-01T10:33:24.573919Z

I use git commit --p almost exclusively, btw, rarely use diff or status. So I can maybe git hook onto commit.

shaunlebron 2025-03-02T02:20:58.292059Z

oh cool, I always use git add -p, maybe I should use that instead. but yeah it’d be easy to wrap that in a script

shaunlebron 2025-03-02T02:21:53.160429Z

what editor are you using btw

reefersleep 2025-03-02T06:32:22.335359Z

nvim for small, generic text edits, Cursive for general Clojure coding. That's how it's been for many years. But I'm trying to get nvim to a state where I can comfortably do Clojure code in it, so I'm trying out gpanders/parinfer and doing a lot of other configging 🤓

shaunlebron 2024-08-04T06:19:16.343689Z

https://github.com/parinfer/parstager

mikeb 2024-08-04T16:37:22.175329Z

Awesome. It's been some time since I've used parinfer, can I ask what editor(s) would you recommend using parinfer with these days?

Chris Oakman 2024-08-05T14:17:28.002209Z

My daily driver for Clojure is Sublime Text with this plugin for Parinfer: https://github.com/oakmac/sublime-text-parinfer Package control: https://packagecontrol.io/packages/Parinfer The plugin supports Indent and Paren Mode (ie: no Smart Mode), but I don't really notice the difference. I am in Indent mode 99% of the time.

shaunlebron 2024-08-04T18:55:44.566299Z

I mainly use eraserhd/parinfer-rust in neovim (with conjure for repl). It messes up indentation sometimes when inserting an open-paren, and I lose my undo history fairly often.

shaunlebron 2024-08-04T18:57:31.822859Z

I also use Cursive when I need good code navigation features since it's really good at finding usages and opening Java sources.

shaunlebron 2024-08-04T18:58:35.261629Z

I haven't noticed any problems with Cursive's implementation of Parinfer, but I use it a lot less.