Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-01-12 | T245: improve handling of nodes with duplicate names. | Daniil Baturin | |
Two tag nodes with the same name ("ethernet eth0 {...} ethernet eth0 {...}") is an error. Two leaf nodes with the same name, however, are not an error. Values of the next nodes are merged into the first one, while all other data (comment and inactive and ephemeral properties are inherited from the first node. This mimics the old syntax of multi nodes, so a person who uses the old syntax out of habit in a handwritten config will get the result they expect. | |||
2017-01-10 | Add JSON de/serialization derivers to vytree and config tree modules. | Daniil Baturin | |
2017-01-09 | T245: add Vytree.merge_children function for de-duplicating children | Daniil Baturin | |
that share the same name by merging subsequent nodes into the first one. Bad thing: the comments of the outer nodes will be lost, but then again one should attach them to the inner node anyway, in non-pathological cases. | |||
2017-01-05 | Expose the Vytree.adopt function in the module interface. | Daniil Baturin | |
This is useful in the parser and possibly other code that creates nodes from scratch. | |||
2016-12-25 | Add Vytree.children_of_path : 'a t -> string list function as a convenient ↵ | Daniil Baturin | |
shortcut for getting children of a non-root node | |||
2015-09-25 | Move the node_type type to Reference_tree | Daniil Baturin | |
It shall not be used by Config_tree, so there is no reason to keep it there. | |||
2015-09-21 | Fix multilevel insert logic in Vytree. | Daniil Baturin | |
2015-09-21 | Expose multilevel insert in the Vytree module signature. | Daniil Baturin | |
2015-06-03 | Add get_data function, a shortcut for getting a data of node at specified path. | Daniil Baturin | |
Mainly for quickly getting data from a reference tree. | |||
2015-06-03 | Make tree insert position-aware. | Daniil Baturin | |
Make insertion at the beginning default behaviour. Implement insertion at the end. | |||
2015-04-26 | Add Vytree.exists for checking if path exists in a tree. | Daniil Baturin | |
2015-04-26 | Expose Vytree.find/find_or_fail. | Daniil Baturin | |
2015-04-23 | Add get_existent_path for finding the part of a path that already exists in ↵ | Daniil Baturin | |
a tree. | |||
2015-04-23 | Make insert require all but the last elements in the path to exist in the tree. | Daniil Baturin | |
Making it linear time at cost of knowing the data for all path elements was probably a bad idea. | |||
2015-04-22 | Revert "Make multi-value and single-value leaf nodes separate things." | Daniil Baturin | |
Looks like it was a bad idea. This reverts commit 7c02dc2a949798a3fea3dbcce5a63888a3f10f51. | |||
2015-04-17 | Make multi-value and single-value leaf nodes separate things. | Daniil Baturin | |
2015-04-14 | Abandon the idea of default data in Vytree.insert and use explicit data list | Daniil Baturin | |
for multilevel insert. | |||
2015-04-13 | Expose node_type and position types. | Daniil Baturin | |
2015-04-02 | Reverse the order of make/make_full arguments for easier partial application. | Daniil Baturin | |
2015-04-01 | Add Vytree.update for updating the data attached to nodes. | Daniil Baturin | |
2015-03-02 | Remove "child" from insert/delete etc. function names. | Daniil Baturin | |
It's not like there's anything else we can insert or delete. | |||
2015-03-01 | Missing get_child signature. | Daniil Baturin | |
2015-03-01 | Move the source files back to src/ | Daniil Baturin | |
Splitting directories was a bit premature and unnecessary. | |||
2015-02-28 | Move vytree to its own subdir. | Daniil Baturin | |
2015-02-26 | Add delete_child function. | Daniil Baturin | |
2015-02-24 | Add make_full to Vytree for constructing nodes from scratch. | Daniil Baturin | |
2015-02-13 | Add vytree module signature. | Daniil Baturin | |