Atom IDE #172

paulyoung opened this Issue Sep 12, 2017 · 18 comments


None yet
5 participants

I'm not familiar enough with the internals of this project to know how much this affects things, but it seemed worth starting a discussion.

Atom just introduced Atom IDE which provides the Atom IDE UI.

It extracts only the subset of the core UI features from Nuclide necessary to support Atom’s atom-languageclient library in displaying features supported by the language server protocol.

@kRITZCREEK and I discussed this briefly on Twitter a while ago. Christoph said:

already commented in the thread, language server for psc-ide is possible, just needs a different "frontend" for the backend

but the "reach" it promises is basically vscode right now

It seems like that reach has now increased to Atom.


nwolverson commented Sep 12, 2017

Yup, I'd like to move towards using the LSP server (which already exists) but need to find out what the gaps will be, decide an approach to fill in the gaps, and look at what degradation of existing functionality there will be.

It may be that there is also an advantage for using some of the individual UI features before moving the whole way there (eg datatips could be a win).

I'd like to prototype this out on a branch and see how it works out.


nwolverson commented Sep 20, 2017

This is looking already pretty promising, I have tooltips, autocomplete, diagnostics, code actions... I'll publish a test version soon to try on the beta channel


nwolverson commented Sep 23, 2017

If anybody wants to try this out, there is a preview available if on the atom-beta channel - v0.19.0-lsp1 - since apm tags don't work as I hoped this will install automatically if you're on beta channel. There are many missing things.

@nwolverson my atom version is 1.21.0 (it's not beta) but when i installed ide-purescript I got version 0.19.0-lsp1 so looks like everyone who installs it will get the beta version instead.

This will fix the issue if someone has it:

$ apm remove ide-purescript
Uninstalling ide-purescript ✓
$ apm install ide-purescript@0.18.0

nwolverson commented Oct 11, 2017

Oops, looks like I didn't set the correct bounds on the prerelease version to target the beta channel - unfortunately apm works kinda like npm but has a more simplistic idea of version numbering, I'll push a fix release tonight.


nwolverson commented Nov 9, 2017

Think I'm going to try and move to the language server and atom ide once I can do a few more pieces and get some volunteer(s) to test, need to figure out how to handle the transition (thinking of users who do not have atom-ide already, is there some way to prevent a "things just stopped working" scenario).


nwolverson commented Nov 30, 2017

This is now in a testable state in case someone would like to be a guinea pig (@paulyoung?)

apm install ide-purescript@0.19.0-lsp3

Requires atom-ide-ui but otherwise should work as before

@nwolverson thanks for the heads up.

I use spacemacs these days but I'm happy to give this a try and report back.

I'm traveling at the moment so it might take me a couple of days.

I am trying it out right now on Windows 7, and it doesn't appear to start the ide-server when a .purs file is opened, which makes everything else stop functioning.


nwolverson commented Dec 11, 2017

Uh, looks like I maybe accidentally require 0.11.7, could it be that ? :)

I don't think so as that is the version I am using. I have it installed locally using npm - could that be the issue? Maybe the new version isn't using the BIN directory like it's supposed to? The option was checked when I tried the new version, but maybe it isn't implemented correctly?

0.19.0-lsp3 did not work for me. There was no "Started IDE Server (port ...)" message, there were no tooltips available, and no errors when writing incorrect code (and then saving).

However, the Atom "Installed Packages" UI said that I could upgrade to 0.19.1 which works as expected.

macOS High Sierra
Version 10.13.2 (17C88)

Atom 1.23.1 x64


nwolverson commented Dec 15, 2017

@paulyoung 0.19.1 is irrelevant to this discussion, as it is basically the existing package. But sounds like you maybe have the same issue, though impossible to tell without more info.

I'll hopefully get a chance to fix this issue and maybe ask for another guinea pig this weekend...

I didn't install atom-ide-UI. Could that be it?

Other packages prompted me to install dependencies, so I sssumed I would see something if I didn't already have it.


nwolverson commented Dec 15, 2017

As noted requires atom-ide-ui, I'm tending towards installing that as a dependency when this is pushed out for real (though was slightly concerned if it was a bit pushy), but it isn't yet.

Regardless, the lack of atom-ide-ui affects just the more obvious UI components - startup of the IDE server is a separate issue.

@nwolverson I installed it (0.19.1) to play around. It's working great for me! At least everything I've tried so far.


nwolverson commented Jan 1, 2018

I've now pushed this out as the new version. Hopefully the above issues are fixed, certainly some are. Please raise new specific issues if any issues observed with the latest version (0.20+)

@nwolverson nwolverson closed this Jan 1, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment