https://github.com/laughedelic/atom-sbt-client
:wrench:sbt server integration with Atom IDE UI
https://github.com/laughedelic/atom-sbt-client
atom atom-ide atom-language-support atom-package atom-plugin language-server language-server-protocol sbt sbt-server scala
Last synced: about 1 year ago
JSON representation
:wrench:sbt server integration with Atom IDE UI
- Host: GitHub
- URL: https://github.com/laughedelic/atom-sbt-client
- Owner: laughedelic
- License: mpl-2.0
- Created: 2017-10-31T22:31:21.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-02-02T03:08:19.000Z (over 8 years ago)
- Last Synced: 2025-03-16T20:51:19.431Z (about 1 year ago)
- Topics: atom, atom-ide, atom-language-support, atom-package, atom-plugin, language-server, language-server-protocol, sbt, sbt-server, scala
- Language: JavaScript
- Homepage: https://atom.io/packages/atom-sbt-client
- Size: 28.3 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Atom sbt client
[](https://github.com/laughedelic/atom-sbt-client/releases/latest)
[](https://www.tldrlegal.com/l/mpl-2.0)
[](https://gitter.im/laughedelic/atom-sbt-client)
This is an Atom plugin integrating [sbt server](https://developer.lightbend.com/blog/2017-11-30-sbt-1-1-0-RC1-sbt-server/#sbt-server) with the [Atom IDE](https://ide.atom.io) interface.
It connects to a running sbt instance and communicates with it using [Language Server Protocol](https://github.com/Microsoft/language-server-protocol). Atom sends event notifications to sbt (like `didSave`), in response sbt recompiles the project and sends back information about warnings and errors which are displayed in Atom:

## Installation
You can install it using Atom interface or by running this command:
```
apm install atom-sbt-client
```
On the first launch it will automatically install its dependencies if needed:
+ [language-scala](https://github.com/atom-community/language-scala) for basic Scala syntax highlighting
+ [atom-ide-ui](https://github.com/facebook-atom/atom-ide-ui) for the Atom IDE interface
## Usage
1. Go to a Scala project and launch sbt (`project/build.properties` should set sbt version to 1.1.0 or higher)
2. Open this project in Atom, open any Scala file and save it.
It should trigger compilation and if there are any errors, you should see them in the gutter and in the diagnostics panel.
Another feature is jump-to-definition, which works for _some_ types in the project.
Note that despite the debug logging in the sbt shell, you can still use it directly. It's just a normal sbt shell which additionally communicates with Atom.
## Related links
* sbt server support in other editors:
+ [VS Code](https://developer.lightbend.com/blog/2017-11-30-sbt-1-1-0-RC1-sbt-server/#vs-code-extension)
+ [Sublime Text 3](http://eed3si9n.com/sbt-server-with-sublime-text3)
+ [Neovim](http://eed3si9n.com/sbt-server-with-neovim)
* [atom-ide-scala](https://github.com/laughedelic/atom-ide-scala) is a similar plugin integrating Atom IDE UI with the [metals](https://github.com/scalameta/metals) language server