Successfully reported this slideshow.
Your SlideShare is downloading. ×

sbt server (LSP discussion, 2018 Jan)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
sbt 1
sbt 1
Loading in …3
×

Check these out next

1 of 12 Ad
Advertisement

More Related Content

Slideshows for you (20)

Similar to sbt server (LSP discussion, 2018 Jan) (20)

Advertisement

Recently uploaded (20)

Advertisement

sbt server (LSP discussion, 2018 Jan)

  1. 1. sbt server Eugene Yokota (@eed3si9n) Dale Wijnand (@dwijnand) January, 2018
  2. 2. a brief history of sbt server • 'client-server split for sbt' (2013) Havoc Pennington • A proposal to split sbt into 2 JVMs: client (cmd, IDE, Play run etc) talks to server. • Typesafe Activator 1.3.0 (2015) was released using sbt-remote-control. • 'sbt server reboot' (2016) Eugene Yokota • 1 JVM. sbt server listens to both CLI and network. IDEA calling compile. • sbt 1.1.0 (2017) was released with server built-in using Language Server Protocol.
  3. 3. input/output of common tasks compile task
  4. 4. input/output of common tasks compile task command (as in CQRS) side effects events!
  5. 5. • Source code (both written and generated) • Lightbend/EPFL compiler + Zinc 1, cross compiler versions, cross platform (JS, native) • Library management • Test framework integrations • 100+ actively maintained plugins • packaging to JAR, zip, Docker • code formatting and linting • web frameworks Play • deployment to cloud (AWS, Google sbt has the full knowledge of the build
  6. 6. demand for rich development environment • Jump to error • Code navigation • Tab completion • Visual debugging • Incremental compiler • Library management • Test integration • Plugin capabilities Editors sbt • LSP • Event logging
  7. 7. sbt server entry points • http://www.scala-sbt.org/1.x/docs/sbt-server.html • textDocument/didSave event • sbt/exec request • sbt/setting request
  8. 8. VS Code integration out of the box
  9. 9. Sublime Text 3
  10. 10. NeoVim
  11. 11. Thanks

×