vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

commit 051bd8d56e3e9ee1a67613bd3a9760e55bf9470b
parent 4427d0f460356f192c1f449ca2eaefacaeea9ea3
Author: Marc André Tanner <mat@brain-dump.org>
Date:   Fri, 24 Jul 2015 21:47:55 +0200

text: add text_range_overlap

Diffstat:
Mtext.c | 6++++++
Mtext.h | 2++
2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/text.c b/text.c @@ -1496,3 +1496,9 @@ Filerange text_range_new(size_t a, size_t b) { .end = MAX(a, b), }; } + +bool text_range_overlap(Filerange *r1, Filerange *r2) { + if (!text_range_valid(r1) || !text_range_valid(r2)) + return false; + return r1->start <= r2->end && r2->start <= r1->end; +} diff --git a/text.h b/text.h @@ -26,6 +26,8 @@ Filerange text_range_empty(void); Filerange text_range_union(Filerange*, Filerange*); /* create new range [min(a,b), max(a,b)] */ Filerange text_range_new(size_t a, size_t b); +/* test whether two ranges overlap */ +bool text_range_overlap(Filerange*, Filerange*); typedef struct Text Text; typedef struct Piece Piece;