Commit Graph

10457 Commits (36e11985ce941a5d8cde077f155dabcfb91757cd)
 

Author SHA1 Message Date
Wilfred Hughes 36e11985ce Mention Julia in changelog 2022-07-04 20:04:27 +07:00
Wilfred Hughes d05a3d9373 Add Julia sample files 2022-07-04 19:57:00 +07:00
Wilfred Hughes 975ff6eedd Update regression tests now that @conditional is highlighted
This is mostly `if` keywords in various positions now being
highlighted as keywords.
2022-07-04 19:54:00 +07:00
Wilfred Hughes ddb4bc7013 Show context when regression test fails 2022-07-04 19:51:04 +07:00
Wilfred Hughes d785886294 Add syntax highlighting for Julia 2022-07-04 19:35:34 +07:00
Wilfred Hughes 5fcd778503 Clarify wording for adding syntax highlighting 2022-07-04 19:16:31 +07:00
Wilfred Hughes 7cda64e0bc Add Julia symlink for building 2022-07-04 17:57:38 +07:00
Wilfred Hughes 970fd7f9d3 Add Julia support
Fixes #284
2022-07-04 15:50:28 +07:00
Wilfred Hughes 9c19905c22 Add 'vendor/tree-sitter-julia/' from commit 'fc60b7cce87da7a1b7f8cb0f9371c3dc8b684500'
git-subtree-dir: vendor/tree-sitter-julia
git-subtree-mainline: 9cff13985e
git-subtree-split: fc60b7cce8
2022-07-04 15:25:30 +07:00
Wilfred Hughes 9cff13985e Update changelog for #301 2022-07-04 15:23:38 +07:00
Wilfred Hughes d72251f9fa cargo fmt 2022-07-04 15:11:38 +07:00
Wilfred Hughes 719654d462
Merge pull request #301 from lilydjwg/master
use unicode-width to align CJK characters
2022-07-04 15:07:25 +07:00
Wilfred Hughes 156c701459 Add large files from #293 for test
This file pair exposed a bunch of perf issues, so it's useful to keep
it around.
2022-07-03 22:18:30 +07:00
Wilfred Hughes d70cc70971 Silence C++ warning from tree-sitter-html 2022-07-03 22:11:29 +07:00
Wilfred Hughes 2d43075841 HTML: include doublequotes in attribute atoms 2022-07-03 22:11:25 +07:00
Wilfred Hughes 493a4bd62a
Merge pull request #305 from benmanns/add-html-parser
feat: Add HTML parser
2022-07-03 21:41:18 +07:00
Wilfred Hughes d96ccc884f
Merge branch 'master' into add-html-parser 2022-07-03 21:40:57 +07:00
lilydjwg 0648b0a6cf add sample_files for Chinese (CJK fullwidth characters)
One of the other three "expected" updates is caused by a fullwidth emoji
and others are removal of colored empty strings.
2022-07-04 12:01:49 +07:00
lilydjwg 5d2fdf65b9 split_string_by_width: return &str to avoid allocations
since we're returning padding numbers, we no longer allocate for new Strings any more.
2022-07-04 11:49:06 +07:00
lilydjwg 526b24d00d Merge remote-tracking branch 'upstream/master'
Conflicts:
      src/display/side_by_side.rs
2022-07-04 11:04:22 +07:00
lilydjwg 612d45196a split_string_by_width: since we pad in the middle, we need to tell split_and_apply how many bytes we've padded 2022-07-04 10:55:38 +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
Wilfred Hughes 338e815e9b More clippy fixes 2022-07-03 11:23:18 +07:00
Wilfred Hughes 51ddcef393 Make clippy happier 2022-07-03 11:20:44 +07:00
Wilfred Hughes 186a2f98f1 Take the shortest edge when constructing the path
Previously we assumed that there was a single edge between nodes. This
is true of the current implementation, but not in all experiments.

This is also a tiny performance win (0.2% instruction count reduction).
2022-07-03 11:16:33 +07:00
Benjamin Manns 99813e7ff0 Add entry to adding_a_parser.md about sliders 2022-07-01 12:23:36 +07:00
Benjamin Manns d131ae1d35 Add HTML parser 2022-07-01 12:23:20 +07:00
Benjamin Manns edce245beb Add 'vendor/tree-sitter-html/' from commit '29f53d8f4f2335e61bf6418ab8958dac3282077a'
git-subtree-dir: vendor/tree-sitter-html
git-subtree-mainline: 5c19ac600d
git-subtree-split: 29f53d8f4f
2022-07-01 12:23:11 +07:00
Wilfred Hughes 5c19ac600d Fix duplicate newlines when a whole file is novel
Broken in trunk but works fine in 0.29.1. Fixes #302
2022-06-29 21:36:52 +07:00
lilydjwg c72626808f use unicode-width to align CJK characters 2022-06-26 21:51:26 +07:00
lilydjwg f88cb8c018 fix that continuation line numbers (....) are colored when colors should not be used 2022-06-26 21:12:07 +07:00
Wilfred Hughes 79ad6b7ed2 Move split_on_newlines tests to the defining file 2022-06-19 15:30:34 +07:00
Wilfred Hughes bef61be1ab cargo fmt 2022-06-15 16:39:55 +07:00
Wilfred Hughes 6c45e74220 Move split_on_newlines to the lines module 2022-06-15 16:38:26 +07:00
Wilfred Hughes 4e6eb1de42 Document the trailing newline behaviour for split_on_newlines 2022-06-15 16:31:17 +07:00
Wilfred Hughes 3147eb8e6a Prefer splitting source by newline once
This is a small performance reduction (0.2% increase in instruction
count for the file in #293) but simplifies the code and ensures we're
splitting with the same logic everywhere.
2022-06-15 16:24:23 +07:00
Wilfred Hughes 6ade73138c Skip printed lines when computing hunk matched lines
This function is hot for textual diffs, such as the sample files in
issue #293. For those files, this produces a 21% reduction in
instruction count.
2022-06-15 01:07:25 +07:00
Wilfred Hughes 95ba06ab23 Remove pointless vec copy 2022-06-13 22:34:40 +07:00
Wilfred Hughes 1c9e05ed0c Ignore generated flamegraphs 2022-06-13 21:52:12 +07:00
Wilfred Hughes ed168635c9 Use 32-bit integers for line numbers
This saves 16% time, 18% memory and 1% instruction counts from the
sample files in #293. These are large files, treated as textual diffs,
so reducing the storage per-line is significant. Files with structural
diffing, such as sample_files/slow_before.rs, are unchanged.

Fixes #293
Closes #297
2022-06-13 21:47:19 +07:00
Wilfred Hughes 5d5eaea84e Store column numbers as a u32
It's reasonable to assume that a single column won't exceed four
billion, and this is a small speedup (1% instruction count reduction
on the sample file in #293).
2022-06-13 21:26:02 +07:00
Wilfred Hughes e48c27cfb9 Next release will be 0.30 2022-06-13 16:51:16 +07:00
Wilfred Hughes 17f98a7f4d Next release will be 0.29.1 2022-06-13 16:49:55 +07:00
Wilfred Hughes ae42762a6d Fix mimalloc perf regression in 57a4b6d6ce
It looks like we were allocating large buffers for wu-diff, and
mimalloc performance is much worse for this case in the new version.

This reverts performance back to that 0.28 for large files,
such as the example in #297.
2022-06-13 02:02:01 +07:00
Wilfred Hughes 84dfcd8b5b Only consider the first 1,000 bytes in binary file detection
This is sufficient, and we were spending a lot of time in this
function in the sample files from #297.
2022-06-12 23:45:00 +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
Sergio A. Vargas fc60b7cce8
Update operators and identifiers (#34)
- Add more operator types:
  - Bitshift
  - Rational
  - "Dotty"
- Fix unary operators:
  - Add broadcasting dots
  - Allow unary operators as variables
  - Parse <unary-op><array> as a unary_expression (not an index
    expression)
- Fix pipe typos (femtolisp uses pipes as raw symbol delimiters).
- Simplify `binary_expression` rule.
- Make assignment, binary and unary operators visible. Operators that
  have their own rules (pair, range) are not made visible.
- Use unicode categories instead of character ranges for valid
  identifiers. It allows more characters, and removes some invalid ones.
- Update tests.
2022-05-31 14:11:51 +07:00
Max Brunsfeld 03b5a92cb0 Use node 16 on CI 2022-05-31 14:07:03 +07:00
Max Brunsfeld d078a2ef7b Add GH actions status badge to README 2022-05-31 14:02:19 +07:00