Commit graph

3050 commits

Author SHA1 Message Date
Max Brunsfeld
a27ac49dea Flesh out README 2018-05-18 11:42:13 -07:00
Max Brunsfeld
870dc11f79 Implement Eq and Debug for Node 2018-05-18 11:15:37 -07:00
Max Brunsfeld
e10a817704 Switch back to default c compiler on travis 2018-05-18 10:55:42 -07:00
Max Brunsfeld
4603542747 Add more public methods and tests 2018-05-18 10:55:20 -07:00
Max Brunsfeld
993bfea669 Add missing source file 2018-05-18 10:39:00 -07:00
Max Brunsfeld
654789f925 Use UTF8PROC_STATIC macro 2018-05-18 10:27:36 -07:00
Max Brunsfeld
9c1e82a7ea ⬆️ utf8proc, use new UTF8PROC_STATIC macro 2018-05-18 10:25:55 -07:00
Max Brunsfeld
7748f8e168 Fetch submodules on appveyor 2018-05-18 10:16:28 -07:00
Max Brunsfeld
8d485857e1 Tweak build script for windows 2018-05-18 10:11:29 -07:00
Max Brunsfeld
29c0cd3aa4 Add appveyor config 2018-05-18 09:58:34 -07:00
Max Brunsfeld
e61edf5398 Don't perform platform-specific name mangling on C functions for bindings 2018-05-18 09:30:00 -07:00
Max Brunsfeld
29dfa05504 Try clang 2018-05-17 21:13:59 -07:00
Max Brunsfeld
13e26b5007 Try a static flag 2018-05-17 18:08:44 -07:00
Max Brunsfeld
b1ff399960 ⬆️ tree-sitter for warning fixes 2018-05-17 18:02:01 -07:00
Max Brunsfeld
3c01382b95 Avoid warnings about repeated typedefs 2018-05-17 17:59:50 -07:00
Max Brunsfeld
572a60183c Suppress warnings associated w/ generated bindings 2018-05-17 17:41:44 -07:00
Max Brunsfeld
7e6675d56e Use a more unique library name when building C sources 2018-05-17 17:41:44 -07:00
Max Brunsfeld
08217fff8d Get basic parsing working, add some unit tests 2018-05-17 17:16:35 -07:00
Max Brunsfeld
ead0e31262 Fix duplicated compile of parser.c 2018-05-17 14:46:29 -07:00
Max Brunsfeld
f07f710db7 Compile tree-sitter sources in c99 mode 2018-05-17 14:46:29 -07:00
Max Brunsfeld
8918d1a5b1 Add boilerplate 2018-05-17 14:46:29 -07:00
Max Brunsfeld
6e4115548c Initial commit 2018-05-17 14:30:03 -07:00
Max Brunsfeld
5ec3769cb4 Make ts_tree_cursor_current_node take the cursor as const 2018-05-17 14:24:32 -07:00
Max Brunsfeld
074c051094 Change the TSInputEdit struct to work with old/new start and end positions 2018-05-17 11:14:51 -07:00
Max Brunsfeld
95be6e3bee Make it clear which field of TSNode can be used as a unique id 2018-05-16 16:20:33 -07:00
Max Brunsfeld
e3670be42f Avoid one heap allocation when instantiating a TSTreeCursor 2018-05-16 16:05:08 -07:00
Max Brunsfeld
6fc8d9871c Hide the details of TSNode's fields in the public API 2018-05-16 15:44:04 -07:00
Max Brunsfeld
ebddb1a0b5 Add ts_tree_cursor_goto_first_child_for_byte method
Atom needs this for efficiently seeking to the leaf node at a given position,
visiting all of its ancestors along the way.
2018-05-16 13:51:21 -07:00
Max Brunsfeld
89b3a6a059
Merge pull request #165 from tree-sitter/no-parent-pointers
Remove all use of mutable state in syntax trees
2018-05-11 17:33:36 -07:00
Max Brunsfeld
b2c5741ded Link tests against libpthread on linux 2018-05-11 17:19:16 -07:00
Max Brunsfeld
32c06b9b59 Make multi-threaded test work on windows
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-11 17:10:05 -07:00
Max Brunsfeld
043a2fc0d9 Assert absence of memory leaks in randomized multi-threaded tree test 2018-05-11 16:53:47 -07:00
Max Brunsfeld
a3e08e7c31 Add randomized multi-threaded tests on parse trees
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-11 16:10:36 -07:00
Max Brunsfeld
fe53506175 Declare subtrees as const wherever possible
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-11 15:06:13 -07:00
Max Brunsfeld
6bb63f549f Fix unused lambda captures 2018-05-11 14:59:59 -07:00
Max Brunsfeld
20c183b7cd Rename ts_subtree_make_* -> ts_subtree_new_* 2018-05-11 13:02:12 -07:00
Max Brunsfeld
bf1bb1604f Rename TSExternalTokenState -> ExternalScannerState 2018-05-11 12:57:41 -07:00
Max Brunsfeld
f0c7295d27 Update fuzz driver to use new API 2018-05-11 12:48:51 -07:00
Max Brunsfeld
cd55d5275d Update the readme to reflect the new API 2018-05-11 12:48:51 -07:00
Max Brunsfeld
199a94cc26 Allow the parser to print dot graphs to any file 2018-05-11 12:48:51 -07:00
Max Brunsfeld
e75ecd1bb1 Rework API completely 2018-05-11 10:46:13 -07:00
Max Brunsfeld
33f7643040 Rename Parser -> TSParser
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-10 15:16:24 -07:00
Max Brunsfeld
35510a612d Rename Tree -> Subtree 2018-05-10 15:11:14 -07:00
Max Brunsfeld
61327b627a Add a unit test asserting that ts_tree_edit doesn't mutate the tree
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-10 12:28:16 -07:00
Max Brunsfeld
09e663c7d1 Make ts_tree_edit return a new tree rather than mutating its argument
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-10 12:23:05 -07:00
Max Brunsfeld
df79ff5997 Refactor ts_tree_edit
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-10 12:04:18 -07:00
Max Brunsfeld
eff7283325 Add assertion to satisfy clang static analyzer
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-10 09:48:50 -07:00
Max Brunsfeld
59694e60fa Rename ts_tree_assign_parents -> ts_tree_balance 2018-05-10 09:13:46 -07:00
Max Brunsfeld
a53d0b43a1 Remove unnecessary include 2018-05-09 22:55:54 -07:00
Max Brunsfeld
78d158899e Use atomic operations for updating syntax tree reference counts
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-09 17:36:03 -07:00