X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftexstream.h;h=a14f84bf95fec38f64fe101b594c513a6d6532c9;hb=26d4b5bb473155b44cfdf6aca14b38c2ce2d8469;hp=e5450ce7417a53a84b77672fcd69225d56c6b4ec;hpb=0aab06c4680c0cb800f0c5d4479f790e760d6433;p=lyx.git diff --git a/src/texstream.h b/src/texstream.h index e5450ce741..a14f84bf95 100644 --- a/src/texstream.h +++ b/src/texstream.h @@ -81,7 +81,8 @@ public: /// explicit otexstream(odocstream & os) : otexrowstream(os), canbreakline_(false), - protectspace_(false), parbreak_(true), lastchar_(0) {} + protectspace_(false), terminate_command_(false), + parbreak_(true), blankline_(true), lastchar_(0) {} /// void put(char_type const & c); /// @@ -95,9 +96,14 @@ public: /// bool protectSpace() const { return protectspace_; } /// + void terminateCommand(bool terminate) { terminate_command_ = terminate; } + /// + bool terminateCommand() const { return terminate_command_; } + /// void lastChar(char_type const & c) { parbreak_ = (!canbreakline_ && c == '\n'); + blankline_ = ((!canbreakline_ && c == ' ') || c == '\n'); canbreakline_ = (c != '\n'); lastchar_ = c; } @@ -105,14 +111,20 @@ public: char_type lastChar() const { return lastchar_; } /// bool afterParbreak() const { return parbreak_; } + /// + bool blankLine() const { return blankline_; } private: /// bool canbreakline_; /// bool protectspace_; /// + bool terminate_command_; + /// bool parbreak_; /// + bool blankline_; + /// char_type lastchar_; }; @@ -144,14 +156,22 @@ struct SafeBreakLine { char n; }; +/// Helper structs for terminating a command +struct TerminateCommand { + char n; +}; + extern BreakLine breakln; extern SafeBreakLine safebreakln; +extern TerminateCommand termcmd; /// otexstream & operator<<(otexstream &, BreakLine); /// otexstream & operator<<(otexstream &, SafeBreakLine); /// +otexstream & operator<<(otexstream &, TerminateCommand); +/// otexstream & operator<<(otexstream &, odocstream_manip); /// otexstream & operator<<(otexstream &, TexString); @@ -168,6 +188,6 @@ template otexstream & operator<<(otexstream & ots, Type value); -} +} // namespace lyx #endif