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.