cd3 / gsc Goto Github PK
View Code? Open in Web Editor NEWRun guided scripts for command line demos.
Run guided scripts for command line demos.
gsc
's cpu usage can get high. Need to figure out how to make it wait for user input while idle. Currently we are using a select/poll loop.
In auto mode, the script is ran and user input is ignored. But since the terminal is placed into raw mode, signals are not send to gsc
, so the user can't kill a running gsc
session with Ctrl-C.
The user should at least be able to kill gsc
, but it might be useful to accept some command in auto mode so the user could pause for example. This would probably require making the user input handler async. It currently blocks.
When gsc is ran without an input parameter or argument boost gives a conversion error. A fix would be to print out the proper syntax of the command and where to find further help.
script parser sends all files to the session. need to process script lines.
add support for turning stdout on/off
If gsc does not run the script and exit as normal, the child processes can stay alive. For example, if something causes a segfault in the main proc, the child proc are not killed.:
currently have a hack in place that ignores multi-char key presses. need to implement this correctly.
this would be a good project to test the conan package manager on.
If these keys are pressed during a demo, the demo freezes and has to be terminated. The monitor shows that gsc is still receiving key pressed through.
A quick look at show_key
shows that all of these keys actually send 4 characters. Not sure if that is the problem. Perhaps a key combination is being sent to the shell that turns off stdout?
if there are blank lines in the script file, they get sent to the shell as soon as they are encountered. they should wait for the user to press return.
If bash is used, the input lines are not echoed to the screen. zsh works fine.
It would be nice to be able to run a session in an ncurses window so we could display some extra information while a session is running.
For example:
The --wait-chars option allows a list of characters that gsc
should pause on, for example if you want gsc
to wait for user input on all tabs. It would be useful to change this on the fly. If you have a command that produces a prompt asking for user input (for example "Are you sure? [Y/n]"), sometimes these prompts only read one char so the prompt exits as soon as the y
char is sent. In this case, it would be nice to temporarily make gsc
pause on y
so it will show before the prompt disappears.
It would be useful to write the commands that actually get ran to a file. This would allow a script to be updated/corrected while running.
need to configure terminal size when starting a session.
also, terminal settings are not being restored correctly after a session finishes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.