piker icon indicating copy to clipboard operation
piker copied to clipboard

Change config file format

Open goodboy opened this issue 6 years ago • 0 comments

After some thinking I believe using toml for both the current bokers.ini and watchlists.json files is probably the easiest and simplest way forward. There are some competitors (particularly for a DSL that supports referencing / copying / merging content for the purposes of watchlists) as detailed below.

We also have an open issue on choosing a better toml client lib as per #496. Also pertains to #68.

Note TOML doesn't support - <value> style document array/lists and instead somewhat enforces keying everything: https://toml.io/en/v1.0.0#keys

versus something like (ugh-ish) yaml:

  • https://quickref.me/yaml

Alt langs / formats

Some other options i haven't had time to dig into yet:

  • dhall programmable config files

    • haskell DSL with quite a few fancy features
    • https://github.com/Nadrieril/dhall-rust
    • https://github.com/dhall-lang/dhall-lang/blob/master/README.md
    • https://learnxinyminutes.com/docs/dhall/
  • eno is a type agnostic nex-gen data markup lang, see the spec

    • main holdup for me (other then not being sure if it's much better then TOML) was that there's no vim syntax highlight plugin..
    • https://github.com/eno-lang
    • https://codeberg.org/simonrepp/enolib-py
    • https://eno-lang.org/python/querying-content/field-values/
    • https://vi.stackexchange.com/questions/29545/language-specific-custom-syntax-highlighting
    • https://www.vimregex.com/
    • https://github.com/simonrepp
    • https://codeberg.org/simonrepp
    • https://github.com/eno-lang/benchmarks/
    • https://github.com/topics/vim-syntax-highlighting
    • https://eno-lang.org/blog/
    • https://codeberg.org/simonrepp/faircamp
    • https://eno-lang.org/guide/faq/

goodboy avatar Feb 25 '19 03:02 goodboy