Commit Graph

652 Commits (80f0100c293026e65b305c27ed1db5037a821549)

Author SHA1 Message Date
Wilfred Hughes 05a1b184ea Use globbing to match file names in language detection 2023-05-14 15:50:56 +07:00
Wilfred Hughes bde09efb80 Update changelog and tests for new path printing logic 2023-04-15 21:08:40 +07:00
Wilfred Hughes efd57ddbae Update changelog and manual for Solidity support 2023-04-12 00:56:13 +07:00
Wilfred Hughes 2296c9f739 Update version of next release 2023-04-01 16:20:17 +07:00
Wilfred Hughes 81ac13cbd3 Roll version following release 2023-03-31 08:37:06 +07:00
Wilfred Hughes 8b842387a1 Don't clean trailing newline before diffing
Difftastic should take the user's input as-is, or it risks performing
an incorrect diff in both textual and syntactic diffing.

Fixes #499
2023-03-30 08:46:11 +07:00
Wilfred Hughes 1e9f437688 Remove --missing-as-empty 2023-03-17 08:40:21 +07:00
Wilfred Hughes 6d99ea41c1 Merge commit 'ff1f0ac0f1c678a23f68d0140e75a0da8e11b7b5' 2023-03-17 00:46:11 +07:00
Wilfred Hughes 6ae589766c Merge commit 'ab75be9750e6f2f804638824d1790034286a830c' 2023-03-17 00:45:03 +07:00
Wilfred Hughes 6a455faa06 Merge commit 'b66d19b9b6ec3edf3d8aff0c20646acbdaa0afb3' 2023-03-17 00:14:19 +07:00
Wilfred Hughes e24ca47173 Merge commit '5720b249490b3c17245ba772f6be4a43edb4e3b7' 2023-03-17 00:13:21 +07:00
Wilfred Hughes aef2a84fa5 Merge commit 'f1106bf834703f1f2f795da1a3b5f8f40174ffcc' 2023-03-17 00:09:44 +07:00
Wilfred Hughes 8266e0a161 Merge commit '64457ea6b73ef5422ed1687178d4545c3e91334a' 2023-03-17 00:05:52 +07:00
Wilfred Hughes f76dfdc4f0 Merge commit '3c24aa9365985830421a3a7b6791b415961ea770' 2023-03-17 00:01:50 +07:00
Wilfred Hughes 1c01128050 Update changelog for last commit 2023-03-16 22:12:10 +07:00
Wilfred Hughes b914149ccf Merge commit '399605a02bcd5daa309ce63a6459c600dce3473f' 2023-03-16 08:20:22 +07:00
Wilfred Hughes 7fbe0d6c2f Improve UTF-16 detection heuristics and add test 2023-03-16 00:31:58 +07:00
Wilfred Hughes b1ecf00602 Merge commit 'fcacbeb4af6bcdcfb4527978a997bb03f4fe086d' 2023-03-15 23:50:56 +07:00
Wilfred Hughes 630e843a66 Merge commit '03fa93db133d6048a77d4de154a7b17ea8b9d076' 2023-03-15 23:24:58 +07:00
Wilfred Hughes b636201a8c Merge commit 'f35789006ccbe5be8db21d1a2dd4cc0b5a1286f2' 2023-03-15 21:49:50 +07:00
Wilfred Hughes 4eaba59c5e Merge commit 'b338fa9f4807b9e0336cd4dde04948a8c324a4cf' 2023-03-15 16:11:16 +07:00
Wilfred Hughes 20ad284882 Add 'vendored_parsers/tree-sitter-clojure/' from commit '421546c2547c74d1d9a0d8c296c412071d37e7ca'
Closes #448

git-subtree-dir: vendored_parsers/tree-sitter-clojure
git-subtree-mainline: ebfc043a4a
git-subtree-split: 421546c254
2023-03-15 15:43:55 +07:00
Wilfred Hughes a67be0f845 Treat quoted_keys as atoms in TOML 2023-03-15 15:12:33 +07:00
Wilfred Hughes 5d617a4c3f Add Ada to changelog 2023-03-15 15:08:46 +07:00
Wilfred Hughes 6ad77c620c Don't highlight text in purple
Closes #498
2023-03-14 23:47:17 +07:00
Jonatan Kłosko 869dff3ceb Release v0.1.0 2023-03-14 10:58:34 +07:00
Wilfred Hughes 8a36f69f5f Update changelog for #496 2023-03-13 23:08:45 +07:00
Wilfred Hughes ffd2c4a7fb Roll version 2023-03-03 08:44:56 +07:00
Wilfred Hughes 2d1a2c906e Count errors on the root node too
Fixes #377
2023-03-03 00:25:41 +07:00
Wilfred Hughes 045d6a2c58 Treat Newick and Racket as lisps 2023-03-03 00:23:11 +07:00
Wilfred Hughes 03985066f5 Treat Makefile text as atoms
Improves another case identified in #476
2023-03-02 23:52:01 +07:00
Wilfred Hughes f8a7ccee85 Use consistent formatting in changelog 2023-03-02 23:31:12 +07:00
Wilfred Hughes 0a060026e3 Roll version 2023-03-02 23:25:11 +07:00
Wilfred Hughes 667501adf6 Document the --parse-error-limit option added in 0.44 2023-03-02 23:23:33 +07:00
Wilfred Hughes c33d7f2520 Support --check-only on text files too 2023-03-02 08:50:45 +07:00
Wilfred Hughes c404917502 Update changelog and manual for Newick 2023-02-21 08:46:55 +07:00
Wilfred Hughes 1ff64dddcb Mention Racket in the changelog 2023-02-21 08:33:28 +07:00
Wilfred Hughes a7f06471e1 Update changelog 2023-02-10 08:52:07 +07:00
Wilfred Hughes 63cf71641a Display file size in the header if it's too big 2023-02-05 17:28:39 +07:00
Wilfred Hughes d425685284 Next version will be 0.44 2023-02-04 16:42:22 +07:00
Wilfred Hughes f43e0d7e9a Mention 0.43.1 in changelog 2023-02-04 15:26:53 +07:00
Wilfred Hughes 8d1b26e3f4 Update release dates in changelog 2023-02-04 14:10:15 +07:00
Wilfred Hughes 0177ce27f9 Mention #473 in the changelog 2023-02-02 22:19:52 +07:00
Wilfred Hughes bf26ec890f Update changelog for #475 2023-02-02 22:11:24 +07:00
Wilfred Hughes 5ed4bac8a5 Add support for R
Fixes #470
2023-01-26 08:50:00 +07:00
Wilfred Hughes 998c9e94ff Fix crash on repeated, partially novel lists
Fixes #469
2023-01-25 23:54:41 +07:00
Wilfred Hughes 6321b8ece2 Consistently append newlines regardless of colour mode 2023-01-25 16:55:12 +07:00
Wilfred Hughes 3291da6be4 Allow colour to be configured with DFT_COLOR too
In #468 it's also mentioned that this couldn't be configured with an
environment variable.
2023-01-25 16:44:41 +07:00
Wilfred Hughes 4337fbbcd8 Show the default value for --color and --display
Fixes #468
2023-01-25 16:40:12 +07:00
Wilfred Hughes 48c64297c5 Roll version 2023-01-15 20:15:40 +07:00
Wilfred Hughes daa7156a2c Fix crash with --display=inline and trailing whitespace
Line numbers may be less than .max_line(), as .max_line() trims
whitespace. Ensure pad_after() is robust to this, and add a test.

I could only reproduce the crash in inline display mode, but in
principle this could be an issue in all modes.

Fixes #452
2023-01-15 20:04:12 +07:00
Wilfred Hughes a488efd63b Add highlighting for ignored syntactic elements
This finishes --ignore-comment support.

Fixes #449.
2023-01-15 14:49:46 +07:00
Wilfred Hughes 0e3c57c64a Skip unique items before computing Myer's diff on text
This substantially improves performance on text files where there are
few lines in common.

For example, 10,000 line files with no lines in common is more than 10x
faster (8.5 seconds to 0.49 seconds on my machine), and
sample_files/huge_cpp_before.cpp is nearly 2% faster.

Fixes the case mentioned by @quackenbush in #236.

This is inspired by the heuristics discussions at
https://github.com/mitsuhiko/similar/issues/15
2023-01-15 11:38:02 +07:00
Wilfred Hughes efec759504 Only set language_used after a full syntactic diff
This fixes cases where the language is detected but the file hits the
byte limit.

Fixes #462.
2023-01-14 12:52:08 +07:00
Wilfred Hughes 08b3ff138f Rename vendor/ directory
Closes #453
2023-01-10 08:35:01 +07:00
Wilfred Hughes 63a3bf0c91 Ensure we use the correct config for sublanguage parsing
Otherwise get the wrong node names for atoms.
2023-01-08 22:24:43 +07:00
Wilfred Hughes 8ed4fbccfa Treat colour values (e.g. `#FFF`) as atoms in CSS 2023-01-08 22:22:46 +07:00
Wilfred Hughes 44168638f4 Next release will be 0.42 2023-01-08 22:21:56 +07:00
Wilfred Hughes fbe79aa408 Fix spelling 2023-01-08 21:46:02 +07:00
Wilfred Hughes 34967f588d Treat predefined_type as an atom in TypeScript
Currently it contains a nested string node, even though it's a fixed
set of known types. This was preventing us from applying good syntax
highlighting.

This was particularly noticeable with `string`, which wasn't
previously highlighted as a type.
2023-01-07 22:43:50 +07:00
Wilfred Hughes 610a6e441d Ensure that textual fallback diffing has a parse language of None
Previously we still passed the parse language after exceeding the
graph limit, leading to incorrect underline highlighting.
2023-01-06 19:07:05 +07:00
sogaiu ac25f8424e Add links to issues in changelog 2023-01-06 22:11:59 +07:00
sogaiu f821bbe156 Use a separate file for changelog 2023-01-06 22:06:05 +07:00
Steinar H. Gunderson 9133918dd4 Support parsing of sub-languages.
This allows given nodes (configurable per-language, using tree-sitter's
query syntax) to be re-parsed as other languages. The canonical example
is CSS or JavaScript inside HTML, which normally would be a single token
but now can get the full range of syntax highlighting and tree diffing.

The config sets this up for only two languages: HTML (contains CSS or
JavaScript in <script> or <style> tags; we don't support style="" or
onclick="" etc. at this point), and Makefiles (contains Bash in
$(shell ...) commands). The latter is fairly obscure; the big win is
in the former.

It would be nice to also have this support for PHP; however, the HTML
parser seems to be a bit confused when asked to parse the partial HTML
blocks we get if we just mark the "text" blocks as HTML, so for this
to work well, probably the PHP blocks should be parsed as sub-languages
of HTML instead of vice versa.

Also, as a minor quibble, there should be support for bash in Perl's
backticks (similar to in Makefiles), but the tree-sitter Perl parser
does not support backticks at all (it goes into error recovery).

There may have been languages that I've missed, e.g. some languages
might have nodes that contain e.g. SQL.

Fixes #382. Potentially relevant to #376.
2023-01-03 08:31:48 +07:00
Wilfred Hughes 0fc1842595 Improve word highlighting heuristics in comments
Previously we highlighted changed whitespace, which led to ugly
results if the number of words changed (there was a different number
of whitespace characters so some were highlighted).

Also treat _ and - as word constituents, as it produces nicer results
when people write example CLI invocations in comments.
2023-01-02 16:56:31 +07:00
Wilfred Hughes 87dcfd2cca Replace tabs in inline output too 2023-01-01 22:55:48 +07:00
Wilfred Hughes e8e5ca8e47 Replace tabs during display, so parsing sees the original source
Fixes #350
2023-01-01 22:44:47 +07:00
Wilfred Hughes 3c95b2ebbb Roll version 2022-12-28 15:12:58 +07:00
Wilfred Hughes 00ecf36a22 Pop delimiters immediately, rather than having ExitDelimiter* edges
@QuarticCat observed that popping delimiters is unnecessary, and saw a
speedup in PR #401. This reduces the number of nodes in typical graphs
by ~20%, reducing runtime and memory usage.

This works because there is only one thing we can do at the end of a
list: pop the delimiter. The syntax node on the other side does not
give us more options, we have at most one. Popping all the delimiters
as soon as possible is equivalent, and produces the same graph route.

This change has also slightly changed the output of
samples_files/slow_after.rs, producing a better (more minimal)
diff. This is probably luck, due to the path-dependent nature of the
route solving logic, but it's a positive sign.

A huge thanks to @QuarticCat for their contributions, this is a huge
speedup.

Co-authored-by: QuarticCat <QuarticCat@pm.me>
2022-12-28 02:00:09 +07:00
Wilfred Hughes 3b37b9a12c Expand symlinks before computing relative path for display paths
Fixes #447
2022-12-22 22:48:27 +07:00
Wilfred Hughes d18acce856 Update changelog for 08e7b5f41 2022-12-22 09:17:19 +07:00
Wilfred Hughes a2fa9fdbf5 Update changelog for fda897b81 2022-12-22 09:14:28 +07:00
Wilfred Hughes cadceb20b0 Show whole file names too with --list-languages 2022-12-19 09:33:53 +07:00
Wilfred Hughes 723e3dbd0e Roll version 2022-12-19 00:20:42 +07:00
Wilfred Hughes e0fcf2b84b Add a --check-only flag
Fixes #386
2022-12-18 23:55:22 +07:00
Wilfred Hughes a2f22cb17c Only set the exit code if --exit-code is set
This is important for usage with git log, which terminates on non-zero
exit codes.
2022-12-18 23:11:18 +07:00
Wilfred Hughes 6a46237bb0 Set the exit code when changes are found
Closes #285
2022-12-18 00:28:54 +07:00
Wilfred Hughes 2cf27ec7cd Display paths relative to cwd
Fixes #444
2022-12-16 10:08:38 +07:00
Wilfred Hughes afc78e976d Document Erlang support and add test
Fixes #394
2022-12-15 23:30:45 +07:00
Wilfred Hughes 7b31be8adb Improve binary file detection heuristics
Fixes #433
2022-12-08 10:29:35 +07:00
Wilfred Hughes 554fb18b7c Fix interleaved output when diffing directories
Fixes #437
2022-12-08 09:58:19 +07:00
Wilfred Hughes 8e190677e7 Roll version 2022-11-14 00:30:56 +07:00
Wilfred Hughes 2e7c90c472 Ensure line wrapping uses the same length on both sides
Closes #421
2022-11-13 00:35:06 +07:00
Wilfred Hughes b662a2220b Apply upstream tree_magic_mini patch to fix blank line crash
Fixes #378
2022-10-31 00:54:24 +07:00
Wilfred Hughes 7f7b35441b Ensure that inline display without color has newlines
This was broken in 3147eb8e6a when
newline splitting was made consistent, and
2071517621 only fixed the inline case
when color was enabled.

Fixed #383
2022-10-28 23:42:52 +07:00
Wilfred Hughes 28c3b0ef5d Tweak line number styling to make it more distinct from content
Dim line numbers for unchanged lines, and make changed lines bold (in
addition to the existing red/green colours).

Closes #384
2022-10-28 20:34:36 +07:00
facebook-github-bot a8b8b0e16c Initial commit
fbshipit-source-id: ba4d26ff8ff932e614e343d0c8cac90abf5f2776
2022-10-19 08:51:29 +07:00
Wilfred Hughes b9d44ae65f Treat error nodes as atoms
Fixes #408
2022-10-15 22:50:08 +07:00
Wilfred Hughes e91878fb32 0.37 is now released 2022-10-14 16:10:27 +07:00
Wilfred Hughes 6b0009c941 Mention perf improvements from #393 and #395 2022-10-14 13:50:00 +07:00
Wilfred Hughes b4ff28c75e Fix side-by-side line length when colour is disabled
Fixes #406

Looks like this was inadvertently broken in #301.
2022-10-14 13:15:17 +07:00
Wilfred Hughes b6ddd152d0 Add the ability to configure how many lines of context are shown
See #242
2022-10-13 12:34:52 +07:00
Wilfred Hughes 308a9c842a Update changelog for Swift parser update 2022-10-09 16:02:19 +07:00
Wilfred Hughes 345a88fe53 Support - as a CLI argument
Fixes #389
2022-09-24 17:23:47 +07:00
Wilfred Hughes b7e95d2b1d Mention Chinese manual in changelog 2022-09-24 17:01:47 +07:00
Wilfred Hughes ee688b43f2 --list-languages should respect --color
Fixes #387
2022-09-21 21:49:24 +07:00
Wilfred Hughes c602503dec Treat . as punctuation
Closes #388
2022-09-21 21:39:07 +07:00
Wilfred Hughes f71ce08407 Don't assume that Windows is building on MSVC
The flag /utf-8 is supported by cl.exe, but gcc.exe interprets it as a
non-existent linker script.
2022-09-18 15:08:53 +07:00
Wilfred Hughes 88222e83c4 Prepare for patch release with fixed Windows build 2022-09-17 23:55:00 +07:00
Wilfred Hughes d5ae17d3d5 Roll version following release 2022-09-17 20:18:59 +07:00
Wilfred Hughes ba6d73bcf4 Document Hare in manual and changelog 2022-09-15 09:39:41 +07:00
Wilfred Hughes 3c51f58d8e Add Pascal support
Fixes #365
2022-09-13 00:05:23 +07:00
Wilfred Hughes 23f6a15838 Update changelog for 888894d0f 2022-09-12 23:03:54 +07:00
Wilfred Hughes aff584af46 Don't crash when the line split boundary is on a combining character
Fixes #358
2022-09-12 23:02:20 +07:00
Wilfred Hughes f155a27522 Underline changed words in comments
This makes them easier to spot in larger changes.

Fixes #328
2022-09-10 15:54:04 +07:00
Wilfred Hughes fe30b7d86b Treat .zip files as binary unconditionally
Improves #358
2022-09-10 12:22:58 +07:00
Yuya Nishihara 84f0b25fb6 Add support for QML
QML is a UI language, and its syntax is basically JSON-like structure
+ JavaScript. The tree-sitter parser is named after the upstream grammar
file qmljs.g, but the canonical language name is QML. So I choose Qml as
the Language enum.

https://doc.qt.io/qt-6/qmlapplications.html
2022-09-10 11:38:35 +07:00
Wilfred Hughes fe5ef8757d Give novel punctuation a lower edge cost
We'd rather see an unchanged variable name than an unchanged comma.

Fixes #366
2022-09-09 09:47:53 +07:00
Wilfred Hughes 9695d0009e Mention slider fix in changelog 2022-09-02 18:35:04 +07:00
Wilfred Hughes e15244c8f6 Roll version 2022-09-02 18:24:08 +07:00
Wilfred Hughes 5b866f8db3 Fix extensions for language detection with Makefile syntax 2022-09-02 11:42:28 +07:00
Wilfred Hughes fd571c98a7 Add a --list-languages option
Fixes #292
2022-09-02 11:41:05 +07:00
Wilfred Hughes 40dfd9eb29 Fix typo in .workflow extension name 2022-09-02 11:26:40 +07:00
Wilfred Hughes a04f867557 Fix terminal width detection
This was previously fixed in
cb900c3463 (see commit message), but
broken in #341.

Instead, use both term_size and terminal_size, to maximise our chances
that we can detect the width. Also comment the code with the relevant
terminal_size issue.

Fixes #346
2022-09-02 11:07:48 +07:00
Wilfred Hughes 8ff572d615 Copy crates.io note from the release info on 0.28 2022-09-01 09:18:32 +07:00
Wilfred Hughes 659f2dd6bd Add support for Makefiles 2022-08-28 16:26:01 +07:00
Wilfred Hughes b1b3756fa7 Attempt to detect and decode UTF-16 files too
Closes #345
2022-08-28 15:38:57 +07:00
Wilfred Hughes 1d1d883a9b Roll version 2022-08-27 23:00:33 +07:00
Wilfred Hughes a247218811 Set +whole-archive on C/C++ libraries
This fixes the build for Rust 1.61+ on some machines. I can reliably
reproduce this locally, but CI does not exhibit this issue (I'm not
sure why).

The Rust compatibility notes document this change:
https://github.com/rust-lang/rust/blob/1.61.0/RELEASES.md#compatibility-notes

and eventually this will be supported by cc:
https://github.com/rust-lang/cc-rs/pull/671

Fixes #339
2022-08-27 17:28:04 +07:00
Wilfred Hughes 09334030ab Fix incorrect line number being used in side-by-side display
Fixes #334
2022-08-22 09:34:34 +07:00
Wilfred Hughes f3420df1ca Roll version 2022-08-21 22:05:04 +07:00
Wilfred Hughes c957818514 Explore two graph nodes for each parenthesis position
This produces substantially better diff results, and fixes the 'last
item in the list shown as changed' problem.

This can produce slower diffing. typing_before.ml takes 10% more
instructions and slow_before.rs takes 110% more instructions.
2022-08-21 16:34:17 +07:00
Wilfred Hughes 515932151f Merge branch 'cmake' 2022-08-20 18:36:07 +07:00
Wilfred Hughes bbdc324b7f Add CMake support
Fixes #333
2022-08-20 18:32:32 +07:00
Wilfred Hughes 58c8f47298 Also consider highlights.scm when marking nodes as comments
This removes the need to special-case Perl, and is necessary for
CMake (which has nodes bracket_comment and line_comment that aren't
marked as 'extra').
2022-08-20 18:28:07 +07:00
Wilfred Hughes fb38e7a24f Always use the RHS for language detection
Taking the longest path breaks if we have e.g. /dev/null and foo.py,
because foo.py is shorter.
2022-08-18 23:00:15 +07:00
Wilfred Hughes 01cce54978 Fix path display when called from git with two arguments
Fixes #332
2022-08-18 23:00:13 +07:00
Wilfred Hughes 5fe6d551d9 Always use the RHS for language detection
Taking the longest path breaks if we have e.g. /dev/null and foo.py,
because foo.py is shorter.
2022-08-18 22:58:43 +07:00
Wilfred Hughes 040dd3b0e2 Fix path display when called from git with two arguments
Fixes #332
2022-08-18 09:34:14 +07:00
Wilfred Hughes 6ce0717447 Note the newer rustc requirement 2022-08-12 12:39:00 +07:00
Wilfred Hughes a5aa433277 Mention #329 in the changelog 2022-08-12 12:25:02 +07:00
Wilfred Hughes 0c03187b96 Roll version 2022-08-07 18:16:16 +07:00
Wilfred Hughes f028389393 Update changelog for last commit 2022-08-07 18:13:04 +07:00
Wilfred Hughes 5d93efa51a Document Elm support in the manual and changelog
This was added in 0.26.
2022-08-02 09:15:11 +07:00
Wilfred Hughes bc283341f3 Use unique subtrees shared between LHS/RHS to determine similar lists
This makes the 'lists are sufficiently similar' heuristic more
aggressive. Previously we'd look for lists with common start or end
children and the same delimiters.

This worked badly for cases like:

LHS: (novel-lhs (a b c d e))
RHS: (novel-rhs (a b c d e))

Instead, look for sublists that are unique on both sides and occur on
both the LHS and RHS root being considered. This allows us to match up
many more cases.

Consider lists to be sufficiently similar exclusiely using this
(surprisingly effective) heuristic, and don't consider outer
delimiters.

This substantially improves performance in many cases, particularly
for files that are fairly flat (many toplevel lists with little
nesting).

Fixes #306
2022-07-19 21:58:37 +07:00
Wilfred Hughes 3e320bb1cb Bump version number 2022-07-12 00:12:21 +07:00
Wilfred Hughes 8547987830 Add Hacklang support 2022-07-11 22:13:37 +07:00
Wilfred Hughes 38c6718c86 Improve handling of /dev/null paths when there are two CLI argsuments
When git calls us, we always know the file name. If we're called with
two arguments and one is /dev/null, use the other for language
detection and display.
2022-07-11 21:41:04 +07:00
Wilfred Hughes f2ca7cf314 Add SQL support
Closes #311
2022-07-11 09:31:34 +07:00
Wilfred Hughes 144f7d9e30 Updated TypeScript parser 2022-07-10 23:42:54 +07:00
Wilfred Hughes 2d0af395f9 Updated Scala parser 2022-07-10 23:39:13 +07:00
Wilfred Hughes 5c48a7fcef Updated Ruby parser 2022-07-10 23:36:05 +07:00
Wilfred Hughes 91bebc3caa Updated Python parser 2022-07-10 23:24:45 +07:00
Wilfred Hughes 15f77cb1de Updated PHP parser 2022-07-10 23:22:43 +07:00
Wilfred Hughes 40a66f4cd4 Updated OCaml parser 2022-07-10 23:21:09 +07:00
Wilfred Hughes 548b7c1d17 Updated JSON parser 2022-07-10 23:08:29 +07:00
Wilfred Hughes ecff4f8036 Updated Java 2022-07-10 23:06:25 +07:00
Wilfred Hughes 9e1744bf02 Updated HCL parser 2022-07-10 23:04:12 +07:00
Wilfred Hughes 18078a0e37 Updated Haskell parser 2022-07-10 23:00:55 +07:00
Wilfred Hughes c5a5555862 Update Gleam parser 2022-07-10 22:58:50 +07:00
Wilfred Hughes dead5e8a8a Update changelog for Elm parser bump 2022-07-10 22:49:01 +07:00
Wilfred Hughes 6b3d8e24f6 Updated Dart parser too 2022-07-10 22:43:38 +07:00
Wilfred Hughes cc4501c645 Document the C# parser update 2022-07-10 22:31:04 +07:00
Wilfred Hughes 2071517621 Fix duplicate newlines in inline display mode
Fixes #314
2022-07-10 20:28:42 +07:00
Wilfred Hughes 0e7ab02741 Mention syntax highlighting fixes in last release
Introduced by d785886294
2022-07-04 20:07:49 +07:00
Wilfred Hughes c745de51b0 Roll version 2022-07-04 20:05:31 +07:00
Wilfred Hughes 36e11985ce Mention Julia in changelog 2022-07-04 20:04:27 +07:00
Wilfred Hughes 9cff13985e Update changelog for #301 2022-07-04 15:23:38 +07:00
Wilfred Hughes d96ccc884f
Merge branch 'master' into add-html-parser 2022-07-03 21:40:57 +07:00
Wilfred Hughes f10cfa00cc Limit the graph size based on the number of predecessors found
Fixes #183
Fixes #306
2022-07-03 18:23:17 +07:00
Benjamin Manns d131ae1d35 Add HTML parser 2022-07-01 12:23:20 +07:00
Wilfred Hughes 17f98a7f4d Next release will be 0.29.1 2022-06-13 16:49:55 +07:00
Wilfred Hughes e369f5b53f Mention performance improvements 2022-06-09 10:19:20 +07:00
Wilfred Hughes dd80e58640 Roll version 2022-06-09 10:12:46 +07:00
Wilfred Hughes 6970b443b0 Document MIME database configuration and paths 2022-05-19 23:19:54 +07:00
Wilfred Hughes 3eada5b9b0 Prefer outer delimiter in lisps 2022-05-11 11:54:02 +07:00
Wilfred Hughes 1a6c5b8e7f Display rename information when before and after paths are different 2022-05-08 11:52:42 +07:00
Wilfred Hughes 5103389d23 Mention Elvish in changelog 2022-05-07 11:26:35 +07:00
Wilfred Hughes 03c5d78650 Treat perl regexes as atoms too 2022-04-29 18:28:01 +07:00
Wilfred Hughes 3bb5933163 Ensure Perl comments are treated as atoms with an atom kind of comment 2022-04-29 18:23:31 +07:00
Wilfred Hughes 75a3624f7c Treat files with null bytes as binary 2022-04-29 18:08:38 +07:00
Wilfred Hughes 77fb9cd179 Roll version 2022-04-29 16:52:45 +07:00
Wilfred Hughes 12ef8f97da Allow syntax highlighting to be disabled
Fixes #265
2022-04-29 12:12:21 +07:00
Wilfred Hughes e1cbdc1478 Allow users to override the tab width
Fixes #274
2022-04-28 20:47:04 +07:00
Wilfred Hughes 72eba2d426 Added Swift support
Closes #225
2022-04-28 09:29:58 +07:00
Wilfred Hughes f5b07f265a Fix changelog heading 2022-04-27 21:51:29 +07:00
Wilfred Hughes f98f2a8aca Fix directory diffing when files were only present on one side
This particularly helps usage with mercurial when files are added or
removed.

Fixes #272
2022-04-27 21:46:46 +07:00
Wilfred Hughes 1b90fcd6aa Don't assume paths are valid UTF-8 2022-04-26 22:33:42 +07:00
Wilfred Hughes f7c09510a1 HCL: document and add more file extensions 2022-04-24 20:21:10 +07:00
Wilfred Hughes ee0f1ee7f2 Diff files in directories in parallel 2022-04-24 20:17:47 +07:00
Wilfred Hughes c8c7d3570e Improve JSON detection 2022-04-23 18:55:13 +07:00
Wilfred Hughes bfcd4cc88a Add docs and syntax highlighting for Perl 2022-04-23 10:44:52 +07:00
Wilfred Hughes 91c3102666 Update changelog for previous commit 2022-04-22 00:51:51 +07:00
Wilfred Hughes e67ca22fc6 Roll version 2022-04-18 09:36:30 +07:00
Wilfred Hughes a91a3e5db0 Handle namespaced highlighting queries 2022-04-18 09:35:09 +07:00
Wilfred Hughes 34fd5ba7eb Render tabs with 8 spaces (previously 4)
Most web UIs seem to do this (e.g. on GitHub), and C code from the
Linux kernel assumes 8 spaces in a tab when aligning things.
2022-04-17 20:13:53 +07:00
Wilfred Hughes a7e298dfa1 Merge commit '06dfec714e2424be9d19aacb739771746f5aec2b' 2022-04-17 19:10:56 +07:00
Wilfred Hughes 65b62fbefe Merge commit '8e9dba7bd7cf089838a036a98be94db53ba2d0a9' 2022-04-17 17:08:35 +07:00
Wilfred Hughes 5c9d820eb2 Merge commit '0b107de5415e7470a30ef1a390d9db3306432bdb' 2022-04-17 17:02:08 +07:00
Wilfred Hughes f03e7f063f Merge commit '78c4e9b6b2f08e1be23b541ffced47b15e2972ad' 2022-04-17 16:58:01 +07:00
Wilfred Hughes d9b9ec45a8 Merge commit 'e7cb801ef57f74db5c4ebe14df74de852bb451b5' 2022-04-17 16:57:12 +07:00
Wilfred Hughes 653d187950 Merge commit 'ed976b81b00ce7b72b99bca75e7a616cc526220c' 2022-04-17 16:50:04 +07:00
Wilfred Hughes 30cab49688 Merge commit 'c8fed1f0847a65a04a4b8cb7655f5f416e0742ca' 2022-04-17 16:41:36 +07:00
Wilfred Hughes bea5bb235a Merge commit '1dabc1c790e07115175057863808085ea60dd08a' 2022-04-17 16:39:04 +07:00
Wilfred Hughes 7bfb15c03f Merge commit '5b6ae1f88e741b9ed738891ad1362fb9f2041671' 2022-04-17 16:35:04 +07:00
Wilfred Hughes 019a137f4a Merge commit 'a832195eb3685a279856bb480ce19cff19554b6d' 2022-04-17 16:33:09 +07:00
Wilfred Hughes 3b36271959 Split large lists that are mostly unchanged
Fixes #156
2022-04-17 15:54:27 +07:00
Wilfred Hughes 6b24e28c28 Add support for TOML 2022-04-14 21:21:36 +07:00
Wilfred Hughes 1a93162740 Fix block sclars in YAML 2022-04-14 18:45:48 +07:00
Wilfred Hughes 47fe0cfc42 Add some more common keyword-ish capture names for highlighters 2022-04-14 00:40:09 +07:00