A shortcode parser to make complex ANSI a little bit easier #14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Shortcode parser
Just a simple QOL update that allows you to put small shortcodes in a string and parse it into ANSI. It turns something like this:
into:
Works with both StreamWriter and BufferWriter. If using Proxy or Buffer you need to flush/echo manually as per usual.
Supported shortcodes
%b%bold()%n%normal()%f%faint()%i%italic()%u%underline()%bl%blink()%n%negative()%s%strikethrough()%r%nostyle()%f<num>%color(SGR::COLOR_FG_*)%b<num>%color(SGR::COLOR_BG_*)%c%eraseDisplay()%eu%eraseDisplayUp()%ed%eraseDisplayDown()%el%eraseLine()%ee%eraseLineToEOL()%es%eraseLineToSOL()%cb<num>%cursorBack(<num>)%cf<num>%cursorForward(<num>)%cu<num>%cursorUp(<num>)%cd<num>%cursorDown(<num>)%xy<x>,<y>%cursorPosition(<x>, <y>)%lf%lf()Note that colors are represented by their MS-DOS equivalents (ie 0 is black, 15 is bright white etc), and they are mapped to their SGR consts in two arrays in the parser.