summaryrefslogtreecommitdiff
path: root/src/config_tree.ml
AgeCommit message (Collapse)Author
2018-11-29Escape special characters inside value strings when converting configs to ↵Daniil Baturin
commands.
2018-06-06Use String.concat instead of reinventing it with fold.Daniil Baturin
2018-06-05Add a function for getting sorted children from a node and use it for ↵Daniil Baturin
sorting set commands.
2018-06-04Initial implementation of the commands formatter.Daniil Baturin
2018-05-23Render valueless nodes correctly.Daniil Baturin
The canonical format for valueless nodes is "foo;". There are two cases: when it's known from the reference tree that a node is valueless, we should render it the canonical way. However, a valueless node is not the same as a normal node with no children, semantically, so nodes that are note valueless should be rendered as "foo {}". If the reference tree is not present, resort to rendering all nodes without values as if they were normal nodes with no children rather than as if they were valueless. The parser is unaware of the distinction, so there are no implications for it.
2018-02-18Do not quote values that don't need quoting in Config_tree.renderDaniil Baturin
i.e. if they don't contain whitespace or characters of special significance to the parser (;[]{}#).
2018-02-17Add Config_tree.render_at_level function for correct rendering of configs ↵Daniil Baturin
for human consumption. The idea of the correct (for subsequent parsing) and familiar for all other purposes rendering: * When rendering the entire config, do not render the invisible "root" node, only render its children. * When rendering config at specified path, do not include any nodes that are within the path (e.g. if path "system login" exists, "show system" request output should start with "login {", not "system { login { ...").
2017-04-03T255: Add curly config renderer (#8)Shon Feder
* Add stand-alone config_tree renderer * Add tests for stand-alone config_tree renderer * Add renderer with reference tree * Add tests for Config_tree renderer with reftree * Update config files * Add refactoring functions and correct tests
2017-01-10Add JSON de/serialization derivers to vytree and config tree modules.Daniil Baturin
2016-12-21T225: Added inactive and ephemeral fields to node data in Config_treePhil Summers
2016-12-20T224: add node comment functionality to the config tree.Daniil Baturin
2015-09-23Make Config_tree.set aware of valueless nodes.Daniil Baturin
2015-09-23Add delete function to Config_tree, add some tests for it.Daniil Baturin
2015-09-21Fix multilevel insert logic.Daniil Baturin
2015-09-21Remove metadata from the config tree data, rendering and the like requiresDaniil Baturin
input from the reference tree anyway. Make value modification functions behaviour multi-value node aware.
2015-04-26Add an option to keep child order, will be used for rendering.Daniil Baturin
2015-04-26Add config tree module.Daniil Baturin