Is your feature request related to a problem? Please describe.
When using the marauder firmware for the flipper wifi dev board, I often find myself typing part of a command to prepare it, and then copy some data from earlier in the terminal or another application. But because the CLI accepts commands not when I hit enter, but instead when a small time delay has passed, this becomes impossible, causing the command to fail, or not do what I intended.
The fact that commands are automatically executed after a period of inactivity, as well as there being no feedback for whatever you typed, and backspace not working at all, makes using the interface very unfriendly. It also misses other, common conveniences, such as a command history or tab completion. The fact that it uses a time delay also makes the interface feel sluggish, waiting for nearly a second every time I type a command for the output to be printed.
Describe the solution you'd like
I would like a better CLI for the serial interface. In order of preference, I like these things implemented:
Command execution only when LF, CR, or CR+LF is sent
Echo back typed characters for feedback, making sure that backspace, and other special characters are handled correctly.
Limited history, even 1 entry would be nice, usable with the arrow up/down keys, to easily repeat commands
Smart tab completion for command names, command flags, SSIDs, MAC addresses and so forth, preferably with some context information. For example list -[TAB] should provide a list of options that are valid for the list command, and a description of each. select -a [TAB] should provide a list of access points, their ESSIDs and BSSIDs.
I would also like these improvements. I'm using macOS and it's pretty frustrating to use CLI because the delay is so short it's sending commands before I can finish typing them.
Is your feature request related to a problem? Please describe. When using the marauder firmware for the flipper wifi dev board, I often find myself typing part of a command to prepare it, and then copy some data from earlier in the terminal or another application. But because the CLI accepts commands not when I hit enter, but instead when a small time delay has passed, this becomes impossible, causing the command to fail, or not do what I intended.
The fact that commands are automatically executed after a period of inactivity, as well as there being no feedback for whatever you typed, and backspace not working at all, makes using the interface very unfriendly. It also misses other, common conveniences, such as a command history or tab completion. The fact that it uses a time delay also makes the interface feel sluggish, waiting for nearly a second every time I type a command for the output to be printed.
Describe the solution you'd like I would like a better CLI for the serial interface. In order of preference, I like these things implemented:
list -[TAB]
should provide a list of options that are valid for thelist
command, and a description of each.select -a [TAB]
should provide a list of access points, their ESSIDs and BSSIDs.Describe alternatives you've considered N/A
Additional context N/A