Dotterweide
statement
The Dotterweide project aims to develop an embeddable mini-IDE with support for the Scala programming language.
This is the main repository, containing the editor and IDE. Its code was originally forked from ToyIDE by Pavel Fatin. Original code was released under Apache License. This project - Dotterweide - is released under the GNU Lesser General Public License v2.1 or higher. Over time, this project will diverge more and more from the original code base.
The demo is subject to GPL v3 due to the inclusion of Submin.
linking
The following modules are published to to Maven Central:
"de.sciss" %% "dotterweide-core" % v // core API, few or no UI components
"de.sciss" %% "dotterweide-ui" % v // Swing UI components
"de.sciss" %% "dotterweide-scala" % v // Scala langAdviserImpluage support
"de.sciss" %% "dotterweide-doc-browser" % v // Building blocks for scaladoc/javadoc API browser
The current release version v
is "0.4.3"
.
Note that the Scala 2 compiler is fragile between versions, so if you use Dotterweide as compiled against Scala compiler 2.13.7, it may be that it breaks when you use in a project based on scala 2.13.8. This unfortunately due to the fact that no binary compatibility guarantees are given to the Scala compiler API.
building
The project build with sbt with support for Scala 2.13, 2.12,
and the main Scala version being 2.13. To run the demo, use sbt dotterweide-demo/run
.
You can pass arguments to the demo run, for example:
sbt 'dotterweide-demo/run --language scala --colors dark'
For interpreter integration, try --flash
switch in the demo (shift-return flashes line or selection).
Note that the doc-browser module currently requires JavaFX, which is a huge PITA between JDK versions, so we currently require compilation on JDK 11.
documentation
Pretty much informal at this stage; see the notes
directory and the -org project.