These are chat archives for ensime/ensime-atom

18th
Feb 2016
Matthew de Detrich
@mdedetrich
Feb 18 2016 01:04
@hedefalk Do you want me to make a issue with a reference to the repo I stated earlier (regarding false import issue)
So we can track it
Viktor Hedefalk
@hedefalk
Feb 18 2016 06:47
@mdedetrich Yes please!
Matthew de Detrich
@mdedetrich
Feb 18 2016 09:01
@hedefalk ensime/ensime-atom#177
Matthew de Detrich
@mdedetrich
Feb 18 2016 09:21
@hedefalk https://github.com/hedefalk/scala-js-atom was this your attempt to make facade’s for Atom.io?
Viktor Hedefalk
@hedefalk
Feb 18 2016 09:28
@mdedetrich Hehe, yeah, I just made a skeleton but then I gave up after 2 seconds :) There was some issue that I realized I had that I think got solved after a while. http://stackoverflow.com/questions/31116258/how-to-provide-and-consume-require-js-modules-in-scala-js-and-extending-classes
Viktor Hedefalk
@hedefalk
Feb 18 2016 10:02

@mdedetrich Making a scalajs facade for Atom would be great even if we don't immediately start utilizing it in ensime-atom. I also think it would be super cool to use in ensime-atom, but I just don't want to make weird compromises in regards to building and publishing with apm. And I currently have things higher on my prio list. But I'm all game if you want to explore the possibilities.

In short, what I'm most worried about is that we don't find any nice way to build as part of apm publish. It basically have to be part of apm publish I think. We can't have the users of ensime-atom needing to build a scala-js project on their machine as part of install. We can't have non-source code in our repo either. As far as I know, apm is just npm + stuff, so I think it would be possible to build "binaries" as part of the publish process, but I haven't looked into it. Currently, everything is just source.

Matthew de Detrich
@mdedetrich
Feb 18 2016 10:17
@hedefalk @rorygraves getting a Error: Could not find or load main class org.ensime.server.Server
in the server logs now
this is really odd
Related to ensime/ensime-server#670
Also getting
[error] You have a different version of scala for your build (2.11.7) and professional-scala-chapter12-play-demo (2.10.5).
[error] It is highly likely that this is a mistake with your configuration.
[error] Please read https://github.com/ensime/ensime-sbt/issues/138
Which I didn’t get before
Let me try and run a different repo
Matthew de Detrich
@mdedetrich
Feb 18 2016 10:23
Yeah, now I am globally getting Error: Could not find or load main class org.ensime.server.Server
Matthew de Detrich
@mdedetrich
Feb 18 2016 10:28
And this is only on ensime-atom
Matthew de Detrich
@mdedetrich
Feb 18 2016 10:34
@hedefalk @rorygraves Finally managed to get log, details are in ticket
Matthew de Detrich
@mdedetrich
Feb 18 2016 10:41
@rorygraves Appears you are right, the presentation compiler is crashing. I just wonder why it only happens with ensime-atom
Rory Graves
@rorygraves
Feb 18 2016 11:05
Log is excellent, thanks. Just commented on the ticket.
Looks like there is a circular reference some - heirachies are simply never that deep.
Rory Graves
@rorygraves
Feb 18 2016 11:10
Interestingly this is not blowing up the compiler, but rather the Ensime wrapper around the compiler as loops were not expected there.
A quick defensive check in there would fix it.
No idea why that doesn't blow up in Sublime
Matthew de Detrich
@mdedetrich
Feb 18 2016 11:17
@rorygraves Is this an issue with scalac or ensime?
Rory Graves
@rorygraves
Feb 18 2016 11:26
Ensime I think (or a bit of both) I don't think a symbol owner should refer back to itself. But Ensime is handling it very badly and a small fix on the Ensime side. Is this your own codebase or a public project? (Just trying to see if we can get a reproduction case).
Matthew de Detrich
@mdedetrich
Feb 18 2016 11:27
One trace was private project which I cant share, the other was the repo I listed in the issue
Rory Graves
@rorygraves
Feb 18 2016 11:27
Oh cool, sorry missed that.
Matthew de Detrich
@mdedetrich
Feb 18 2016 11:27
All good
Rory Graves
@rorygraves
Feb 18 2016 11:28
I will take a look, but its likely to be the weekend before I get to it.
Matthew de Detrich
@mdedetrich
Feb 18 2016 11:28
Its not completely urgent on my end, I am just happy we finally found what was causing the problem. Been dealing with it for months
Rory Graves
@rorygraves
Feb 18 2016 11:29
Great stuff.
Viktor Hedefalk
@hedefalk
Feb 18 2016 12:00

Was a bit off the grid there. Awesome work and great there's a plan!

Would also be interesting to understand what makes ensime-atom trigger this behaviour that ensime-sublime doesn't. I think overall ensime-atom by default does a bit more in terms of asking ensime-server questions all the time (like type info on hover and marking implicits all the time) but since I removed over-the-wire file contents I thought ensime-atom's behaviour was fine

Matthew de Detrich
@mdedetrich
Feb 18 2016 12:01
Well I thing to note is that ensime-sublime will only ask for type information for autocomplete when you explicitely do ctrl + space, on the other hand, ensime-atom by default does it on every keystroke (and even save)
Viktor Hedefalk
@hedefalk
Feb 18 2016 12:03
Yup, we ask a lot :)
@mdedetrich By the way, that's setting under autocomplete-plus. You can uncheck that.
Screen Shot 2016-02-18 at 13.05.51.png
Matthew de Detrich
@mdedetrich
Feb 18 2016 12:07
Yup, but I need it to be productive!
Viktor Hedefalk
@hedefalk
Feb 18 2016 12:08
I have a hard time understanding why something like a gatling gun of "asks" would trigger pres. compiler crash though. The file contents over the wire I could understand but just asking for completions, types and implicits shouldn't really make it blow with SOE?
Yes, I want it too. I also just turned up my typechecking from "on save" to "while typing" too. Make that ensime-server work!
Rory Graves
@rorygraves
Feb 18 2016 12:09
This is more of a transient state where you do a request at a point where the compiler returns an AST which we can't convert properly
I think this is more of a 'bug waiting to happen'
Matthew de Detrich
@mdedetrich
Feb 18 2016 12:16
Yeah, that would explain why the wrapper is crashing and not the presentation compiler itself