Commit
+12 -1 +/-1 browse
1 | diff --git a/README.md b/README.md |
2 | index 6d86d55..c135929 100644 |
3 | --- a/README.md |
4 | +++ b/README.md |
5 | @@ -2,7 +2,8 @@ |
6 | |
7 | [![CI](https://github.com/the-mikedavis/tree-sitter-git-diff/actions/workflows/ci.yml/badge.svg)](https://github.com/the-mikedavis/tree-sitter-git-diff/actions/workflows/ci.yml) |
8 | |
9 | - A [tree-sitter](https://tree-sitter.github.io/tree-sitter/) grammar for `git diff`s. |
10 | + A [tree-sitter](https://tree-sitter.github.io/tree-sitter/) grammar for |
11 | + `git diff`s. |
12 | |
13 | ### Status |
14 | |
15 | @@ -17,3 +18,13 @@ Highlighting a `.diff` file: |
16 | Injecting this grammar into [tree-sitter-git-commit](https://github.com/the-mikedavis/tree-sitter-git-commit) in a verbose commit (`git commit --verbose`): |
17 | |
18 | <img src="assets/helix-commit-with-diff.png" width="500"/> |
19 | + |
20 | + ### Design |
21 | + |
22 | + This grammar is designed to be line-based: each line is parsed as its own |
23 | + top-level node in the `$.source`. It would probably be more useful to have |
24 | + the grammar parse each diff section (starting with `diff --git`) as its own |
25 | + subtree. As it is written now, though, the grammar can be injected into |
26 | + tree-sitter-git-commit without using combined injections, which are less |
27 | + supported among editors that use tree-sitter for highlighting. A future |
28 | + revision of this parser may upend this design decision. |