I have started work on a new input system (essentially a replacement for default io, readline, linenoise, etc.). This system allows me to do the following:
[ ] Store commands in history, show them using up and down arrows
[x] Tabs displayed properly (using 4 spaces currently, will be user configurable) - This is the main reason why I wanted to create this new system
[ ] Hints? - As you are typing, Virtual/Ghost text will show up as auto-completion. use Ctrl-space to change to next auto-complete option
[ ] Portable - alternatives are either not portable with all major systems, or are written in C++
[ ] Custom Control Commands - i.e. Ctrl-Z and Ctrl-X for End of Input and Cancel
[ ] Syntax Highlighting during input?
[x] Preset/Default text - useful for auto-indentation (because it'll still allow you to de-indent) and for general editing of a line
Lightweight? - The system might not need to be as advanced as some of the alternatives. This improves portability as there's less to provide for all systems.
Works directly with my data structure for storing lines - no need to transfer/copy stuff over, which in turn means less memory allocations
So far, the current system has only been tested on Windows. Therefore, the system is only enabled for Windows builds.
Current Problems:
When the terminal wraps the line, the backspace and left/right arrows won't work correctly - This issue only happens under Windows
I have started work on a new input system (essentially a replacement for default io, readline, linenoise, etc.). This system allows me to do the following:
[ ] Store commands in history, show them using up and down arrows
[x] Tabs displayed properly (using 4 spaces currently, will be user configurable) - This is the main reason why I wanted to create this new system
[ ] Hints? - As you are typing, Virtual/Ghost text will show up as auto-completion. use Ctrl-space to change to next auto-complete option
[ ] Portable - alternatives are either not portable with all major systems, or are written in C++
[ ] Custom Control Commands - i.e. Ctrl-Z and Ctrl-X for End of Input and Cancel
[ ] Syntax Highlighting during input?
[x] Preset/Default text - useful for auto-indentation (because it'll still allow you to de-indent) and for general editing of a line
Lightweight? - The system might not need to be as advanced as some of the alternatives. This improves portability as there's less to provide for all systems.
Works directly with my data structure for storing lines - no need to transfer/copy stuff over, which in turn means less memory allocations
So far, the current system has only been tested on Windows. Therefore, the system is only enabled for Windows builds.
Current Problems: