Commit Graph

15161 Commits (00f6959a29844e9c82d456ea2c32631f94013fe8)
 

Author SHA1 Message Date
Wilfred Hughes c2df185d49 Update Lua parser
Closes #701
2024-04-28 22:36:23 +07:00
Wilfred Hughes 50d90f6736 Add 'vendored_parsers/tree-sitter-lua/' from commit 'a24dab177e58c9c6832f96b9a73102a0cfbced4a'
git-subtree-dir: vendored_parsers/tree-sitter-lua
git-subtree-mainline: 9e44712cda
git-subtree-split: a24dab177e
2024-04-28 22:06:22 +07:00
Wilfred Hughes 9e44712cda Remove old lua grammar 2024-04-28 22:06:00 +07:00
Wilfred Hughes 2e016566ac Update CSS parser 2024-04-28 21:45:25 +07:00
Wilfred Hughes 688aaa83f8 Merge commit '02b4ee757654b7d54fe35352fd8e53a8a4385d42' 2024-04-28 17:32:23 +07:00
Wilfred Hughes 38f148df1f Don't flatten error nodes
As of b9d44ae65f (released in 0.38), difftastic prefers a textual
diff if any parse errors are present. As a result, users have to
opt-in to allowing parse errors. We can now preserve structure to
produce diffs that are more granular, at the slight risk of changes
being missed if parsers discard tokens.

Fixes #703
2024-04-28 17:28:34 +07:00
Wilfred Hughes 7f5c11c075 cargo fmt 2024-04-28 16:40:00 +07:00
Wilfred Hughes 8655a9464e Fix unwanted duplicate node in existing vec
Broken in previous commit. This is now only a few percentage points
performance win, but it's still a net improvement.
2024-04-28 16:35:40 +07:00
Wilfred Hughes d15d593708 Move to smallvec for seen vertices
This is a surprisingly large perf win. On my Thinkpad:

typing_before/after.ml:
before: 3.038B instructions
after:  2.870B instructions

slow_before/after.rs:
before: 2.381B instructions
after:  1.260B instructions (!)
2024-04-28 16:16:47 +07:00
Wilfred Hughes 26e1ae40ef Fix clippy lints 2024-04-28 16:09:54 +07:00
Steinar H. Gunderson 302570591f Make Stack be allocated on the arena.
This fixes another memory leak, and also removes the need for
refcounting the Stack objects and the Node objects they point to.
2024-04-28 15:46:23 +07:00
Steinar H. Gunderson 4fb1478817 Fix memory leak in neighbours array.
Vertex is allocated on the arena, so it is never dropped;
then it cannot contain a Vec allocated on the regular heap
without leaking memory. Replace the Vec with a slice allocated
on the arena, which seems to fix most of the leaks. (Some may
remain; I haven't checked fully.) It should also be slightly
more memory-efficient.

It's not clear that we actually need the RefCell instead of
just putting Option directly into the structure, but I've
let it stay.

This issue was probably introduced in a71d6118cf.
2024-04-28 15:46:23 +07:00
Wilfred Hughes 7353a7926f Try enabling ARM macos on CI 2024-04-28 15:23:45 +07:00
Wilfred Hughes cafff7f128 Pin mac build to macos-12 2024-04-28 15:16:04 +07:00
Wilfred Hughes d2cdb96e00 Expand man page and add to changelog 2024-04-28 15:07:23 +07:00
ObserverOfTime b466ffb4d7 chore: fix crlf line endings 2024-04-28 04:25:52 +07:00
Wilfred Hughes cb63ca8830 Write a basic man page 2024-04-27 16:21:17 +07:00
Nikolaj Sidorenco 8d65614998
Revert "feat: add node fields"
This reverts commit bbf8820bea.
2024-04-26 23:50:55 +07:00
Nikolaj Sidorenco bbf8820bea
feat: add node fields 2024-04-26 23:47:19 +07:00
Nikolaj Sidorenco eea72ff3ca
fix: improve if-then-else scoping 2024-04-26 23:40:19 +07:00
Nikolaj Sidorenco 5e39d09278
feat: xml docstring node 2024-04-26 17:51:53 +07:00
Nikolaj Sidorenco 558ece751f
fix: allow 'with' on new line in match 2024-04-26 17:42:59 +07:00
Nikolaj Sidorenco e1baccf75b
fix: curried member args 2024-04-25 23:35:32 +07:00
Nikolaj Sidorenco 03b3cfd077
fix: fun decl vs value decl 2024-04-25 23:32:02 +07:00
Nikolaj Sidorenco 4357486c98
fix: new object expression 2024-04-25 23:24:09 +07:00
Nikolaj Sidorenco 2ea9f08c78
fix: prefix op vs infix op 2024-04-25 23:18:51 +07:00
Nikolaj Sidorenco 7a793db220
fix: seq expression following decl expression 2024-04-25 22:41:07 +07:00
Manuel 5ade0bbe9c readme: direct link to languages section 2024-04-25 07:23:49 +07:00
Nikolaj Sidorenco 0b7fcabb78
fix: allow underindentation in call expr 2024-04-24 22:19:23 +07:00
Nikolaj Sidorenco a863770063
feat: interfaces with property members 2024-04-24 19:38:45 +07:00
Nikolaj Sidorenco c4629d89cc
fix: allow for more symbolic ops 2024-04-23 23:24:42 +07:00
Nikolaj Sidorenco 2000dae552
fix: recursive let defn 2024-04-23 23:11:46 +07:00
Nikolaj Sidorenco 7696a575ea
feat: format strings 2024-04-22 17:55:47 +07:00
Nikolaj Sidorenco 3720231a64
fix: ce expression on same line as decl 2024-04-22 17:26:40 +07:00
Nikolaj Sidorenco 93bb9b4eeb
add tests 2024-04-22 17:07:03 +07:00
Nikolaj Sidorenco ca523029ed
feat: named interface parameters 2024-04-22 17:04:11 +07:00
Nikolaj Sidorenco 68178876be
feat: generic method arguments 2024-04-21 17:50:20 +07:00
Nikolaj Sidorenco 73c25c457c
feat: additional class constructors 2024-04-21 17:32:26 +07:00
Nikolaj Sidorenco ce21e3343a
feat: slice ranges 2024-04-21 16:39:12 +07:00
Nikolaj Sidorenco 81281b6024
fix: argument pattern vs pattern 2024-04-20 15:30:00 +07:00
Nikolaj Sidorenco 006922183e
fix: allow creating underindented scope 2024-04-20 14:20:46 +07:00
Nikolaj Sidorenco bd3391c60f
fix: resolve conflict with rules vs seq expr 2024-04-20 13:56:06 +07:00
Nikolaj Sidorenco 5238929492
fix: parse more than three rules in match expression 2024-04-19 16:11:39 +07:00
Nikolaj Sidorenco ee8d1dcc6e
fix: object expressions 2024-04-18 22:27:26 +07:00
Nikolaj Sidorenco 385792d371
fix: increase precedence of escape chars 2024-04-18 19:34:55 +07:00
Nikolaj Sidorenco 9b6903a9f4
feat: attributes on value declarations 2024-04-18 19:24:01 +07:00
Nikolaj Sidorenco 4126b6c1ab
add failing test 2024-04-17 20:18:49 +07:00
Nikolaj Sidorenco 098d1b2a90
feat: interface anon type definition 2024-04-17 16:56:42 +07:00
Nikolaj Sidorenco 2bebb411e2
add test for nested records 2024-04-17 16:41:03 +07:00
Nikolaj Sidorenco 4e5fc13824
remove skip flag from tests 2024-04-16 23:40:16 +07:00