4 X evaluate expression tree in ec_tk_expr
15 - properly manage quotes in shlex
16 X remove the _new() functions
17 - iterate children nodes without chaining them
18 - add a tk vector type: will be used in several nodes (ex: or, seq, ...)
19 - check allocation model everywhere
21 - use linux style (update .emacs)
24 - use errno when returning pointers
25 - missing static / const
26 - license: "s/neither the name...may/the names of its contributors may not/"
27 - check all completion nodes
29 - cache results when appropriate?
30 - size_t or unsigned int?
33 X ec_parsed_tk -> ec_parsed
34 X ec_completed_tk -> ec_completed
35 X tk, gen_tk, token, ... -> node
36 X tokens -> input_str / input_strvec ?
37 - use is_err() or errno for funcs returning ptrs, or use errno for all funcs
38 - save node path in completion to fix help string
40 - try to hide structures
41 - anything better than weakref?
42 - add get_max_parse_len() for all relevant nodes
43 - add ec_node_defaults.[ch] providing usual implementations of node methods
49 X pass the current parsed state when parsing/completing
51 - new node "condition"
61 X register nodes by name
62 - interface to add attributes: all nodes must be configurable through a
70 - yaml interface to create nodes
76 - example which parses arguments (argc/argv)
77 - example that acts as bash completion (ip link ?)
78 - calculator example (var assignation, expression evaluation)
79 - example with libedit
80 - mini script language
88 - generate automatic api doc
90 - coding rules, process
93 - say that it stops at first match (no ambigous support)
94 - say that completion must be exhaustive
100 - split libs, tests and examples
108 - complete automatic tests with "make test"
114 - node which always matches
115 - file + partial completion
117 - fusion node: need to match several children, same for completion
124 - support utf-8 and other encodings
131 - demonstration example that parses yang file and generate cli
135 -----------------------
139 [tab] list possible completions (matches only)
140 [?] list what is expected, example:
142 "command [foo] toto|titi|<int>"