======
X evaluate expression tree in ec_tk_expr
-- cmd token
+X cmd token
- example
X tk_re
-cleanup
-=======
+cleanup / rework
+================
+- add_no_match
+- add_partial_match
- check XXX in code
+- properly manage quotes in shlex
X remove the _new() functions
+- iterate children nodes without chaining them
- add a tk vector type: will be used in several nodes (ex: or, seq, ...)
- check allocation model everywhere
- checkpatch?
- cache results when appropriate?
- size_t or unsigned int?
X rename:
- - ec_tk -> ec_node
- - ec_parsed_tk -> ec_parsed
- - ec_completed_tk -> ec_completed
- - tk, gen_tk, token, ... -> node
- - tokens -> input_str / input_strvec ?
+ X ec_tk -> ec_node
+ X ec_parsed_tk -> ec_parsed
+ X ec_completed_tk -> ec_completed
+ X tk, gen_tk, token, ... -> node
+ X tokens -> input_str / input_strvec ?
+- use is_err() or errno for funcs returning ptrs, or use errno for all funcs
+- save node path in completion to fix help string
+- code coverage
+- try to hide structures
+- anything better than weakref?
+- add get_max_parse_len() for all relevant nodes
+- add ec_node_defaults.[ch] providing usual implementations of node methods
+- use vec for strvec
dependencies
============
-- pass the current parsed state when parsing/completing
+X pass the current parsed state when parsing/completing
+X new node "once"
- new node "condition"
logs
- ether, ip, network
- fusion node: need to match several children, same for completion
- float
+- not
encoding
========
===============
- demonstration example that parses yang file and generate cli
+
+
+
+-----------------------
+
+readline:
+
+[tab] list possible completions (matches only)
+[?] list what is expected, example:
+
+"command [foo] toto|titi|<int>"
+
+help("command f") ->
+ foo (help of foo)
+ toto (help of toto)
+ titi (help of titi)
+ <int> (help of int)
+