bool unclosed = false;
string par2 = par;
// braces are allowed
- if (prefixIs(par, "{") && suffixIs(par, "}") && !suffixIs(par, "\\}"))
+ if (prefixIs(par, "{") && suffixIs(par, "}") && !suffixIs(par, "\\}"))
par2 = par.substr(1, par.size() - 2);
// check for unmatched braces
--braces;
}
unclosed = braces != 0;
-
+
switch (type_) {
case ALL:
_("Available listing parameters are %1$s"), from_ascii(param_names));
else
return bformat(
- _("Available listings parameters containing string \"%1$s\" are %2$s"),
+ _("Available listings parameters containing string \"%1$s\" are %2$s"),
from_utf8(suffix), from_utf8(param_names));
}
-
+
// locate name in parameter table
ListingsParams::const_iterator it = all_params_[p].find(name);
if (it != all_params_[p].end()) {
return false;
}
-} // namespace anon.
+} // namespace
// define a global ParValidator
ParValidator * par_validator = 0;
int InsetListingsParams::package_ = 0;
InsetListingsParams::InsetListingsParams()
- : inline_(false), params_(), status_(InsetCollapsable::Open)
+ : inline_(false), params_(), status_(InsetCollapsible::Open)
{
}
InsetListingsParams::InsetListingsParams(string const & par, bool in,
- InsetCollapsable::CollapseStatus s)
+ InsetCollapsible::CollapseStatus s)
: inline_(in), params_(), status_(s)
{
// this will activate parameter validation.
void InsetListingsParams::read(Lexer & lex)
{
lex >> inline_;
- int s = InsetCollapsable::Collapsed;
+ int s = InsetCollapsible::Collapsed;
lex >> s;
- status_ = static_cast<InsetCollapsable::CollapseStatus>(s);
+ status_ = static_cast<InsetCollapsible::CollapseStatus>(s);
string par;
lex >> par;
fromEncodedString(par);
}
-void InsetListingsParams::addParam(string const & key,
+void InsetListingsParams::addParam(string const & key,
string const & val, bool replace)
{
if (key.empty())
return;
- string const value = (minted() && key == "language") ? languageonly(val)
- : val;
+ bool const is_minted_language = minted() && key == "language";
+ string const value = (is_minted_language && !val.empty())
+ ? languageonly(val) : val;
// duplicate parameters!
string keyname = key;
if (!replace && hasParam(key))
has_special_char = true;
break;
}
- if (has_special_char)
+ if (has_special_char && !is_minted_language)
params_.push_back(make_pair(keyname, "{" + value + "}"));
else
params_.push_back(make_pair(keyname, value));
} else if (par[i] == '{' && i > 0 && par[i-1] != '\\')
// don't count a brace in first position
++braces;
- else if (par[i] == '}' && i != par.size() - 1
+ else if (par[i] == '}' && i != par.size() - 1
&& (i == 0 || (i > 0 && par[i-1] != '\\')))
--braces;