]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/Parser.h
Increase tex2lyx output format to 297.
[lyx.git] / src / tex2lyx / Parser.h
index d26c5127a4d5aaf368f1ef519dd1e67c185d2a01..93e29c17ed8ad75e18fc4a18e9e9d730222a87c8 100644 (file)
@@ -77,14 +77,12 @@ public:
        ///
        Token(docstring const & cs, CatCode cat) : cs_(to_utf8(cs)), cat_(cat) {}
 
-       ///
+       /// Returns the token as string
        std::string const & cs() const { return cs_; }
        /// Returns the catcode of the token
        CatCode cat() const { return cat_; }
        ///
        char character() const { return cs_.empty() ? 0 : cs_[0]; }
-       /// Returns the token as string
-       std::string asString() const;
        /// Returns the token verbatim
        std::string asInput() const;
 
@@ -155,8 +153,18 @@ public:
        /*!
         * \returns getArg('[', ']') including the brackets or the
         * empty string if there is no such argument.
+        * No whitespace is eaten if \p keepws is true and no optional
+        * argument exists. This is important if an optional argument is
+        * parsed that would go after a command in ERT: In this case the
+        * whitespace is needed to separate the ERT from the subsequent
+        * word. Without it, the ERT and the next word would be concatenated
+        * during .tex export, thus creating an invalid command.
+        */
+       std::string getOpt(bool keepws = false);
+       /*!
+        * the same as getOpt but without the brackets
         */
-       std::string getOpt();
+       std::string getOptContent();
        /*!
         * \returns getFullArg('(', ')') including the parentheses or the
         * empty string if there is no such argument.
@@ -180,17 +188,18 @@ public:
        ///
        void push_back(Token const & t);
        /// The previous token.
-       Token const prev_token() const;
+       Token const prev_token() const;
        /// The current token.
-       Token const curr_token() const;
+       Token const curr_token() const;
        /// The next token.
-       Token const next_token();
+       Token const next_token();
        /// Make the next token current and return that.
-       Token const get_token();
+       Token const get_token();
        /// \return whether the current token starts a new paragraph
        bool isParagraph();
        /// skips spaces (and comments if \p skip_comments is true)
-       void skip_spaces(bool skip_comments = false);
+       /// \return whether whitespace was skipped (not comments)
+       bool skip_spaces(bool skip_comments = false);
        /// puts back spaces (and comments if \p skip_comments is true)
        void unskip_spaces(bool skip_comments = false);
        ///