From: Juergen Spitzmueller Date: Sat, 10 Mar 2018 14:40:51 +0000 (+0100) Subject: tex2lyx: add support for lstinputlisting X-Git-Tag: 2.3.1~133^2~20 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=ded23e1f9a67d5fa9cb392f65d51a5979e881b7a;p=features.git tex2lyx: add support for lstinputlisting (cherry picked from commit d325f79f5c782edcfa32e87579fb102763d8d29b) --- diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp index ce357ea031..1bee520b0e 100644 --- a/src/tex2lyx/text.cpp +++ b/src/tex2lyx/text.cpp @@ -4764,12 +4764,23 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer, } if (t.cs() == "input" || t.cs() == "include" - || t.cs() == "verbatiminput") { + || t.cs() == "verbatiminput" + || t.cs() == "lstinputlisting") { string name = t.cs(); - if (t.cs() == "verbatiminput" + if (name == "verbatiminput" && p.next_token().asInput() == "*") name += p.get_token().asInput(); context.check_layout(os); + string lstparams; + bool literal = false; + if (name == "lstinputlisting" && p.hasOpt()) { + lstparams = p.getArg('[', ']'); + pair 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 const path = getMasterFilePath(true); // 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, "\"", "\\\""); os << "preview false\n" "filename \"" << outname << "\"\n"; + if (!lstparams.empty()) + os << "lstparams \"" << lstparams << "\"\n"; + os << "literal " << lit << "\n"; if (t.cs() == "verbatiminput") preamble.registerAutomaticallyLoadedPackage("verbatim"); }