api documentation for ec_parse
[protos/libecoli.git] / doc / index.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright 2019 Olivier Matz <zer0@droids-corp.org>
3
4 Libecoli Documentation
5 ======================
6
7 This is the documentation of *libecoli*. This library simplifies the
8 creation of interactive command line interfaces (*Ecoli* stands for
9 Extensible COmmand LIne).
10
11 What can it be used for?
12
13 - complex interactive cli interface in C (ex: a router cli)
14 - interactive cli for shell scripts
15 - application arguments parsing, natively supporting bash completion
16 - parsers
17
18 What are the main features?
19
20 - dynamic completion
21 - contextual help
22 - integrated with libedit, but can use any readline-like library
23 - modular: the cli behavior is defined through an assembly of basic
24   nodes
25 - extensible: the user can write its own nodes to provide specific
26   features
27 - C API
28 - YAML API and Shell API: used from shell scripts
29
30 Who use it?
31
32 - 6WIND_ for its Turbo Router cli
33
34 .. _6WIND: https://www.6wind.com
35
36 .. toctree::
37    :maxdepth: 2
38    :caption: Contents:
39
40    overview
41    installation
42    user_guide
43    architecture
44    contributing