Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

F# support #625

Closed
wants to merge 801 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
801 commits
Select commit Hold shift + click to select a range
d095465
Merge commit 'ee44b89c2cc71ab1346322367829d08a21decc24'
Wilfred Mar 5, 2024
b78f7d4
Always replace tabs, even in single-column display
Wilfred Mar 5, 2024
84439c7
Remove unnecessary forward declaration in attempt to fix windows build
Wilfred Mar 5, 2024
407ab78
Document Scheme addition
Wilfred Mar 5, 2024
d5c6024
Detect more Makefile naming patterns
Wilfred Mar 5, 2024
6ff603c
Support some more Scheme file extensions
Wilfred Mar 5, 2024
2477270
Handle whitespace in shebangs
Wilfred Mar 5, 2024
b95e6cc
Fix Scheme globs
Wilfred Mar 5, 2024
7346c89
Fix new files claiming they have permission changes
Wilfred Mar 5, 2024
bf8fcab
0.56 is released
Wilfred Mar 6, 2024
d9d6401
Update ahash to fix aarch64 build on macOS
Wilfred Mar 6, 2024
2b19e59
0.56.1 is released
Wilfred Mar 6, 2024
1030ed7
fix: don't parse the `l` suffix in floats, allow trailing commas in type
Eloitor Mar 6, 2024
bf1c091
chore: update bindings
amaanq Mar 6, 2024
03e88c1
ci: add failure
amaanq Mar 6, 2024
e208720
Describe how difftastic works in FAQ
Wilfred Mar 7, 2024
3a48015
Use consistent casing
Wilfred Mar 7, 2024
5f50856
Treat Scheme as a lisp when handling sliders
Wilfred Mar 7, 2024
d3797ef
Treat Scheme as a lisp in slider logic
Wilfred Mar 7, 2024
c6da857
Consider null bytes in text file detection
Wilfred Mar 7, 2024
34fa3d6
Use a blank line after all diff summaries
Wilfred Mar 7, 2024
db11e91
build: update bindings and versions
ObserverOfTime Mar 10, 2024
70c0dde
ci: update workflows
ObserverOfTime Mar 10, 2024
bac8189
ci: update workflows
ObserverOfTime Mar 7, 2024
0f9047c
build: update bindings and versions
ObserverOfTime Mar 7, 2024
5712a1b
docs: update readme
ObserverOfTime Mar 8, 2024
3fa47ca
feat: update bindings
ObserverOfTime Mar 8, 2024
393d7df
ci: update workflows
ObserverOfTime Mar 8, 2024
df3a422
build: bump versions
ObserverOfTime Mar 8, 2024
a24dab1
feat: update bindings again
ObserverOfTime Mar 11, 2024
7dc1582
Update binding.gyp
nordlow Mar 11, 2024
3d29dc1
Silence some clippy lints
Wilfred Mar 12, 2024
b8a4c64
build: update makefile for macos installation
amaanq Mar 12, 2024
b125bec
build: update makefile for macos installation
amaanq Mar 13, 2024
371fd0b
docs: add pypi badge
amaanq Mar 13, 2024
93ae0e9
Fix typos
Wilfred Mar 13, 2024
b95c27a
Upgrade to latest tree_magic_mini
Wilfred Mar 15, 2024
627ebc5
Revert "Upgrade to latest tree_magic_mini"
Wilfred Mar 15, 2024
ce71cae
chore: update tree_sitter to new one (#24)
Decodetalkers Mar 17, 2024
3be8e80
Fix issue with later lines not having positions during diffing
Wilfred Mar 19, 2024
15977f6
Update to latest tree_magic_mini now PR was merged
Wilfred Mar 19, 2024
20ffd6d
chore: bump version to 0.4.3 (#25)
Decodetalkers Mar 19, 2024
a70786d
Expand installation instructions
Wilfred Mar 19, 2024
c8655d2
Trace git environment variables
Wilfred Mar 20, 2024
72084f4
fix: crlf test
amaanq Mar 21, 2024
47f63b2
Update installation.md
opakapaka2003 Mar 21, 2024
dd7a0c8
Merge pull request #665 from opakapaka2003/opakapaka2003-patch-1
Wilfred Mar 21, 2024
f984413
Add tab completion for documented `dlog` alias
matthewhughes934 Mar 22, 2024
59d2067
Add FreeBSD installation instructions
emaste Mar 22, 2024
caf8760
Merge pull request #672 from emaste/freebsd
Wilfred Mar 22, 2024
e5e7d1c
Format PHP extensions in guess_language.rs
RBotfield Mar 22, 2024
5aeddd7
Add missing from_source manual page
Wilfred Mar 22, 2024
ca472bf
Merge pull request #671 from matthewhughes934/add-tab-completion-for-…
Wilfred Mar 23, 2024
e34185f
Consistent whitespace
Wilfred Mar 23, 2024
e096444
Merge branch 'Wilfred:master' into add-php-file-extensions
RBotfield Mar 25, 2024
415c591
Merge pull request #638 from RBotfield/add-php-file-extensions
Wilfred Mar 26, 2024
d718d64
Update installation.md to include chocolatey
mbaitelman Mar 26, 2024
b3732b9
Merge pull request #684 from mbaitelman/patch-1
Wilfred Mar 27, 2024
3b049c2
run cargo update
Pi-Cla Mar 24, 2024
4f7cc69
update tree-sitter cli
Nsidorenco Mar 28, 2024
140b1a9
external scanner cleanup
Nsidorenco Mar 28, 2024
15368bf
fix bindings
Nsidorenco Mar 28, 2024
13dafe5
simplify external scanner
Nsidorenco Mar 29, 2024
03059c1
simplify external scanner
Nsidorenco Mar 31, 2024
0d99946
fix comments
Nsidorenco Mar 31, 2024
e21f6f0
fix tick identifiers
Nsidorenco Mar 31, 2024
7976f44
fix enum types
Nsidorenco Mar 31, 2024
434a7ec
fix call expression
Nsidorenco Mar 31, 2024
a67d66d
fix attributed
Nsidorenco Mar 31, 2024
295c638
more stuff
Nsidorenco Mar 31, 2024
82ea166
rebuild parser.c
Nsidorenco Mar 31, 2024
d5011ea
Merge branch 'simplify_external_scanner'
Nsidorenco Apr 1, 2024
cd8dd0f
fix gitignore
Nsidorenco Apr 1, 2024
97c034b
fix multiple modules in file
Nsidorenco Apr 1, 2024
800bbfc
Delete .github/workflows/main.yml
Nsidorenco Apr 1, 2024
1f79d16
tests: show that hidden files are not picked up by difftastic
poliorcetics Mar 1, 2024
573d607
fix: diff hidden but non-ignored files when walking directories
poliorcetics Mar 1, 2024
0f518e1
skip failing tests for now
Nsidorenco Apr 1, 2024
e16dac3
fix highlighting tests
Nsidorenco Apr 1, 2024
00e837a
Update changelog
Wilfred Apr 2, 2024
fde8017
update ci
Nsidorenco Apr 2, 2024
db281c6
Roll version
Wilfred Apr 2, 2024
dc564d2
build: update bindings
ObserverOfTime Mar 31, 2024
075886a
ci: update workflows
ObserverOfTime Mar 31, 2024
8a64c2d
feat(scanner): use alloc header
ObserverOfTime Mar 31, 2024
d0b4e00
chore: generate
amaanq Apr 4, 2024
33b88d9
fix: correctly consume else branch in if-statement
Nsidorenco Apr 4, 2024
e1a5015
fix: linting errors
Nsidorenco Apr 4, 2024
c531ceb
fix: linting errors
Nsidorenco Apr 4, 2024
6b6a31c
fix: linting errors
Nsidorenco Apr 4, 2024
c945506
regenerate bindings
Nsidorenco Apr 4, 2024
1cd1f3d
update ci
Nsidorenco Apr 4, 2024
3ed6706
update ci
Nsidorenco Apr 4, 2024
77e36cf
update ci
Nsidorenco Apr 4, 2024
ddadc6e
Bump node-addon-api from 7.1.0 to 8.0.0 (#43)
dependabot[bot] Apr 4, 2024
cbb64ce
enable skipped test
Nsidorenco Apr 4, 2024
ff7f769
fix: correctly handle preproc alternatives
Apr 3, 2024
d33e20b
ci: update workflows
ObserverOfTime Apr 5, 2024
a227610
chore: rename publish workflow
amaanq Apr 5, 2024
5c3ab3a
chore: rename publish workflow
amaanq Apr 5, 2024
54c22a3
feat: add try-with-finally expressions
Nsidorenco Apr 5, 2024
59c8537
feat: enable global namespaces
Nsidorenco Apr 5, 2024
70239a9
feat: add expr<types>
Nsidorenco Apr 5, 2024
769fe49
feat: type definition highlighting
Nsidorenco Apr 5, 2024
5bd51ae
add skipped tests
Nsidorenco Apr 5, 2024
6e246e0
update attributes
Nsidorenco Apr 5, 2024
0365374
fix(build): repo url & pyproject authors
amaanq Apr 7, 2024
04a59ee
ci: add dependabot
amaanq Apr 7, 2024
1aafaff
build: update bindings
amaanq Apr 7, 2024
e395081
feat: support type instantiation expressions
amaanq Apr 7, 2024
b82ab80
refactor!: rework type parameters and interface type elements
amaanq Apr 7, 2024
cb83456
chore: generate
amaanq Apr 7, 2024
174bc44
build: updating bindings and versions
amaanq Apr 7, 2024
5c0024c
ci: update workflows
amaanq Apr 7, 2024
a7e2a39
Add favicon for manual
Wilfred Apr 7, 2024
b40e744
Clarify headings on internals pages
Wilfred Apr 7, 2024
bca6da3
Improve wording
Wilfred Apr 7, 2024
148ccf8
Add logos to homepage
Wilfred Apr 7, 2024
287ddd7
Much shorter version of dlog alias
toy Apr 4, 2024
97b87a5
fix: fixes scanner.c file name (#44)
adelarsq Apr 8, 2024
8e9ab72
Bump eslint from 8.57.0 to 9.0.0 (#45)
dependabot[bot] Apr 8, 2024
4a23517
extend highlight queries
Nsidorenco Apr 7, 2024
904371a
update highlight queries
Nsidorenco Apr 8, 2024
c40f274
update readme
Nsidorenco Apr 8, 2024
a3c34da
refine index expression
Nsidorenco Apr 8, 2024
6adabb9
fix call expression
Nsidorenco Apr 8, 2024
4974d1e
fix optional parameters
Nsidorenco Apr 8, 2024
eb68645
fix: rename highlights query constant
amaanq Apr 8, 2024
f52ca70
Enable --strip-cr by default
Wilfred Apr 9, 2024
f79b9d9
fix(scanner): only call memcpy if `length` is greater than 0
amaanq Apr 12, 2024
5759834
grammar cleanup
Nsidorenco Apr 14, 2024
aa79a17
fix: specifier and virtual do not strictly require each other
amaanq Apr 11, 2024
1c3c93d
feat: support pure virtual destructors
amaanq Apr 14, 2024
60d357f
feat: add optional attribute declarations after 'namespace'
amaanq Apr 14, 2024
f8efc57
feat: support reference declarators in types
amaanq Apr 14, 2024
f3d2757
chore: generate
amaanq Apr 14, 2024
a4d418e
fix: nested if-expressions (#46)
Nsidorenco Apr 14, 2024
72fd001
0.22.0
amaanq Apr 15, 2024
8abe60d
Bump tree-sitter-cli from 0.22.2 to 0.22.5 (#47)
dependabot[bot] Apr 16, 2024
4e5fc13
remove skip flag from tests
Nsidorenco Apr 16, 2024
2bebb41
add test for nested records
Nsidorenco Apr 17, 2024
098d1b2
feat: interface anon type definition
Nsidorenco Apr 17, 2024
4126b6c
add failing test
Nsidorenco Apr 17, 2024
9b6903a
feat: attributes on value declarations
Nsidorenco Apr 18, 2024
385792d
fix: increase precedence of escape chars
Nsidorenco Apr 18, 2024
ee8d1dc
fix: object expressions
Nsidorenco Apr 18, 2024
5238929
fix: parse more than three rules in match expression
Nsidorenco Apr 19, 2024
bd3391c
fix: resolve conflict with rules vs seq expr
Nsidorenco Apr 20, 2024
0069221
fix: allow creating underindented scope
Nsidorenco Apr 20, 2024
81281b6
fix: argument pattern vs pattern
Nsidorenco Apr 20, 2024
ce21e33
feat: slice ranges
Nsidorenco Apr 21, 2024
73c25c4
feat: additional class constructors
Nsidorenco Apr 21, 2024
6817887
feat: generic method arguments
Nsidorenco Apr 21, 2024
ca52302
feat: named interface parameters
Nsidorenco Apr 22, 2024
93bb9b4
add tests
Nsidorenco Apr 22, 2024
3720231
fix: ce expression on same line as decl
Nsidorenco Apr 22, 2024
7696a57
feat: format strings
Nsidorenco Apr 22, 2024
2000dae
fix: recursive let defn
Nsidorenco Apr 23, 2024
c4629d8
fix: allow for more symbolic ops
Nsidorenco Apr 23, 2024
a863770
feat: interfaces with property members
Nsidorenco Apr 24, 2024
0b7fcab
fix: allow underindentation in call expr
Nsidorenco Apr 24, 2024
5ade0bb
readme: direct link to languages section
tennox Apr 25, 2024
7a793db
fix: seq expression following decl expression
Nsidorenco Apr 25, 2024
2ea9f08
fix: prefix op vs infix op
Nsidorenco Apr 25, 2024
4357486
fix: new object expression
Nsidorenco Apr 25, 2024
03b3cfd
fix: fun decl vs value decl
Nsidorenco Apr 25, 2024
e1baccf
fix: curried member args
Nsidorenco Apr 25, 2024
558ece7
fix: allow 'with' on new line in match
Nsidorenco Apr 26, 2024
5e39d09
feat: xml docstring node
Nsidorenco Apr 26, 2024
eea72ff
fix: improve if-then-else scoping
Nsidorenco Apr 26, 2024
bbf8820
feat: add node fields
Nsidorenco Apr 26, 2024
8d65614
Revert "feat: add node fields"
Nsidorenco Apr 26, 2024
cb63ca8
Write a basic man page
Wilfred Apr 27, 2024
b466ffb
chore: fix crlf line endings
ObserverOfTime Apr 28, 2024
d2cdb96
Expand man page and add to changelog
Wilfred Apr 28, 2024
cafff7f
Pin mac build to macos-12
Wilfred Apr 28, 2024
7353a79
Try enabling ARM macos on CI
Wilfred Apr 28, 2024
4fb1478
Fix memory leak in neighbours array.
sesse Apr 8, 2024
3025705
Make Stack be allocated on the arena.
sesse Apr 8, 2024
26e1ae4
Fix clippy lints
Wilfred Apr 28, 2024
d15d593
Move to smallvec for seen vertices
Wilfred Apr 28, 2024
8655a94
Fix unwanted duplicate node in existing vec
Wilfred Apr 28, 2024
7f5c11c
cargo fmt
Wilfred Apr 28, 2024
38f148d
Don't flatten error nodes
Wilfred Apr 29, 2024
688aaa8
Merge commit '02b4ee757654b7d54fe35352fd8e53a8a4385d42'
Wilfred Apr 29, 2024
2e01656
Update CSS parser
Wilfred Apr 29, 2024
9e44712
Remove old lua grammar
Wilfred Apr 29, 2024
50d90f6
Add 'vendored_parsers/tree-sitter-lua/' from commit 'a24dab177e58c9c6…
Wilfred Apr 29, 2024
c2df185
Update Lua parser
Wilfred Apr 29, 2024
a5b2587
Merge commit 'eb68645662a3f7bf7fdd4bcb9531585f54c8570e'
Wilfred Apr 29, 2024
cce7b2e
Merge commit 'b466ffb4d7ce0a833754429ad8d3a02e950ed74c'
Wilfred Apr 29, 2024
5c40cd0
Prefer _1 and _2 naming for test files
Wilfred Apr 29, 2024
27fb722
Merge commit '1aafaff4d26dac5a36dd3495be33e1c20161d761'
Wilfred Apr 29, 2024
b4ff51f
Update URL to Lua parser
Wilfred Apr 29, 2024
4dc541b
Merge commit '72fd00128f1c38319670cbf4bcedbba0dc849d96'
Wilfred Apr 29, 2024
a9be2fe
Remove awkard CRLF file from vendored parser
Wilfred Apr 29, 2024
ae77a9c
Document C++ parser change
Wilfred Apr 29, 2024
1dd7bbe
Merge commit '09dbf221d7491dc8d8839616b27c21b9c025c457'
Wilfred Apr 29, 2024
ecaee57
Update Elm parser
Wilfred Apr 29, 2024
9207220
Merge commit '20ffd6d3b4da1acdbf2d08204b2130a5b2f7c4b3'
Wilfred Apr 29, 2024
e23b9fc
Update CMake parser
Wilfred Apr 29, 2024
92cf19c
fix: handle comments inside brackets
Nsidorenco Apr 29, 2024
4e23932
feat: add xml doc content node
Nsidorenco Apr 29, 2024
1134e9f
feat: anon record expressions
Nsidorenco Apr 29, 2024
8f7bf1a
simplify newline tokens
Nsidorenco Apr 29, 2024
8eac7b2
add node field names
Nsidorenco Apr 29, 2024
ed67506
fix: while expression in seq expression
Nsidorenco Apr 29, 2024
53c2106
improve error recovery
Nsidorenco Apr 30, 2024
3c70aae
Bump prebuildify from 6.0.0 to 6.0.1 (#49)
dependabot[bot] May 1, 2024
632077a
build(deps-dev): bump eslint from 9.0.0 to 9.1.1 (#50)
dependabot[bot] May 1, 2024
d819d6c
simplify scanner
Nsidorenco Apr 30, 2024
05569e7
feat: improve error recovery
Nsidorenco May 1, 2024
2af47ed
add queries
Nsidorenco May 1, 2024
1d8481b
fix: for-loop vs do expression
Nsidorenco May 2, 2024
36eeeb4
fix: prefix expression associativity
Nsidorenco May 2, 2024
6c7f980
feat: allow top-level expressions
Nsidorenco May 3, 2024
c5fff9d
clean up parser states for types
Nsidorenco May 4, 2024
830d01f
fix type decl scoping
Nsidorenco May 5, 2024
ccd13da
fix: ce expression vs application expression
Nsidorenco May 5, 2024
6a7042c
build(deps-dev): bump tree-sitter-cli from 0.22.5 to 0.22.6 (#51)
dependabot[bot] May 6, 2024
15c81bd
build(deps): bump node-gyp-build from 4.8.0 to 4.8.1 (#52)
dependabot[bot] May 6, 2024
15c5811
build(deps-dev): bump eslint from 9.1.1 to 9.2.0 (#53)
dependabot[bot] May 6, 2024
c4d2c74
fix: ce expression vs application expression nested
Nsidorenco May 6, 2024
5c85c50
fix: repeated attributes
Nsidorenco May 6, 2024
33542a4
Update CMake highlights for latest grammar
Wilfred May 7, 2024
9474635
Prefer .to_owned() on &str
Wilfred May 7, 2024
03d1f9b
Lint against .to_string() on String
Wilfred May 7, 2024
0ceb000
Move notes to wiki
Wilfred May 7, 2024
082abf6
Document how to disable difftastic temporarily
greg0ire Feb 27, 2024
1954f15
Fix typo
Wilfred May 7, 2024
7769a19
feat: shorthand array type postfix
Nsidorenco May 7, 2024
ec7a765
Factor out a constant for the default terminal width
Wilfred May 10, 2024
6a3b340
Prefer 'terminal' over 'display' terminology
Wilfred May 10, 2024
f665c73
Remove pin in dev dependencies that is no longer necessary
Wilfred May 10, 2024
be95b31
Tests do actually import predicates, so restore dependency with loose…
Wilfred May 10, 2024
9d2574d
Update assert_cmd dependency
Wilfred May 10, 2024
edb839c
Improve terminal width detection
Wilfred May 10, 2024
0c92771
It's not actually a 2x perf win
Wilfred May 10, 2024
835c5eb
Roll version following release
Wilfred May 11, 2024
e51834f
Support comment.foo highlighting queries
Wilfred May 11, 2024
28d8673
Treat tree-sitter nodes highlighted as comments as atoms
Wilfred May 11, 2024
809f491
Remove empty comment
Wilfred May 12, 2024
b5dbafd
fix: multi line triple quoted strings
Nsidorenco May 13, 2024
5a250d6
Expand usage docs and fix obsolete reference to --language
Wilfred May 13, 2024
11e2c49
Fix wording
Wilfred May 13, 2024
d3e5aa5
Merge remote-tracking branch 'blmaier/support-devicetree'
Wilfred May 13, 2024
de9c84c
Document new addition
Wilfred May 13, 2024
d292546
Prefer 'device tree' as two words
Wilfred May 13, 2024
d92b65c
Merge remote-tracking branch 'thecentury/f#'
Wilfred May 14, 2024
28f55d9
Merge commit 'b5dbafd164af7113e208de9b36068046f5ce8678' into f_sharp
Wilfred May 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
7 changes: 2 additions & 5 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ Thanks for reporting a bug! Please include all of the following:

(1) A description of the issue. A screenshot is often helpful too.

(2) A copy of what you're diffing. If you're diffing files, include
the before and after files. If you're using difftastic with a VCS
repository (e.g. git), include the URL and commit hash.
(2) A copy of what you're diffing. If you're diffing files, include the before and after files. If you're using difftastic with a VCS repository (e.g. git), include the URL and commit hash.

(3) The version of difftastic you're using (see `difft --version`) and
your operating system.
(3) The version of difftastic you're using (see `difft --version`) and your operating system.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- target: x86_64-unknown-linux-gnu
os: ubuntu-20.04
- target: x86_64-apple-darwin
os: macos-latest
os: macos-12
- target: x86_64-pc-windows-msvc
os: windows-latest

Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,17 @@ jobs:
fail-fast: false
matrix:
job:
# Operating systems available: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
- { target: x86_64-unknown-linux-gnu, os: ubuntu-20.04 }
- { target: x86_64-apple-darwin, os: macos-latest }
# mac-latest (currently mac-14) is an ARM device, so use macos-12 to get Intel.
# Update annoucement: https://github.blog/changelog/2024-04-01-macos-14-sonoma-is-generally-available-and-the-latest-macos-runner-image/
- { target: x86_64-apple-darwin, os: macos-12 }
- { target: x86_64-pc-windows-msvc, os: windows-latest }

- { target: aarch64-unknown-linux-gnu, os: ubuntu-20.04, use-cross: true }

# TODO: Support cross-compiling on macOS on CI, see
# https://github.com/cross-rs/cross-toolchains#apple-targets
#
# - { target: aarch64-apple-darwin, os: macos-latest, use-cross: true }
# mac-14 is an M1 ARM device.
- { target: aarch64-apple-darwin, os: macos-14 }

# musl binaries produced by GitHub actions segfault when run, see
# https://github.com/Wilfred/difftastic/issues/563
Expand Down
98 changes: 95 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,100 @@
## 0.56 (unreleased)
## 0.59 (unreleased)

### Parsing

Updated JavaScript, TypeScript and QML parsers.
Added support for device tree.

Added support for Smali.
Difftastic now uses tree-sitter comment highlighing as a hint that
nodes should be treated as atoms. This ensures comments are treated
more consistently across languages. This fixes cases in Elm where
comment differences were ignored, and may improve other languages too.

## 0.58 (released 11th May 2024)

### Parsing

Difftastic now preserves tree-sitter parse tree structure on parse
error nodes. This reverts the flattening behaviour introduced in
0.38. Preserving structure tends to produce better diffs, although it
increases the risk that difftastic will show fewer changes in the
presence of parse errors.

Since difftastic is now conservative with parse errors
(DFT_PARSE_ERROR_LIMIT is 0 by default), this seems like a better
tradeoff.

Updated C, C++, CMake, CSS, Elm, Go, Lua and Python parsers.

### Diffing

`--strip-cr` now defaults to `on`, so comparing a file with CRLF
endings with a file with unix line endings will not show spurious
changes.

### Documentation

Difftastic now has a man page, see the `difft.1` file.

### Performance

Fixed a memory leak and improved performance in some cases.

### Command Line Interface

Fixed a crash when difftastic could not detect the terminal width,
such as inside eshell.

Difftastic now also considers $COLUMNS when detecting the terminal
width.

## 0.57 (released 1st April 2024)

### Parsing

Text file detection is now stricter, considering null bytes as a hint
that files are binaries.

### Diffing

Fixed an issue where hidden files (filename starting with `.`) were
ignored when diffing directories.

Scheme now uses the same slider heuristics as other lisps, preferring
the outer delimiter.

Fixed an issue with line-based diffing where only the first line in a
large changed region was highlighted. This was particularly noticeable
when diffing brand new files.

### Display

Fixed an issue when reporting changes in binary files, where trailing
whitespace was inconsistent with other changes shown.

## 0.56.1 (released 5th March 2024)

### Build

Fixed an issue with building difftastic on aarch64 with rust 1.71 or
earlier.

## 0.56 (released 5th March 2024)

### Parsing

Updated JavaScript, TypeScript, QML and Perl parsers.

`Makefile*.in` is now detected as Makefile syntax.

Improved shebang parsing with whitespace, e.g. `#! /bin/bash` is now
detected as a shell script.

Added support for Scheme and Smali.

### Diffing

Fixed an issue with runaway memory usage on text files with very long
lines.

### Display

Expand All @@ -20,6 +110,8 @@ from `git diff`.
Fixed an issue with the experimental JSON display mode where it
ignored `--skip-unchanged`.

Fixed an issue with tabs not being replaced in single-column display.

## 0.55 (released 1st February 2024)

### Parsing
Expand Down