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

Reply via email to