]> git.lyx.org Git - features.git/commitdiff
Support option snippets in the LaTeXHighlighter
authorJuergen Spitzmueller <spitz@lyx.org>
Tue, 18 Jul 2023 13:12:54 +0000 (15:12 +0200)
committerJuergen Spitzmueller <spitz@lyx.org>
Tue, 18 Jul 2023 13:13:48 +0000 (15:13 +0200)
src/frontends/qt/GuiDocument.cpp
src/frontends/qt/LaTeXHighlighter.cpp
src/frontends/qt/LaTeXHighlighter.h

index e8c8c19e8a06f6b072f2f18ccabceb1e6632e99d..3d717610af14bff45134aca50a8c479cad726bde 100644 (file)
@@ -1774,8 +1774,8 @@ GuiDocument::GuiDocument(GuiView & lv)
                pdfSupportModule->subjectLE));
        pdfSupportModule->keywordsLE->setValidator(new NoNewLineValidator(
                pdfSupportModule->keywordsLE));
-       (void) new LaTeXHighlighter(pdfSupportModule->optionsTE->document(), true, true);
-       (void) new LaTeXHighlighter(pdfSupportModule->metadataTE->document(), true, true);
+       (void) new LaTeXHighlighter(pdfSupportModule->optionsTE->document(), true, true, true);
+       (void) new LaTeXHighlighter(pdfSupportModule->metadataTE->document(), true, true, true);
 
        for (int i = 0; backref_opts[i][0]; ++i)
                pdfSupportModule->backrefCO->addItem(qt_(backref_opts_gui[i]));
index 8336f7aa56cf1b4c4ed9366c5864f9d79ef2f3cd..9e24c72adf2848fa20b6b014794f9cd189fe5f7c 100644 (file)
@@ -20,8 +20,8 @@ namespace lyx {
 namespace frontend {
 
 
-LaTeXHighlighter::LaTeXHighlighter(QTextDocument * parent, bool at_letter, bool keyval)
-       : QSyntaxHighlighter(parent), at_letter_(at_letter), keyval_(keyval)
+LaTeXHighlighter::LaTeXHighlighter(QTextDocument * parent, bool at_letter, bool keyval, bool optsnippet)
+       : QSyntaxHighlighter(parent), at_letter_(at_letter), keyval_(keyval), optsnippet_(optsnippet)
 {
        auto blend = [](QColor color1, QColor color2) {
                int r = 0.5 * (color1.red() + color2.red());
@@ -44,8 +44,9 @@ LaTeXHighlighter::LaTeXHighlighter(QTextDocument * parent, bool at_letter, bool
 }
 
 
-void LaTeXHighlighter::highlightBlock(QString const & text)
+void LaTeXHighlighter::highlightBlock(QString const & text_in)
 {
+       QString const text = (optsnippet_) ? '[' + text_in + ']' : text_in;
        // keyval
        if (keyval_) {
                // Highlight key-val options. Used in some option widgets.
index 7a80d1fa267f2e3757c96fdc99af7ce382689fb8..5f7108b4b4e92f9bdf8bf5f43e9f47bc260074a5 100644 (file)
@@ -27,7 +27,8 @@ class LaTeXHighlighter : public QSyntaxHighlighter
 public:
        explicit LaTeXHighlighter(QTextDocument * parent,
                                  bool at_letter = false,
-                                 bool keyval = false);
+                                 bool keyval = false,
+                                 bool optsnippet = false);
 
 protected:
        void highlightBlock(QString const & text) override;
@@ -43,6 +44,8 @@ private:
        bool const at_letter_;
        // highlight keyval options?
        bool const keyval_;
+       // option snippet?
+       bool const optsnippet_;
 };
 
 } // namespace frontend