From 66915d847415bd4803d8dcade82b5fb267b88b5a Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Sat, 3 Jan 2026 05:10:36 -0500 Subject: word v bigword, K to view man page --- txt.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'txt.h') diff --git a/txt.h b/txt.h index 09d1c61..3f94c6d 100644 --- a/txt.h +++ b/txt.h @@ -32,6 +32,12 @@ typedef struct { u32 p, i; } TxtLoc; +typedef struct { + struct Txt *t; + u32 p0, i0; + u32 p1, i1; +} TxtRange; + typedef struct { TxtPieceTbl v[TXT_HIST_MAX]; TxtLoc cur[TXT_HIST_MAX]; @@ -146,4 +152,22 @@ static inline TxtLoc cprev(TxtLoc l) { return l; } +static inline TxtRange txt_range(TxtLoc a, TxtLoc b) { + ASSERT(a.t == b.t); + if (txt_before(b, a)) + return (TxtRange) { a.t, b.p, b.i, a.p, a.i }; + else + return (TxtRange) { a.t, a.p, a.i, b.p, b.i }; +} + +static inline TxtRange txt_range_incl(TxtLoc a, TxtLoc b) { + if (txt_before(b, a)) { + TxtLoc t = a; + a = b; + b = t; + } + b = cnext(b); + return (TxtRange) { a.t, a.p, a.i, b.p, b.i }; +} + #endif -- cgit v1.2.3