diff options
Diffstat (limited to 'source/core/StarText.hpp')
-rw-r--r-- | source/core/StarText.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/core/StarText.hpp b/source/core/StarText.hpp new file mode 100644 index 0000000..e318484 --- /dev/null +++ b/source/core/StarText.hpp @@ -0,0 +1,26 @@ +#ifndef STAR_TEXT_HPP +#define STAR_TEXT_HPP +#include "StarString.hpp" +#include "StarStringView.hpp" + +namespace Star { + +namespace Text { + unsigned char const StartEsc = '\x1b'; + unsigned char const EndEsc = ';'; + unsigned char const CmdEsc = '^'; + unsigned char const SpecialCharLimit = ' '; + + String stripEscapeCodes(String const& s); + inline bool isEscapeCode(char c) { return c == CmdEsc || c == StartEsc; } + + typedef function<bool(StringView text)> TextCallback; + typedef function<bool(StringView commands)> CommandsCallback; + bool processText(StringView text, TextCallback textFunc, CommandsCallback commandsFunc = CommandsCallback(), bool includeCommandSides = false); + String preprocessEscapeCodes(String const& s); + String extractCodes(String const& s); +} + +} + +#endif
\ No newline at end of file |