A Completer that completes based on a recursively defined List of Completers.
Note that
NestedCompleter("a", NestedCompleter("b", NestedCompleter("c"))
is different than
ArgumentCompleter("a", ArgumentCompleter("b", ArgumentCompleter("c"))).
The ArgumentCompleter version will stop suggest completions for "c" after typing "a b", since
every argument of ArgumentCompleter maps to at most one token (in fact, it won't even suggest
"b"). The NestedCompleter version will auto-complete for every stage of "a b c" as expected.
A Completer that completes based on a recursively defined List of Completers.
Note that NestedCompleter("a", NestedCompleter("b", NestedCompleter("c")) is different than ArgumentCompleter("a", ArgumentCompleter("b", ArgumentCompleter("c"))).
The
ArgumentCompleter
version will stop suggest completions for "c" after typing "a b", since every argument ofArgumentCompleter
maps to at most one token (in fact, it won't even suggest "b"). TheNestedCompleter
version will auto-complete for every stage of "a b c" as expected.