parinfer

cfleming 2017-07-11T00:03:23.685495Z

@shaunlebron BTW my question about the demo site was more whether I could easily spin up a webpage to try the code right from the parinfer repo (without having to integrate it in Atom or whatever). If that’s not easy, don’t worry about it.

chrisoakman 2017-07-11T01:01:04.398518Z

@shaunlebron Shouldn't this change bump the major version number? Seems like a backwards-incompatible change to the API.

shaunlebron 2017-07-11T01:33:59.793625Z

published 3.0.0

🎉 3
sekao 2017-07-11T04:39:30.705943Z

@shaunlebron i can't wait to integrate it into all my projects! btw, do you find that streaming helps you work through problems? i plan on trying it for a new project i'm about to start. do you use OBS to record?

chrisoakman 2017-07-11T04:40:52.719060Z

I apologize if this comes off as alarmist, but I am waiting to integrate 3.0.0 into atom-parinfer for the time being. I'm not sure all of the parinfer test cases are running correctly with this change.

chrisoakman 2017-07-11T04:42:57.739142Z

The test case annotation code is somehow inside the parinfer library and the test harness isn't even calling public API methods. Maybe everything is working fine, but difficult to be sure. Also the test harness code still references cursorDx.

chrisoakman 2017-07-11T04:43:44.746223Z

Everything is probably fine, just needs to be moved around some.

cfleming 2017-07-11T05:11:14.008441Z

@sekao Are you still using parinfer-jvm, or are you only maintaining JS editors these days?

onetom 2017-07-11T05:19:55.090754Z

@sekao when he was cmd-tabbing around i saw the OBS icon

sekao 2017-07-11T05:33:10.218886Z

@cfleming just JS now. Once you get the changes into the jvm lib I'll definitely bring that into cross-parinfer though

cfleming 2017-07-11T07:02:09.303942Z

@sekao Ok. Is anyone using cross-parinfer that you know of?

cfleming 2017-07-11T08:00:25.355137Z

Just thinking about possible API changes - my version has diverged a bit from parinfer-jvm

shaunlebron 2017-07-11T11:18:50.510554Z

@sekao: I expected streaming to slow me down a bit, but I think the focus/clarity of talking to an audience actually made me get a lot more done

shaunlebron 2017-07-11T11:20:08.533316Z

it helped me get two major features done in two streaming sessions, so I’m definitely going to keep doing it

shaunlebron 2017-07-11T11:20:50.546205Z

and yes, I was using OBS

shaunlebron 2017-07-11T12:06:12.403418Z

@chrisoakman yeah, i understand your concern here. the tests call special test methods which in turn call the public API

shaunlebron 2017-07-11T12:12:22.531589Z

so before, we trusted the external test parser to create reliable input and output, but now we are trusting the internal parser to do so. i don’t think it’s any different

shaunlebron 2017-07-11T12:12:26.532891Z

if you’re still worried about it, I may not be able to address that this week

eraserhd 2017-07-11T13:15:31.115879Z

Been wondering if there's any benefit to updating nvim-parinfer to use a newer parinfer.js thinger?

eraserhd 2017-07-11T13:15:50.125559Z

I've been hoping for smarter indent/undent.

eraserhd 2017-07-11T13:23:38.364529Z

Oh, it's on 1.8.1

eraserhd 2017-07-11T13:30:24.580374Z

If I understand correctly from the chat log, 3.0.0 changed the interface in preparation for new features we don't have yet, right? So it's useful to update to 3.0.0, but mostly it is just fixes and interface changes?

chrisoakman 2017-07-11T13:32:22.646650Z

3.0.0 changes the public API and adds significant new functionality

eraserhd 2017-07-11T13:32:36.654512Z

Ahhh. That's appealing.

eraserhd 2017-07-11T13:40:25.916068Z

I just bumped the nvim-parinfer refactor PR @snoe ... let me know if there's anything I need to do to make that acceptable for merge (or if it sucks :)

sekao 2017-07-11T15:19:49.719568Z

@cfleming i don't know of anyone else using it

sekao 2017-07-11T15:24:27.903119Z

@shaunlebron the "rubber duck" aspect of streaming sounds useful. i also expect i'll be less tempted to waste time browsing the web if i know my screen is being recorded 😄

rgdelato 2017-07-11T17:49:09.071755Z

@cfleming has already been playing around with it, but I updated the cursorDx proof-of-concept fork to use the new v3 API (and probably also introduced a ton of inefficiency, but hey): https://github.com/rgdelato/atom-parinfer/tree/cursor-dx-poc

cfleming 2017-07-11T21:43:28.487690Z

I’ll be playing around with @rgdelato’s fork some more this afternoon, and creating test cases in the parinfer repo for problem cases that I find. I’ll try to fix them too.

cfleming 2017-07-11T21:45:48.544746Z

Thinking about it last night, I suspect the change dx calculation might be a bit simplistic right now. For example, if someone pastes in some unbalanced code with a lot of extraneous close parens, they’ll be removed by the algorithm and should be taken into account for the dx.