You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zapashcanon a902fd05c7
1 day ago
doc add Query module 2 years ago
example add an example 2 years ago
src add some _exn versions of Query functions 1 day ago
test fmt 1 day ago
.gitignore first commit 2 years ago
.ocamlformat update .ocamlformat 4 months ago update CHANGES 1 day ago add missing deps, fix license 2 years ago clean stuff 2 years ago
dune-project better tests 1 day ago
scfg.opam update opam file 2 years ago


scfg is an OCaml executable and library to work with the scfg configuration file format.


scfg can be installed with opam:

opam install scfg

If you don't have opam, you can install it following the how to install opam guide.

If you can't or don't want to use opam, consult the opam file for build instructions.


Using the library to parse a scfg file and reprint nicely:

open Scfg

let config =
  match Parse.from_file "config.scfg" with
  | Ok config -> config
  | Error e -> begin
    Format.eprintf "error: %s@." e;
    exit 1

let () =
  Format.printf "%a@." Pp.config config

The provided binary does exactly this. If you have the following config.scfg file:

   name "a"        "b b b" 'c' {

       child1       ""    "I'm léo"

                child2 'nono'

Running the binary on it will reprint it trying to make the output pretty:

$ scfg config.scfg
name a "b b b" c {
  child1 "" "I'm léo"
  child2 nono

For more, have a look at the example folder, at the documentation or at the test suite.