Mercurial > projects > dynamin
diff dynamin/core/unix_console.d @ 106:acdbb30fee7e
Port to D2.
Most of the effort was dealing with immutable and const.
author | Jordan Miner <jminer7@gmail.com> |
---|---|
date | Mon, 17 Dec 2012 23:41:50 -0600 |
parents | 73060bc3f004 |
children |
line wrap: on
line diff
--- a/dynamin/core/unix_console.d Sat Nov 24 10:21:50 2012 -0600 +++ b/dynamin/core/unix_console.d Mon Dec 17 23:41:50 2012 -0600 @@ -29,22 +29,22 @@ void backend_buffered(bool b) { buffered = b; } - void backend_write(string s) { + void backend_write(mstring s) { /*fwrite(s.ptr, 1, s.length, stdout); if(!buffered) fflush(stdout);*/ } - string backend_readLineRaw() { + mstring backend_readLineRaw() { /*uint size; char* line; auto numRead = getline(&line, &size, stdin); scope(exit) free(line); - string str = new char[numRead]; + mstring str = new char[numRead]; str[] = line[0..numRead]; return str;*/ return null; } - string backend_read() { + mstring backend_read() { return null; } // TODO: use this @@ -53,20 +53,20 @@ //ts.c_lflag |= ICANON; // turns on waiting for a whole lines //ts.c_lflag |= ECHO; // turns on echoing //tcsetattr(filedes, TCSAFLUSH, &ts); - string backend_readLineHidden() { + mstring backend_readLineHidden() { system("stty -echo"); auto line = readLine(); system("stty echo"); return line; } - string backend_readHidden() { + mstring backend_readHidden() { return null; } void backend_clear() { system("clear"); } - string backend_getColorStr(ConsoleColor c, bool fore) { - switch(c) { + mstring backend_getColorStr(ConsoleColor c, bool fore) { + final switch(c) { case c.Black: return fore ? "\x1b[30m" : "\x1b[40m"; case c.Silver: return fore ? "\x1b[37m" : "\x1b[47m"; case c.Maroon: return fore ? "\x1b[31m" : "\x1b[41m"; @@ -83,7 +83,6 @@ case c.Pink: return fore ? "\x1b[95m" : "\x1b[105m"; case c.Yellow: return fore ? "\x1b[93m" : "\x1b[103m"; case c.Cyan: return fore ? "\x1b[96m" : "\x1b[106m"; - default: assert(0); } } void backend_foreColor(ConsoleColor color) {