public TermInfoDriver (string term)
{
#if DEBUG
File.Delete ("console.log");
logger = new StreamWriter (File.OpenWrite ("console.log"));
#endif
this.term = term;
string filename = SearchTerminfo (term);
if (filename != null)
reader = new TermInfoReader (term, filename);
else {
// fallbacks
if (term == "xterm") {
reader = new TermInfoReader (term, KnownTerminals.xterm);
} else if (term == "linux") {
reader = new TermInfoReader (term, KnownTerminals.linux);
}
}
if (reader == null)
reader = new TermInfoReader (term, KnownTerminals.ansi);
if (!(Console.stdout is CStreamWriter)) {
// Application set its own stdout, we need a reference to the real stdout
stdout = new CStreamWriter (Console.OpenStandardOutput (0), Console.OutputEncoding);
((StreamWriter) stdout).AutoFlush = true;
} else {
stdout = (CStreamWriter) Console.stdout;
}
}