joefitzgerald/go-plus

Atom-ide-ui is archived

macseem opened this issue · 3 comments

Hi.

Go-Plus depends on atom-ide-ui package, which is archived and is not maintained any more.
https://github.com/facebookarchive/atom-ide-ui
Do you have any thoughts on changing it?

I don't think so.

The idea behind atom-ide-ui was to provide several APIs that can be used by plugins like go-plus or ide-* plugins to provide a better coding experience.

These APIs are not strongly tied to atom-ide-ui as they can also be provided by other plugins, e.g.:

  • linter and linter-ui-default provide "diagnostics" to show linting errors and warnings
  • busy-signal provides an indicator about running tasks (e.g. linting, formatting)
  • and there are a bunch of other plugins in the atom-ide-community
  • and probably some others I don't know :)

I know about other plugins and their work. The problem is in go-plus and its tied work with atom-ide-ui. I cannot activate both linter and atom-ide-ui.
Here is a part of main.js of go-plus:

const formatOnSave = atom.config.get(
      'atom-ide-ui.atom-ide-code-format.formatOnSave'
    )
    if (formatOnSave) return

I use linter and I cannot enable atom-ide-ui because they conflicts to each other.
So as a result go-plus code formatting feature doesn't work.

I don't mind to use atom-ide-ui, but still it is archived, it has many issues and it is not supported by dev team.
That was the reason of my question, I thought that maybe you could put some light on it.

By the way, just to think about
maybe formatter-gofmt can be used probably for formatting.

zmb3 commented

There's a new community maintained effort that will provide more granular control over which packages you use to satisfy the various IDE features: https://medium.com/@nazimboudeffa/atom-ide-community-to-replace-facebooks-nuclide-2c8c6aab5a32

Language servers are the direction everyone is headed in, so we'll be aiming to keep go-plus pretty minimal from this point forward, relying on the language server to do most of the work, and other packages to provide the services necessary for UI integration.