diff options
author | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2014-12-05 16:09:53 +0100 |
---|---|---|
committer | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2014-12-05 16:09:53 +0100 |
commit | 30711f43a6cad9889ee1af8539658c4ca1f59854 (patch) | |
tree | d37c88faf794ad2632fc787ec1724c9ec08bdbd1 /src/core/CodeTokenizer.cpp | |
parent | 30765a8bbf30aafad89a632afc39966c5b4029b8 (diff) |
Further work on implementing CSSRuleSets. This needs further testing, though.
Diffstat (limited to 'src/core/CodeTokenizer.cpp')
-rw-r--r-- | src/core/CodeTokenizer.cpp | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/core/CodeTokenizer.cpp b/src/core/CodeTokenizer.cpp index ce4afe5..e9c1bbf 100644 --- a/src/core/CodeTokenizer.cpp +++ b/src/core/CodeTokenizer.cpp @@ -59,10 +59,14 @@ bool CodeTokenizer::doPrepare(const Token &t, std::deque<Token> &peeked) state = CodeTokenizerState::IN_LINE_COMMENT; break; case CodeTokenMode::LINEBREAK: - peeked.push_back({it->second.id, t.content, t.startColumn, - t.startLine, t.endColumn, t.endLine}); - return true; + if (!ignoreLinebreaks) { + peeked.push_back({it->second.id, t.content, + t.startColumn, t.startLine, + t.endColumn, t.endLine}); + } + return !ignoreLinebreaks; default: + bool empty = true; if (t.tokenId == TOKEN_TEXT) { int begin = -1; for (size_t c = 0; c < t.content.length(); c++) { @@ -86,20 +90,22 @@ bool CodeTokenizer::doPrepare(const Token &t, std::deque<Token> &peeked) t.startColumn + begin, t.startLine, t.startColumn + (int)c, t.endLine}); begin = -1; + empty = false; } } } - if(begin >= 0){ - peeked.push_back(Token{ - TOKEN_TEXT, - t.content.substr(begin), - t.startColumn + begin, t.startLine, - t.endColumn, t.endLine}); + if (begin >= 0) { + peeked.push_back( + Token{TOKEN_TEXT, t.content.substr(begin), + t.startColumn + begin, t.startLine, + t.endColumn, t.endLine}); + empty = false; } } else { + empty = false; peeked.push_back(t); } - return true; + return !empty; } startToken = t; returnTokenId = it->second.id; |