aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-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