blob: a18d875780a019a64705f0043ced14823b67b156 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
type node_type =
| Leaf
| Tag
| Other
type value_constraint =
| Regex of string [@name "regex"]
| External of string * string option [@name "exec"]
[@@deriving yojson]
type completion_help_type =
| List of string [@name "list"]
| Path of string [@name "path"]
| Script of string [@name "script"]
[@@deriving to_yojson]
type ref_node_data = {
node_type: node_type;
constraints: value_constraint list;
constraint_group: value_constraint list;
constraint_error_message: string;
completion_help: completion_help_type list;
help: string;
value_help: (string * string) list;
multi: bool;
valueless: bool;
owner: string option;
priority: string option;
default_value: string option;
hidden: bool;
secret: bool;
} [@@deriving to_yojson]
type t = ref_node_data Vytree.t [@@deriving to_yojson]
exception Bad_interface_definition of string
exception Validation_error of string
val default_data : ref_node_data
val default : t
val load_from_xml : t -> string -> t
val is_multi : t -> string list -> bool
val is_hidden : t -> string list -> bool
val is_secret : t -> string list -> bool
val is_tag : t -> string list -> bool
val is_leaf : t -> string list -> bool
val is_valueless : t -> string list -> bool
val get_owner : t -> string list -> string option
val get_help_string : t -> string list -> string
val get_value_help : t -> string list -> (string * string) list
val get_completion_data : t -> string list -> (node_type * bool * string) list
val render_json : t -> string
|