tex2lyx: add support for lstinputlisting

(cherry picked from commit d325f79f5c)
This commit is contained in:
Juergen Spitzmueller 2018-03-10 15:40:51 +01:00
parent aa8d047bb3
commit ded23e1f9a

View File

@ -4764,12 +4764,23 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
} }
if (t.cs() == "input" || t.cs() == "include" if (t.cs() == "input" || t.cs() == "include"
|| t.cs() == "verbatiminput") { || t.cs() == "verbatiminput"
|| t.cs() == "lstinputlisting") {
string name = t.cs(); string name = t.cs();
if (t.cs() == "verbatiminput" if (name == "verbatiminput"
&& p.next_token().asInput() == "*") && p.next_token().asInput() == "*")
name += p.get_token().asInput(); name += p.get_token().asInput();
context.check_layout(os); context.check_layout(os);
string lstparams;
bool literal = false;
if (name == "lstinputlisting" && p.hasOpt()) {
lstparams = p.getArg('[', ']');
pair<bool, string> oa = convert_latexed_command_inset_arg(lstparams);
literal = !oa.first;
if (literal)
lstparams = subst(lstparams, "\n", " ");
}
string lit = literal ? "\"true\"" : "\"false\"";
string filename(normalize_filename(p.getArg('{', '}'))); string filename(normalize_filename(p.getArg('{', '}')));
string const path = getMasterFilePath(true); string const path = getMasterFilePath(true);
// We want to preserve relative / absolute filenames, // We want to preserve relative / absolute filenames,
@ -4877,6 +4888,9 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
outname = subst(outname, "\"", "\\\""); outname = subst(outname, "\"", "\\\"");
os << "preview false\n" os << "preview false\n"
"filename \"" << outname << "\"\n"; "filename \"" << outname << "\"\n";
if (!lstparams.empty())
os << "lstparams \"" << lstparams << "\"\n";
os << "literal " << lit << "\n";
if (t.cs() == "verbatiminput") if (t.cs() == "verbatiminput")
preamble.registerAutomaticallyLoadedPackage("verbatim"); preamble.registerAutomaticallyLoadedPackage("verbatim");
} }