| 66 | // Simple helpers to clear up code clutter |
| 67 | namespace { |
| 68 | inline bool changeIsValid(const DocumentChange& change, const QStringList& textLines) |
| 69 | { |
| 70 | return change.m_range.start() <= change.m_range.end() && |
| 71 | change.m_range.end().line() < textLines.size() && |
| 72 | change.m_range.start().line() >= 0 && |
| 73 | change.m_range.start().column() >= 0 && |
| 74 | change.m_range.start().column() <= textLines[change.m_range.start().line()].length() && |
| 75 | change.m_range.end().column() >= 0 && |
| 76 | change.m_range.end().column() <= textLines[change.m_range.end().line()].length(); |
| 77 | } |
| 78 | |
| 79 | inline bool duplicateChanges(const DocumentChangePointer& previous, const DocumentChangePointer& current) |
| 80 | { |