summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2025-11-04 20:20:44 -0600
committerJohn Estabrook <jestabro@vyos.io>2025-11-11 10:51:45 -0600
commit8e71f01674ded2923e37c2be821b95a046314e30 (patch)
tree1eb9f0b0300d3c94c2ea65b38a753ee78a391a38 /src
parent2aea7ddbc092b03dbf07dce385786b9c5c16a881 (diff)
downloadvyos1x-config-8e71f01674ded2923e37c2be821b95a046314e30.tar.gz
vyos1x-config-8e71f01674ded2923e37c2be821b95a046314e30.zip
T7988: expose finer grained render commands
We need finer grained access to rendering for the standard 'show' command to show line-by-line diff of running and session configs.
Diffstat (limited to 'src')
-rw-r--r--src/config_tree.ml8
-rw-r--r--src/config_tree.mli6
2 files changed, 14 insertions, 0 deletions
diff --git a/src/config_tree.ml b/src/config_tree.ml
index 425ddf1..a2bde3a 100644
--- a/src/config_tree.ml
+++ b/src/config_tree.ml
@@ -465,6 +465,14 @@ let render_commands ?(op=Set) node path =
let render_config ?(ord_val=false) = Renderer.render_config ~ord_val:ord_val
+let render_node ?(ord_val=false) indent level node =
+ Renderer.render_node ~ord_val:ord_val indent level node
+
+let render_values ?(ord_val=false) indent_str name values =
+ Renderer.render_values ~ord_val:ord_val indent_str name values
+
+let make_indent indent level = Renderer.make_indent indent level
+
let render_at_level node path =
(* alert exn Vytree.get:
[Vytree.Empty_path] not possible as called on pattern non-empty path
diff --git a/src/config_tree.mli b/src/config_tree.mli
index c320186..ca4e068 100644
--- a/src/config_tree.mli
+++ b/src/config_tree.mli
@@ -92,6 +92,12 @@ val render_commands : ?op:command -> t -> string list -> string
val render_config : ?ord_val:bool -> t -> string
+val render_node : ?ord_val:bool -> int -> int -> t -> string
+
+val render_values : ?ord_val:bool -> string -> string -> string list -> string
+
+val make_indent : int -> int -> string
+
val render_json : t -> string
val render_json_ast : t -> string