No description
Find a file
2026-03-16 23:53:42 +01:00
doc first commit 2026-03-16 23:53:42 +01:00
example first commit 2026-03-16 23:53:42 +01:00
src first commit 2026-03-16 23:53:42 +01:00
test first commit 2026-03-16 23:53:42 +01:00
.gitignore first commit 2026-03-16 23:53:42 +01:00
.ocamlformat first commit 2026-03-16 23:53:42 +01:00
CHANGES.md first commit 2026-03-16 23:53:42 +01:00
dune-project first commit 2026-03-16 23:53:42 +01:00
LICENSE.md first commit 2026-03-16 23:53:42 +01:00
README.md first commit 2026-03-16 23:53:42 +01:00
scfg.opam first commit 2026-03-16 23:53:42 +01:00
shell.nix first commit 2026-03-16 23:53:42 +01:00

scfg

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

Installation

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.

Quickstart

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
  end

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 or at the test suite.

About