package ocaml-protoc

  1. Overview
  2. Docs
Pure OCaml compiler for .proto files

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ocaml-protoc-4.1.tbz
sha256=89ea27f87d96fda79fd7a8f86a9e3ac978bdaa9c2ab989442d110123104bed3f
sha512=d5910fa17d60754c0ba273e4fa96137bb1129fbbc235a6601960a1cafb2ef41627b06a6486e539c5b206b73c249fe834ba910b2ce741d5f8ded137f042bbce4d

doc/ocaml-protoc.compiler-lib/Ocaml_protoc_compiler_lib/Pb_codegen_formatting/index.html

Module Ocaml_protoc_compiler_lib.Pb_codegen_formattingSource

Formatting utilities for code generation

types

Sourcetype scope

A scope is a formatting container which can contains line of text as well as other nested scopes

In other word a scope define an indentation section.

Creation

Sourceval empty_scope : unit -> scope

empty_scope () returns a brand new scope

Sourceval line : scope -> string -> unit

line scope s adds s to scope

Sourceval linep : scope -> ('a, unit, string, unit) format4 -> 'a
Sourceval empty_line : scope -> unit

empty_line scope adds an empty line to scope

Sourceval sub_scope : scope -> (scope -> unit) -> unit

sub_scope scope f adds a sub scope and apply f to it.

Sourceval sub_scope_if : bool -> scope -> (scope -> unit) -> unit

sub_scope_if b scope f adds a sub scope if b is true, and calls f with the current scope or the sub scope.

Printing

Sourceval to_string : scope -> string

print scope returns the formatted scops with a 2 character indentation for each scope.

Sourceval output : out_channel -> scope -> unit

Write to output