The terminal is key to providing user interactivity with PatienceOS.
Here are some ideas I'd like to implement:
Terminal output
[x] Multiple calls to console.Print concatenates the text across the terminal line (not exceeding the terminal width)
[x] Multiple calls to console.Print concatenates the text across the terminal line (wraps to the next line when exceeding the terminal width)
[x] Multiple calls to console.PrintLine displays the text on consecutive lines
[x] When calls to console.Print \ console.PrintLine exceed the terminal height, the terminal scrolls the text up (ie. the oldest visible line is discarded, the remaining text is moved up one line, the new text is displayed on the last row)
[ ] (stretch) Ability to scroll terminal output beyond the visible dimensions ie. buffered output
[ ] cursor - sets whether the cursor should be visible
nb. the above assumes some way to inform the user of an unknown command, and/or, they have not specified a required argument for an entered command (eg. a valid foreground color for fgcolor)
References
Basic x86 interrupts - will be required for receiving key strokes from the user.
Please upvote :+1: this issue if you are interested in it.
The terminal is key to providing user interactivity with PatienceOS.
Here are some ideas I'd like to implement:
Terminal output
console.Print
concatenates the text across the terminal line (not exceeding the terminal width)console.Print
concatenates the text across the terminal line (wraps to the next line when exceeding the terminal width)console.PrintLine
displays the text on consecutive linesconsole.Print
\console.PrintLine
exceed the terminal height, the terminal scrolls the text up (ie. the oldest visible line is discarded, the remaining text is moved up one line, the new text is displayed on the last row)Command line interpreter
cls
- clears the terminalfgcolor
- set the terminal's foreground colorbgcolor
- set the terminal's background colorsetres
- set the terminal's resolution (depends on: #15. Switch between VGA text modes)cursor
- sets whether the cursor should be visiblenb. the above assumes some way to inform the user of an unknown command, and/or, they have not specified a required argument for an entered command (eg. a valid foreground color for
fgcolor
)References
Please upvote :+1: this issue if you are interested in it.