mirror of
https://github.com/enso-org/enso.git
synced 2024-12-26 14:11:32 +03:00
c54c3b7e9d
* Eliminating circe-yaml This change adds our very-own YAML parser on top of SnakeYAML. Compared to Circe parser on top of SnakeYAML. The advantage? In some not-so-distant future we might actually get rid of circe and the related performance issues. The logic is similar to what circe does i.e. analyzing SnakeYAML to build our own structure. This change is not complete, as there are still some tests failing, but most common Configs are already parseable. We _could_ auto-generate some of the code but still some of the logic would have to be tweaked by hand; the current logic has a number of special cases, as I found out the hard way. * wip: more tests passing * Fix remaining tests in ConfigSpec * Fixing YAML decoder for editions Dropping circe as a decoder for Editions revealed some problems. Turns out the current implementation had even more special cases to deal with. * nit * Allow for empty exports * Mostly complete encodin part Replaced almost all `toYAML` locations with SnakeYAML equivalent. The encoding has to use Java collections for which there exists a built-in support. If we were to use Scala collections we would have to deal with tagging, at the very least. * Remove the last remaining Circe's YAML parser * Bug fix + further loop optimization * removal of some dependencies * Remove circe-yaml Added a custom SnakeYAML Node updater to mimick the JSON -> YAML -> JSON conversion needed for updating fields. The algorithm recursively follows the key-path and inserts the desired Node. This is not a performance oriented code on purpose. * Fix compilation issues `circe-core` was marked as `provided` but no one eventually included it in the final jar, hence `NoClassFoundException`. * fix licensing * Removing obsolete circe definitions * fmt * nits * s/SnakeYamlDecoder/YamlDecoder * fmt * Partial revert, PM needs JSON decoders/encoders * style * incremental compilation gone wrong |
||
---|---|---|
.. | ||
THIRD-PARTY | ||
.enso.portable | ||
README.md |
Enso CLI
Actionables for this file:
- This is just a draft of the file that will be included inside the launcher distribution. It should be completed when the launcher is implemented.
Installation
The Enso distribution is portable, you can put this directory wherever you want
on your system. For example you can put it at ~/.enso
.
It is a good idea to add the bin
directory to your system PATH
so that you
can run Enso just by typing enso
in any directory.
Usage
Actionables for this section:
- Fill in examples showing how to use the launcher.
Distribution structure
Actionables for this section:
- This should explain the structure of enso distribution directory, based on the documentation.