commit f533251b787a135c4f625243c1b6206941b76dfb
Author: Juergen Spitzmueller <[email protected]>
Date: Sun Jul 26 13:07:50 2026 +0200
listinglanguages: add MintedOnly tag
---
lib/listinglanguages | 1 +
src/ListingLanguage.cpp | 9 +++++++--
src/ListingLanguage.h | 1 +
src/frontends/qt/GuiListings.cpp | 3 ++-
4 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/lib/listinglanguages b/lib/listinglanguages
index d814309186..53ff51399f 100644
--- a/lib/listinglanguages
+++ b/lib/listinglanguages
@@ -11,6 +11,7 @@
# GuiName "<Gui Name>"
# MintedLang <lang>
# ListingsDefault <0,1>
+# MintedOnly <0,1>
# EndDialect
# Packages <listings,minted>
# End
diff --git a/src/ListingLanguage.cpp b/src/ListingLanguage.cpp
index ef7b57f86a..62cf0eb813 100644
--- a/src/ListingLanguage.cpp
+++ b/src/ListingLanguage.cpp
@@ -133,6 +133,9 @@ void ListingLanguage::readDialect(Lexer & lex)
} else if (tok == "listingsdefault") {
lex.next();
d.listingsdefault = lex.getBool();
+ } else if (tok == "mintedonly") {
+ lex.next();
+ d.mintedonly = lex.getBool();
} else {
lex.printError("Unknown tag");
error = true;
@@ -264,8 +267,10 @@ string ListingLanguages::getAllowedLangValues(bool const
minted) const
for (auto const & l : languagelist_) {
if (!minted && l.second.isSupported("listings")) {
res.push_back(l.first);
- for (auto const & d : l.second.getDialects())
- res.push_back("[" + d.first + "]" + l.first);
+ for (auto const & d : l.second.getDialects()) {
+ if (!d.second.mintedonly)
+ res.push_back("[" + d.first + "]" +
l.first);
+ }
} else if (minted && l.second.isSupported("minted")) {
res.push_back(l.first);
if (!l.second.mintedlang().empty())
diff --git a/src/ListingLanguage.h b/src/ListingLanguage.h
index 4823988be5..b67d9591fd 100644
--- a/src/ListingLanguage.h
+++ b/src/ListingLanguage.h
@@ -61,6 +61,7 @@ public:
std::string guiname;
std::string mintedname;
bool listingsdefault = false;
+ bool mintedonly = false;
};
///
typedef std::map<std::string, dialect> DialectMap;
diff --git a/src/frontends/qt/GuiListings.cpp b/src/frontends/qt/GuiListings.cpp
index 79cc2acf6d..77c8c333c0 100644
--- a/src/frontends/qt/GuiListings.cpp
+++ b/src/frontends/qt/GuiListings.cpp
@@ -370,7 +370,8 @@ void GuiListings::on_languageCO_currentIndexChanged(int
index)
listinglanguages.getListingLanguage(fromqstr(languageCO->itemData(index).toString()));
if (ll != nullptr) {
for (auto const & d : ll->getDialects()) {
- if (buffer().params().use_minted &&
d.second.mintedname.empty())
+ if ((buffer().params().use_minted &&
d.second.mintedname.empty())
+ || (!buffer().params().use_minted &&
d.second.mintedonly))
continue;
dialectCO->addItem(qt_(d.second.guiname),
toqstr(d.first));
if (d.second.listingsdefault)
--
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs