[LyX/master] listinglanguages: add MintedOnly tag
Juergen Spitzmueller <[email protected]> Sun, 26 Jul 2026 11:08:21 +0000
| Newsgroups | gmane.editors.lyx.cvs |
|---|---|
| Message-ID | <[email protected]> |
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