Wishlist
Here is a list of functionalities that could be nice to have in the future. There is no guaranty that those functionalities will be implemented, neither in the way described here. Think of this page as an idea dump.
Binaries
For the moment no binaries are available for download. The code has no special dependencies so it is really easy to build, but not every user wants to need the tools to build the software. It could be nice if the binaries were available for the most popular operating systems.
Fortunately a web application version is available on the website.
Lorg as a library
Currently Lorg is implemented mostly as a monolithic software. The engine part (parsing, manipulating data...) could be put into a Haxe library and a C++ library. This would enable the possibility for other developers to integrate Lorg support into their software. Some courageous developers could even make a full-fleshed UI for using Lorg documents.
In Haxe the library could be implemented using haxelib
.
haxelib install lorg
It would be important to also export the library as a JavaScript file. There is a bigger pool of JavaScript developers than of Haxe developers. With this JavaScript library, more people could use Lorg.
Exporting into Lorg format
An option should be added to export the result in Lorg format. The main reason for that is to give the possibility for the users of the future Lorg library to import and export Lorg documents.
Tabular display for the CLI version
One of the main drawback of Lorg is the huge vertical space needed. It could be nice to at least display the result in a more compact way like in the following example.
Cost Weight Sleep 169 2900 Shelter 119 1700 Trekking poles 69 570 Tarp 50 500 Sleeping bag 50 1200
Preamble
Every Lorg file could start with an optional preamble.
Every line of the preamble would start by a ;
.
The preamble stop at the first empty line.
In the preamble, options can be set.
To simplify the parsing, the options would be set in a LISP format.
Line comments can be written using ;
.
Example below.
; (version 100) ; Lorg version used ; ; (unit weight ; Definition of the parameters for the unit "weight" ; (display "Weight") ; How to display ; (type float 2 round) ; The unit value type: a float with two decimals rounded ; (formulas sum min max range) ; What formulas to use (by default sum) ; (alias w) ; The alias that can be used in the document (here "w") ; (displayed-level 2) ; Until which node level the unit should be displayed ; ) # My first node...
It could be nice to implement all the options defined in the example.
Subunits
In account software like hledger, it is possible to create subaccounts.
For example the accounts expenses:food
and expenses:clothes
are subaccounts of expenses
.
Lorg could implement something similar for the unit.
This is for this purpose that units can actually have :
in their names.
Lorg behaviour for managing subunits should mimic hledger behaviour for managing subaccounts.