aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libs/languageserverprotocol/lsptypes.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libs/languageserverprotocol/lsptypes.h b/src/libs/languageserverprotocol/lsptypes.h
index 6c73ecb3214..46d830b370b 100644
--- a/src/libs/languageserverprotocol/lsptypes.h
+++ b/src/libs/languageserverprotocol/lsptypes.h
@@ -88,6 +88,12 @@ public:
int toPositionInDocument(QTextDocument *doc) const;
};
+static bool operator<=(const Position &first, const Position &second)
+{
+ return first.line() < second.line()
+ || (first.line() == second.line() && first.character() <= second.character());
+}
+
class LANGUAGESERVERPROTOCOL_EXPORT Range : public JsonObject
{
public:
@@ -103,6 +109,8 @@ public:
Position end() const { return typedValue<Position>(endKey); }
void setEnd(const Position &end) { insert(endKey, end); }
+ bool contains(const Position &pos) const { return start() <= pos && pos <= end(); }
+
bool isValid(QStringList *error) const override
{ return check<Position>(error, startKey) && check<Position>(error, endKey); }
};