// Feeping Creaturism // // Douglas Thrift // // $Id$ #include "Jargon.hpp" #include "Matcher.hpp" Jargon::Jargon(const ext::String& path, const ext::String& jargon, bool include, const ext::String& relative) : include(include), args(1, "jargon.xsl") { args.InsertLast(ios::String() << path << "/" << jargon); args.InsertLast(ios::String() << "$jargon=" << jargon); if (include) args.InsertLast("$include=true()"); if (!relative.IsEmpty()) { args.InsertLast(ios::String() << "$relative=" << relative); } } ios::PrintWriter& operator<<(ios::PrintWriter& pout, const Jargon& jargon) { _S xslt("/usr/local/bin/sabcmd", jargon.args); if (jargon.include) ios::ReadLine(*xslt.GetReader()); ios::ReadToWrite(*xslt.GetReader(), pout); return pout; }