aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMirek Kratochvil <exa.exa@gmail.com>2025-08-30 14:36:25 +0200
committerMirek Kratochvil <exa.exa@gmail.com>2025-08-30 14:36:25 +0200
commitaea372a87dd8c10d2e8604b4d0ea81391c11f548 (patch)
treed27a0996c82b4056e4dc11999fc4783e04c7ed3e
parent4499144a4dedd5d568878e75fa8d82261c2c374d (diff)
downloadwerge-aea372a87dd8c10d2e8604b4d0ea81391c11f548.tar.gz
werge-aea372a87dd8c10d2e8604b4d0ea81391c11f548.tar.bz2
have some links
-rw-r--r--README.md24
1 files changed, 15 insertions, 9 deletions
diff --git a/README.md b/README.md
index 62a32bc..973dc4a 100644
--- a/README.md
+++ b/README.md
@@ -85,15 +85,21 @@ I still cannot do verses.
- Some tokens are marked as spaces by the tokenizer, which allows the merge
algorithm to be (selectively) more zealous when resolving conflicts on these.
-Compared to e.g. `difftastic`, `mergiraf` and similar tools, **`werge` is
-completely oblivious about the actual file structure** and works on any file
-type. This choice trades off some merge quality for (a lot of) complexity.
-
-Tokenizers are simple, implementable as linear scanners that print separate
-tokens on individual lines that are prefixed with a space mark (`.` for space
-and `/` for non-space), and also escape newlines and backslashes. A default
-tokenization of string "hello \ world" with a new line at the end is listed
-below (note the invisible space on the lines with dots):
+Technically, the ideas are similar to
+[`spiff`](http://hpux.connect.org.uk/hppd/hpux/Text/spiff-1.0/) or `git diff
+--word-diff`. Other tools exist such as
+[`difftastic`](https://difftastic.wilfred.me.uk/) and
+[`mergiraf`](https://mergiraf.org/) that are aware of the file structure (i.e.,
+the actual syntax _tree_) that can be used to improve output. Compared to
+these, **`werge` is completely oblivious about the actual file structure**, and
+thus works quite well on any file type. This choice trades off some diff&merge
+quality for (a lot of) complexity.
+
+Tokenizers in `werge` are simple, implementable as linear scanners that print
+separate tokens on individual lines that are prefixed with a space mark (`.`
+for space and `/` for non-space), and escape newlines and backslashes. A
+default tokenization of string "hello \ world" with a new line at the end is
+listed below (note the invisible space on the lines with dots):
```
/hello