I am using cygwin 1.77 on windows vista.
I'm facing problems with the output from sbt
in the shell.
Some relevant environment vars:
TERM=cygwin
CYGWIN=server
LANG=C.UTF-8
(1) When I type sbt test
the shell contains a lot of unprintable characters:
How can I fix this ?
My sbt shell script looks like this:
dir=`dirname $0`
stty -icanon min 1 -echo > /dev/null 2>&1
java -Djline.terminal=jline.UnixTerminal -Xmx512M -jar
`cygpath -w $dir`/sbt-launch-0.7.4.jar "$@"
stty icanon echo > /dev/null 2>&1
(2) The sbt
command cannot find the scalatest
jar & I don't know how to configure it to download it via ivy. It works if I drop the jar into the lib
folder.
Regarding 1):
The way the Cygwin console works is that there's a part of the Cygwin DLL that maps Unix terminal control sequences to Windows console API calls. Since that terminal emulation is part of the Cygwin DLL, it is not available to non-Cygwin programs such as the Java runtime. Instead,
java
will be talking directly to the Windows console, which doesn't understand escape sequences. Hence they appear directly on screen.There are a few ways you could address this:
-Djline.terminal=jline.UnixTerminal
option would do that.CYGWIN=tty
option. With that, programs invoked in the Cygwin console have their I/O connected to a "pseudo terminal" (pty) device instead of being connected directly to the console window. This makes the terminal emulation features available to non-Cygwin programs, but it means that programs that use the Windows console API will no longer work correctly.(Btw, the
CYGWIN=server
option is obsolete; the feature that it enabled is always on anyway.)