These are chat archives for ensime/ensime-atom

15th
Feb 2016
Viktor Hedefalk
@hedefalk
Feb 15 2016 06:06
@jeffwilde Yeah well… Thanks! :) I think we need some test coverage to untangle some of the mess. I'm also thinking it would be cool to modularize out everything non-atom specific into a general node client lib. I guess I've mentioned that before - then we could use it in vscode too. Or the next electron based cool kid :) But I know I've been working against it just the other day when I wanted something fixed quick… It's also so much harder when there's no classpath to cut. Even if there's no direct require-dependencies, it's easy to end up using a member of something that's not "declared" in the module.
Ghost
@ghost~540393fe163965c9bc2018ce
Feb 15 2016 06:59
Can you use cucumber tests in atom? I wonder how much test reuse we could get if the Emacs tests were rewritten to use ecukes. There is a pr exploring the idea.
Viktor Hedefalk
@hedefalk
Feb 15 2016 07:14
@fommil Dunno. Atom uses jasmine by default, maybe could use https://github.com/cucumber/cucumber-js.
Richard Dallaway
@d6y
Feb 15 2016 08:30
I think the code makes sense. There’s a client, then there’s all the atom stuff. The features folder makes sense. The problem I have is that I don’t know coffeescript … But that doesn’t stop me :-)
@fommil they’re monthly? I’ll try to get to the next one. I need to get it into my diary as soon as a I can.
Viktor Hedefalk
@hedefalk
Feb 15 2016 08:45

@d6y That's awesome :)

For anyone feeling the same about coffeescript - I think it's really just javascript with a few pretty shallow syntactical sugars. http://coffeescript.org/ is pretty good. It shows examples with the compiled js to the right of the coffescript examples. I just started using coffeescript to do this thing too, so there might be some wtf's in there, but basically it's just indentation instead of curlies and better closure syntax without having to write function all the time. Then there are some pretty weird loop comprehensions that sometimes confuses me and a few other sugars. I typically try to use some _ ( lodash ) to do it most collection transforms.

Matthew de Detrich
@mdedetrich
Feb 15 2016 22:08
Yeah I use CS at work, its nice in that it hides a lot of the ugly from JS
If doable, it might not be a bad idea to integrate ensime-atom with Scala.js, you might also get a lot of code reuse that way
@hedefalk Should I make an issue for the import issues that I have all of the time, or are you ontop of it?
Ghost
@ghost~540393fe163965c9bc2018ce
Feb 15 2016 22:10
import issues?
is that maybe a server bug?
(as in "organize imports" functionality)
Matthew de Detrich
@mdedetrich
Feb 15 2016 22:11
@fommil Last time we had a look at it, it may have been both, and no its not that
Ensime Atom, when you save a .scala file in a big project, will incorectly report all imports as being an error
I think that @hedefalk was using a different call compared to ensime-sublime
which doesn’t have this problem
So it may be that ensime-server is the problem
Ghost
@ghost~540393fe163965c9bc2018ce
Feb 15 2016 22:17
nah, that sounds like ensime-atom
you sure it wasn't fixed recently?
and that you've compiled your project?
Matthew de Detrich
@mdedetrich
Feb 15 2016 22:19
Yes I have done all that numerous times, but a new version just came out, so will check again. @hedefalk said it may be an issue with ensime-server because he was using a different API which didn’t appear to be working correctly (this API wasn’t being used by ensime-sublime)
If it wasn’t working correctly due to how ensime-atom was calling it, then its probably not a problem with ensime-server
Ghost
@ghost~540393fe163965c9bc2018ce
Feb 15 2016 22:20
scala 2.11 is better at this sort of thing than 2.10
you can disable the unused import warnings if you want, just edit your ensime-sbt config
remove that feature
Matthew de Detrich
@mdedetrich
Feb 15 2016 22:27
Not sure if its unused imports, I think it may be something else, but @hedefalk knows the details more precisely
@fommil Yeah it still happens, its when you save a file in ensile (nothing to do specifically with unused imports), I think if you checked the gitter history you will see more relevant info