Skip to content

ogournet/libecoli

 
 

Repository files navigation

libecoli

logo.svg

libecoli stands for Extensible COmmand LIne library.

This library provides helpers to build interactive command line interfaces.

What can it be used for?

  • Complex interactive command line interfaces in C (e.g.: a router CLI).
  • Application arguments parsing, natively supporting bash completion.
  • Generic parsers.

Main Features

  • Dynamic completion.
  • Contextual help.
  • Integrated with libedit, but can use any readline-like library.
  • Modular: the cli behavior is defined through an assembly of basic nodes.
  • Extensible: the user can write its own nodes to provide specific features.
  • C API.

Architecture

See architecture.md.

License

libecoli uses the Open Source BSD-3-Clause license. The full license text can be found in LICENSE.

libecoli makes use of Unique License Identifiers, as defined by the SPDX project (https://spdx.org/):

  • it avoids including large license headers in all files
  • it ensures licence consistency between all files
  • it improves automated detection of licences

The SPDX tag should be placed in the first line of the file when possible, or on the second line (e.g.: shell scripts).

Projects that use libecoli

About

Extensible COmmand LIne library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.5%
  • Other 1.5%