Mercurial > hg
annotate mercurial/bdiff.h @ 49494:c96ed4029fda
templates: add filter to reverse list
The filter supports only lists because for lists, it’s straightforward to
implement. Reversing text doesn’t seem very useful and is hard to implement.
Reversing the bytes would break multi-bytes encodings. Reversing the code
points would break characters consisting of multiple code points. Reversing
graphemes is non-trivial without using a library not included in the standard
library.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Thu, 15 Sep 2022 01:48:38 +0200 |
parents | d86908050375 |
children |
rev | line source |
---|---|
48274
d86908050375
hg: remove reserved identifiers
David Demelier <markand@malikania.fr>
parents:
34652
diff
changeset
|
1 #ifndef HG_BDIFF_H |
d86908050375
hg: remove reserved identifiers
David Demelier <markand@malikania.fr>
parents:
34652
diff
changeset
|
2 #define HG_BDIFF_H |
29541
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
3 |
34652
174d115d8104
bdiff: include compat.h in header to define ssize_t
Yuya Nishihara <yuya@tcha.org>
parents:
34627
diff
changeset
|
4 #include "compat.h" |
174d115d8104
bdiff: include compat.h in header to define ssize_t
Yuya Nishihara <yuya@tcha.org>
parents:
34627
diff
changeset
|
5 |
29541
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
6 struct bdiff_line { |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
7 int hash, n, e; |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
8 ssize_t len; |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
9 const char *l; |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
10 }; |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
11 |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
12 struct bdiff_hunk; |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
13 struct bdiff_hunk { |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
14 int a1, a2, b1, b2; |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
15 struct bdiff_hunk *next; |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
16 }; |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
17 |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
18 int bdiff_splitlines(const char *a, ssize_t len, struct bdiff_line **lr); |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
19 int bdiff_diff(struct bdiff_line *a, int an, struct bdiff_line *b, int bn, |
34627
72985b390d7c
bdiff: format header file with clang-format
Augie Fackler <augie@google.com>
parents:
29541
diff
changeset
|
20 struct bdiff_hunk *base); |
29541
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
21 void bdiff_freehunks(struct bdiff_hunk *l); |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
22 |
9631ff5ebbeb
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com>
parents:
diff
changeset
|
23 #endif |