{"repo":"funbiscuit/embedded-cli","free":true,"listed":false,"github":"https://github.com/funbiscuit/embedded-cli","clone":"git clone https://github.com/funbiscuit/embedded-cli.git","description":"Single-header CLI with history and autocompletion for embedded systems (like Arduino or STM32)","language":"C","stars":379,"topics":["arduino","c","cli","embedded","iot","stm32","command","command-line","embedded-cli","single-header"],"license":"MIT","category":"cli-tools","readme_excerpt":"Embedded CLI [!NOTE] This library is in maintenance mode. Take a look at full rewrite in Rust: embedded-cli-rs. It has all features of this library and more: utf-8 support, lower memory usage, static dispatch and argument parsing. Single-header CLI library intended for use in embedded systems (like STM32 or Arduino). Features Dynamic or static allocation Configurable memory usage Command-to-function binding with arguments support Live autocompletion (see demo above, can be disabled) Tab (jump to end of current autocompletion) and backspace (remove char) support History support (navigate with up and down keypress) Limited cursor support (navigate inside input with left and right keypress) Any byte-stream interface is supported (for example, UART) Single-header distribution Integration You'll need to download embedded cli.h single-header version from Releases tab. Or you can build it yourself (run build-shl.py python script while inside lib directory) Add embedded cli.h to your project (to one of the include directories) Include embedded cli.h header file in your code where you need cli functionality: In one (and only one) compilation unit (.c/.cpp file) define macro to unwrap implementations: Initialization To create CLI, you'll need to provide a desired config. Best way is to get default config and change desired values. For example, change maximum amount of command bindings: Create an instance of CLI: If default arguments are good enough for you, you can create cli with defa","default_branch":null,"files":null,"tree":[],"storefront":"/r/funbiscuit","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/funbiscuit/embedded-cli/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}