BetterThanTomorrow / calva

Clojure & ClojureScript Interactive Programming for VS Code
https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.calva
Other
1.62k stars 212 forks source link

Feature request: parinfer #253

Open allumbra opened 5 years ago

allumbra commented 5 years ago

Do you have any plan to support parinfer? I prefer it to paredit and it would be great to have it as an integrated choice.

PEZ commented 5 years ago

Hello. I would love to support parinfer. But VSCode makes it very hard/not possible.

allumbra commented 5 years ago

I'm currently using the Parinfer plugin - but I have to go through some effort so it doesn't conflict with the formatting and paredit features in calva

PEZ commented 5 years ago

Ah, I see. What efforts? Maybe we can ease the coexistence some.

allumbra commented 5 years ago

Actually I spoke too soon. With the new version of Calva - I'm unable to use paredit while Calva is enabled. With the old version - I had the formatter and paredit plugins disabled and it worked.

PEZ commented 5 years ago

I don't think that Paredit can interfere with Parinfer. But the auto-formatter certainly can. You mean it doesn't work to disable calva-fmt? Can you describe a bit more how it doesn't work? The new Calva shouldn't really change this, but it was a bit of work to inline the formatter back in Calva so I might have broken something.

allumbra commented 5 years ago

With both plugins installed - tabbing doesn't work and the parinfer control at the bottom of the screen is broken.

image

PEZ commented 5 years ago

Not sure what tabbing doesn't work means, but Calva assigns the tab key to formatting. Try assigning some other key to that.

I'll try installing both and see what I can find out.

PEZ commented 5 years ago

I can't reproduce the problem with the Parinfer mode toggle button.

Also, generally, it seems that Parinfer still works when I have both installed. Depending on workflow, Calva's autoformatter might conflict with Parinfer, so switching that off in settings might be what you want.

Again, I am not sure what tabbing is supposed to do with Parinfer, but it seems unlikely Calva would interfere apart from grabbing that key for Format current form.

bpringe commented 3 years ago

@smothers has asked about parinfer support, so I'm reopening this to at least extend the discussion a bit since we've had questions here and there about it. I'm unfamiliar with what issues there may be both with using parinfer with Calva (user end), and with making it play nicely with Calva (our end).

avocade commented 3 years ago

Is VSCode evolved to the point that it can match Atom’s capabilities for Parinfer’s “smart mode”?

Currently this is the only roadblock for me to go back to seriously trying VSCode again. Feel pretty stuck with Atom for now (which is extra painful now when running it on the new M1 Apple Silicon Macs... 😂).

bpringe commented 3 years ago

@PEZ Is the one who might know, but I'm not sure how recently he's looked into it, and what the issues really were before (and maybe still are).

PEZ commented 3 years ago

The VS Code team has yet to realize that this is even an issue. I doubt smartmode will ever be something we can enjoy in this editor.

avocade commented 3 years ago

I see, thanks! Trying the Cursive + IntelliJ combo now 👍

bowbahdoe commented 3 years ago

@PEZ What is it they haven't realized?

PEZ commented 3 years ago

@bowbahdoe , that the API does not allow smartmode to be reliably implemented.

cap10morgan commented 7 months ago

Can we re-open this? This is the only thing keeping me from using Calva, which in turns keeps me from using VS Code because any and all Clojure-in-VSCode momentum is behind Calva now. I wonder if the VSCode API has improved to the point where smartmode could now be implemented?

At any rate, parinfer does not currently exist and is still desired (by some / me). So maybe an open-but-blocked issue is a better reflection of its current / former status?

PEZ commented 7 months ago

I no longer think it is blocked by the VS Code API, because in my last attempt it seemed I found ways around this lacking.

However, it is blocked on some technical debt in Calva, which ultimately was what stopped me last time.

I don't know what to do with this issue. I don't have plans to address the lack of Parinfer, so it will take that someone else has such plans. I would definitely be there supporting anyone taking this on. Especially with the technical debt part of it.

cap10morgan commented 7 months ago

I don't know what to do with this issue. I don't have plans to address the lack of Parinfer, so it will take that someone else has such plans. I would definitely be there supporting anyone taking this on. Especially with the technical debt part of it.

Re-open with a "help wanted" label (or similar)?

And maybe link to an issue covering the tech debt if it makes sense to split that out?

PEZ commented 7 months ago

help-wanted sounds a bit too much like we have plans for it. 😄 But I don't mind having it opened.

cap10morgan commented 7 months ago

help-wanted sounds a bit too much like we have plans for it. 😄 But I don't mind having it opened.

Cool, thanks!

Yeah, if there's a better label for it, that seems fine. I know a lot of projects use help-wanted to mean "we're OK with this conceptually if someone else wants to work on it but we aren't currently prioritizing it." Perhaps pull-requests-welcome is a better fit? :)