package hardcaml_waveterm

  1. Overview
  2. Docs

A Rule.t is a predicate on Port.ts that specifies the display format of matching ports.

type t =
  1. | Default
  2. | Regexp of {
    1. re : Re.re;
    2. wave_format : Wave_format.t;
    3. alignment : Text_alignment.t;
    }
val sexp_of_t : t -> Sexplib0.Sexp.t
val default : t

Default formatting - binary for 1 bit signals, hex otherwise.

val port_name_matches : ?alignment:Text_alignment.t -> Re.re -> wave_format:Wave_format.t -> t

Use given format for ports whose name match the regular expression re.

val port_name_is : ?alignment:Text_alignment.t -> Base.string -> wave_format:Wave_format.t -> t

Use format for ports with given name.

val port_name_is_one_of : ?alignment:Text_alignment.t -> wave_format:Wave_format.t -> Base.string Base.list -> t

Match any one of a list of names.

val custom : f:(Hardcaml_waveterm__.Port.t -> Wave_format.t Base.option) -> t

In custom f, f returns None to signify no match, or Some format to specify a display format.

val custom_with_alignment : f: (Hardcaml_waveterm__.Port.t -> (Wave_format.t * Text_alignment.t) Base.option) -> t

Similar tp f, but allows the user to specify the alignment of the wave.

module type States = sig ... end
val states : ?onehot:Base.bool -> ?alignment:Text_alignment.t -> (module States) -> Base.string -> t

For use with statemachines. Derives state names from the variant describing the states of the state machine.