diff options
author | Araq <rumpf_a@web.de> | 2015-03-08 14:45:06 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-03-08 14:45:06 +0100 |
commit | 419199bf9ae507c104d497e1714ceedf300dc38e (patch) | |
tree | 9312e43b63a42c07234cb0a484389e07157ea2c3 /lib/pure | |
parent | c40aac8e2036924ec88bec9c44a33a044f346baa (diff) | |
download | Nim-419199bf9ae507c104d497e1714ceedf300dc38e.tar.gz |
don't use conio.h on windows (#2137)
Diffstat (limited to 'lib/pure')
-rw-r--r-- | lib/pure/terminal.nim | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/pure/terminal.nim b/lib/pure/terminal.nim index e0e2aa247..df637dcb6 100644 --- a/lib/pure/terminal.nim +++ b/lib/pure/terminal.nim @@ -45,7 +45,6 @@ when defined(windows): var oldAttr = getAttributes() - proc winGetch(): cint {.header: "<conio.h>", importc: "_getch".} else: import termios, unsigned @@ -344,7 +343,7 @@ proc isatty*(f: File): bool = else: proc isatty(fildes: FileHandle): cint {. importc: "_isatty", header: "<io.h>".} - + result = isatty(getFileHandle(f)) != 0'i32 proc styledEchoProcessArg(s: string) = write stdout, s @@ -364,12 +363,11 @@ macro styledEcho*(m: varargs[expr]): stmt = result.add(newCall(bindSym"write", bindSym"stdout", newStrLitNode("\n"))) result.add(newCall(bindSym"resetAttributes")) -proc getch*(): char = - ## Read a single character from the terminal, blocking until it is entered. - ## The character is not printed to the terminal. - when defined(windows): - result = winGetch().char - else: +when not defined(windows): + proc getch*(): char = + ## Read a single character from the terminal, blocking until it is entered. + ## The character is not printed to the terminal. This is not available for + ## Windows. let fd = getFileHandle(stdin) var oldMode: Termios discard fd.tcgetattr(addr oldMode) @@ -387,5 +385,5 @@ when isMainModule: setForeGroundColor(fgBlue) writeln(stdout, "ordinary text") - styledEcho("styled text ", {styleBright, styleBlink, styleUnderscore}) - + styledEcho("styled text ", {styleBright, styleBlink, styleUnderscore}) + |