-
Notifications
You must be signed in to change notification settings - Fork 20
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
support for more languages #29
Labels
good first issue
Good for newcomers
Comments
little note: if you take on adding a new language, please don't mark it as fixing this PR! This is gonna be pretty evergreen as new people want to use tree-grepper in different ways, and so the issue is to signal again that I'm open to adding new languages as wanted! |
BrianHicks
added a commit
that referenced
this issue
Dec 22, 2021
ddf4b779 :robot: 704757a5 add a mode to print language names a6af59f1 update to clap 3.0.0-rc.7 2d730c55 :art: e2a4f797 update dependencies a84ebd63 Merge pull request #54 from jesse-c/add-elixir 13550bee sort language names alphabetically c9e2bf61 sort language names alphabetically bae95a11 generate snapshot for Elixir ed29063c use "elixir" for the matcher name a7ad0dae update to the latest nixpkgs 073bb613 use flake if possible 04a40bbc Add Elixir b69f4879 Merge commit 'b24d8fbd96b9f8966cb725eda06f8b8aadf2c3a0' as 'vendor/tree-sitter-elixir' b24d8fbd Squashed 'vendor/tree-sitter-elixir/' content from commit 1b3ecf7 4aa939d3 Merge pull request #53 from BrianHicks/dependabot/cargo/serde-1.0.132 e7bce9d9 Bump serde from 1.0.131 to 1.0.132 b44c6f7c Merge pull request #52 from BrianHicks/dependabot/cargo/serde_json-1.0.73 ea2f0b03 Bump serde_json from 1.0.72 to 1.0.73 2eb49d27 Merge pull request #51 from BrianHicks/dependabot/cargo/serde-1.0.131 5d888045 Bump serde from 1.0.130 to 1.0.131 434fe3c4 log C++ support f623ea7d Merge pull request #50 from BrianHicks/release-2.1.0 ff7a2415 Merge pull request #49 from BrianHicks/warn-less bec8a20f add changelog b0a7f3cb bump to 2.1.0 331be63a Merge pull request #48 from BrianHicks/update-deps b7222c1b turn off warnings in all external code b9283545 update snapshot test for Ruby f3955190 update vendored tree-sitter-typescript a4e4a011 Squashed 'vendor/tree-sitter-typescript/' changes from d598c967..111b0776 a3fb50a7 update vendored tree-sitter-rust c7e8db3d Squashed 'vendor/tree-sitter-rust/' changes from a360da0a..e06d078a faae5f53 update vendored tree-sitter-ruby 4086f63a Squashed 'vendor/tree-sitter-ruby/' changes from 391269d7..888e2e56 04ed6b3a update vendored tree-sitter-javascript 4fa020ca Squashed 'vendor/tree-sitter-javascript/' changes from 6ec8014d..fdeb68ac e1079ebc update vendored tree-sitter-haskell 2425a253 Squashed 'vendor/tree-sitter-haskell/' changes from 30eea3c1..d72f2e42 cfb97800 update vendored tree-sitter-elm 8da8e598 Squashed 'vendor/tree-sitter-elm/' changes from d32d4436..7ef899bf 8cb70b93 make this less repetitious f09440a3 add better messages when updating subtrees 5f93f1f6 update Nix sources 85a1bbf7 Merge pull request #47 from BrianHicks/json-lines 3dfe5b87 Merge pull request #39 from BrianHicks/dependabot/cargo/tree-sitter-0.20.1 e9701551 :art: 168c4b1d update snapshot tests with new version of tree-sitter ac65e2a2 add a test for json lines output 5ed4cf04 add a json-lines format 5f3c2128 silence warnings we can't do anything about 32e8c798 Bump tree-sitter from 0.20.0 to 0.20.1 e163378f Merge pull request #32 from BrianHicks/dependabot/cargo/cc-1.0.72 7bcaab93 Bump cc from 1.0.71 to 1.0.72 f260502a Merge pull request #41 from BrianHicks/dependabot/cargo/serde_json-1.0.72 3a54ff92 Bump serde_json from 1.0.68 to 1.0.72 2c2973dd Merge pull request #46 from ymarco/main 175c6ce0 revise instructions for adding languages dac33d60 Merge pull request #38 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-16 053cd524 Merge pull request #43 from BrianHicks/dependabot/cargo/anyhow-1.0.51 25d69b69 Merge pull request #44 from BrianHicks/dependabot/cargo/itertools-0.10.3 f4dfbccf Merge pull request #45 from ymarco/main 95ec6bfd Add cpp support d91b16fc Merge commit 'b337e3879c8a5bccfed0e73deeb8cb8d0e2955bc' as 'vendor/tree-sitter-cpp' b337e387 Squashed 'vendor/tree-sitter-cpp/' content from commit e8dcc9d 36b38729 Bump itertools from 0.10.1 to 0.10.3 276838b1 Bump anyhow from 1.0.44 to 1.0.51 c109b99f Bump cachix/install-nix-action from 15 to 16 a6353bd7 add cachix instructions 8a2cf06a Merge pull request #33 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-15 9b99283c Bump cachix/install-nix-action from 14 to 15 93b331a2 fix errors 4d06d6c8 update nixpkgs 4a14fd58 Merge pull request #25 from BrianHicks/link-post 1ff98888 link the intro blog post ff03ad78 Merge pull request #24 from BrianHicks/dependabot/cargo/cc-1.0.71 9361ceee Bump cc from 1.0.70 to 1.0.71 42c82446 bump to 2.0.6 66e00e18 Merge pull request #21 from BrianHicks/walk-fs-parallel 733d7719 make the names better cf470e20 walk the filesystem in parallel aee3d2f5 extract a case on language to language cf198588 Merge pull request #20 from BrianHicks/dependabot/cargo/serde_json-1.0.68 69011a86 Bump serde_json from 1.0.67 to 1.0.68 f20261bd Merge pull request #19 from BrianHicks/dependabot/cargo/insta-1.8.0 084bab2c Merge pull request #18 from BrianHicks/dependabot/cargo/anyhow-1.0.44 c8941245 Bump insta from 1.7.2 to 1.8.0 e7ce985d Bump anyhow from 1.0.43 to 1.0.44 19ffc654 Merge pull request #17 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-14 ed29eb51 Bump cachix/install-nix-action from 13 to 14 2ee278a1 whoops, update the lock file too ea1165ba bump to 2.0.5 da151619 Merge pull request #16 from BrianHicks/update-flakes 773f624d Merge pull request #15 from BrianHicks/dependabot/cargo/tree-sitter-0.20.0 65bb361c update flake versions 692f1b20 fix compilation error for tree-sitter 0.20.0 5221469d Bump tree-sitter from 0.19.5 to 0.20.0 7b473ea2 Merge pull request #14 from BrianHicks/piping-into-things c70bca97 bump to 2.0.4 38edcf68 pull in this thing cargo snuck in? 92bf2228 don't exit error for a broken pipe 32f79b91 Merge pull request #12 from BrianHicks/dependabot/cargo/serde-1.0.130 a1f881bc Merge pull request #13 from BrianHicks/dependabot/cargo/cc-1.0.70 cf3aaa2a Bump serde from 1.0.129 to 1.0.130 e9b9a909 Merge pull request #10 from BrianHicks/dependabot/cargo/serde_json-1.0.67 f551813a Bump cc from 1.0.69 to 1.0.70 12203fad Bump serde_json from 1.0.66 to 1.0.67 0a74dbbb Merge pull request #9 from BrianHicks/dependabot 14e3fafc set up dependabot for Cargo updates 7e8b9f5b bump to 2.0.3 476013ef Merge pull request #8 from BrianHicks/fix-off-by-one 5b05e113 fix off-by-one in outputs 25e4e716 add an overlay for tree-grepper 5ee1612b Merge pull request #7 from BrianHicks/macos-builds 64fcd917 remove separate clippy check 879c5d50 darwin inputs are needed in the shell too 00ea0855 fix formatting in build.rs e72d1ada nixfmt on the flake 11ff38ff I don't think we need these auth tokens for the no-push steps e18350af add separate clippy and rustfmt checks 54525477 document why these build values 0642bb6d be specific about which macOS builds I want 6698ce93 add macos builds 4b4449f6 Merge pull request #6 from BrianHicks/flake c7eec637 remove the niv sources 265b612f add --no-gitignore to TS tests aecd7122 only look in examples for Rust cfdd6551 add --no-gitignore to Ruby tests 1de05bf7 add --no-gitignore to JS tests fc2653e6 add --no-gitignore to Haskell tests 3a084b77 look in examples for elm tests e02b1260 try using nixpkgs-unstable cf1f9ed8 upgrade deps 7687f57a move the dev dependencies into the flake 8cc29918 use flake-compat for default.nix and shell.nix 4cb6ddb7 move default.nix to flake 6768fc30 initialize a flake from the naersk template df7ee96f bump to 2.0.2 af9a9ee5 Merge pull request #5 from BrianHicks/anonymous-matches-in-clauses ec8625f2 remove unnecessary format! call 38443b16 fix up the README to talk about ignored matches f712869a clarify the cases we care about for names 7f94e9b5 make underscore-ignored matches still work in conditions 4a25a366 separate parsing and make filename optional d020ab59 Merge pull request #4 from BrianHicks/2.0.1 bf186bcd update a couple deps 90a98333 bump to 2.0.1 19128c54 Merge pull request #3 from BrianHicks/filetype 0ef2cc1f update snapshots ed96a40f add file type to JSON output 8fbe8dd5 clap errors include a newline 8ca4f8e7 document squashing 0f735d87 Merge pull request #2 from BrianHicks/buffering b61233aa buffer output (seems to be something like a 20% speedup?!) 89d18733 Merge pull request #1 from BrianHicks/ci 0998b10c move clippy into the default build 166dbaee use sorting in the tests ed122bb2 add the option to sort the output 6e8096b9 use our pkgs instead of gitignore's pinned pkgs 4d1cb041 update sources 56929f8e add GitHub actions CI 77fb7196 turn on checks as part of the build f42dc059 upgrade deps a01aa580 Squashed 'vendor/tree-sitter-typescript/' content from commit d598c967 f13b0ec2 Merge commit 'a01aa58053f8f6ff5bc321566009908f85c93e6d' as 'vendor/tree-sitter-typescript' 5908d609 Squashed 'vendor/tree-sitter-rust/' content from commit a360da0a ccbb0e69 Merge commit '5908d6099fbf4b58b84cc8c93226cd66224c581d' as 'vendor/tree-sitter-rust' 8ec19ffa Squashed 'vendor/tree-sitter-ruby/' content from commit 391269d7 963564ec Merge commit '8ec19ffa34b7db4b1e56a4164e6a7b1cdebbf1b9' as 'vendor/tree-sitter-ruby' 7e526483 Squashed 'vendor/tree-sitter-javascript/' content from commit 6ec8014d 401f03e9 Merge commit '7e526483722b97493b104d301d0e948a31c5a716' as 'vendor/tree-sitter-javascript' 94888ba5 Squashed 'vendor/tree-sitter-haskell/' content from commit 30eea3c1 b7f8bacf Merge commit '94888ba58c8f3b50492033c1ce51a07ca12cd485' as 'vendor/tree-sitter-haskell' d093a07f Squashed 'vendor/tree-sitter-elm/' content from commit d32d4436 18c232b2 Merge commit 'd093a07f5b3c006f0fe702759485b1fb3397078f' as 'vendor/tree-sitter-elm' 644aefea use --squash in all the updates da18ae59 add cargo-edit 689cef25 remove the tree-grepper cargo wrapper c6a20300 document the update command bc6f5d5e redo update script to use subtrees dbae9dc5 update snapshots with new acceptable diffs 0f6fdd56 no more submodules! 6292ca4f revise instructions for adding new languages 3fdf0c16 remove submodules ea9ca37e test TypeScript 66264955 correct language name for typescript 067241f5 string names should be upper-case 2ed9a0a2 test all Rust nodes c643089c test all Ruby nodes bbf5a352 test javascript output deb81fab fix clippy warnings c74ef4d5 fix using the wrong language name in matcher 8597f478 match all Haskell nodes 702c4ec3 match all Elm nodes 48ed3076 add a test for pretty JSON f1d0b9cb test (un-pretty) JSON output 94b99aa4 add our first snapshot test! 1c0bb54b make args a parameter as well (and handle failures nicely) 459f45fa make try_main take a sink 172ff2c7 add a JSON pretty-printer to output 507a584f add insta for testing 43905464 update README 9e1bb159 re-add the rest of the lanaguages 2f23ff4e use upper-case meta var, per convention 4b35d73e list languages 34f41d1a replace this TODO with an explanation 36691923 nah, this is fine 6e3f8090 remove the 1.0.0 branch f4b26cda borrow instead of cloning the name 90530133 this just won't be called if there are no matchers 20125bed get rid of the other thing we used language for d0d20f56 only call language.language() once 2b55e972 add a match name if none is provided fdd4707e proactively disable underscored captures 063e1ed8 precalculate which items to keep or drop 641a6717 remove names that start with _ 62c049dc use a global allocator 894750af clean up imports 0469f7d1 get rid of the custom wrapper 2e1ef80a rearrange fields to match definition 7e63b5a8 write JSON output 931b4694 add format argument to the opts 68f0913e don't put extra blank lines between match lines 3199981b actually format things! 1e181f44 refine error message for parse failures 408870a2 only print files with matches 05e8adc1 capture captures 10b85bea extract more information to the match e8508063 extract to a sub-struct 566e6ef6 initialize the parser per-batch fe00e50f extract matches! 🎉 82a2586a 🎨 26040d45 add a note for later 9a83408a capture stuff in the query dd051a73 parse a tree f2414a17 read source to string 418fce04 only use one implementation 107d4f2a 🎨 edc26eb7 implement SingleChoice d4ee16bf be more precise in this error message 1a6f2e30 finish doing our matching fbaf17e1 return a borrow ad0b402d clean up clippy warnings e896f1e8 wire up the matchers fe995613 print some stuff af29e39d start pulling out an extractor fb1ef123 finish out the sketch of matching c5e1c50b separate the code into stages 4933e9d9 do filetype match filtering myself cbb2a8ba figure out which matcher we want 64de569a stop reading for now 119c120c combine queries 33219dd1 make parsing queries a lot more readable 560af235 keep the entry around 86544786 read sources 0f63e508 print entry paths for debug's sake e8307a08 match filetypes f94185b1 add an option to avoid doing gitignore 2581302b a little more info for PATHS 71b6897c create a filesystem walker from the opts f1f51e2c add paths to the opts bd07a7a6 make error message a little nicer 3fce4d4b move queries to a separate method fe4c05a2 move parsing to a new module 08789bb6 friendly up the error messages a little more 765b20d9 add a few nice tests 7fb99cbe parse queries d481d2d2 oh boy this sure is some parsing work huh b189ce6f add Rust to Language bf592a76 use ignore to walk directories b03d21a7 unwrap the path results 66d64048 parse a language from the command line b4242659 make error nicer 4a3f67b4 add a basic Language implementation 1f53c7cc introduce parallelism 5ecf145f walk the filesystem bd52fdae add an extremely basic CLI interface 3fd5f547 move the 1.0.0 source into a separate directory 62cfa89a call it 1.0.0 facc9c36 add Typescript support 197bda1a update roadmap 0a0dee82 add hippocratic license 29b957d8 update cargo deps 129caa48 update sources 56745c74 update parsers 181d75a4 update cargo deps 565976fe move back to main.rs now that there's only one binary 33e7fce7 remove tree-grepper-dump c61d12eb print node kinds in the JSON output cdf01e3f downgrade to avoid a broken version 84d8862d update cargo deps 52bb9216 update submodules f37fe4de turn off warning logspam when building vendored tree-sitter parsers 988957e1 update submodules f686f3e7 add a script to udpate submodules 1f007817 add rust 7d5eb9a7 add Haskell support to tree-grepper 17e8dac9 add libiconv dependency 3765aae3 update package versions f55e55eb use submodules instead of subtrees 6b6722a6 remove subtrees 7b1bd2a7 fix file matcher 055330b2 add JavaScript support e6c6e3fc use a char instead of a string? thanks, clippy? 9a93afbf Merge commit 'd5621bb8035de6d9d21bcbff84efc2a2df3a474a' into main d5621bb8 Squashed 'vendor/tree-sitter-ruby/' changes from 5021a6a6..1fa06a9e 03bb233c Merge commit 'ea3bf266d0776dc2e3fe757a202bdbf45221b97a' into main ea3bf266 Squashed 'vendor/tree-sitter-elm/' changes from 06a8ff7c..117dcf4c dae91b20 update languages in the subtrees 8814dc45 Merge commit '16a05dabe26c20c98c83474365ac0aedc18b06a4' as 'vendor/tree-sitter-javascript' 16a05dab Squashed 'vendor/tree-sitter-javascript/' content from commit 1eee0d3f 01d0d46a don't output names that begin with underscores 37729b9b group captures in JSON output 6b7124bf remove dead Point code 6904801f update cargo deps 500ac238 update sources b20fc892 pass the language so I can actually query Ruby stuff 2480b090 add wrapper scripts to make running exploration commands easier 1d423444 enable predicate matching by returning text correctly a30fa194 make tree-grepper-dump work with multiple languages too 020a3399 talk about forwards-compatibility in the docstring 9c351d28 parse ruby files cbde19c3 Squashed 'vendor/tree-sitter-elm/' changes from 4da453fe..06a8ff7c 74089398 Merge commit 'cbde19c3d59ddfb7622d252f55306997d250c335' into main ee77aa3c compile tree-sitter-ruby 9d1c9bba Squashed 'vendor/tree-sitter-ruby/' content from commit 5021a6a6 d32a27f0 Merge commit '9d1c9bbaa226627f94f3a527d3eb671aad8732c0' as 'vendor/tree-sitter-ruby' b7c1d570 add a --language flag 4922e69b take care of clippy warnings a969df5a add more TODOs 7f1edd11 move name after row and column 7aa9c54c update crates 2f06a87c update sources 8c8dadc2 fix another off-by-one b3476981 fix off-by-one error ef592f10 add the minimum possible s-expression dumper 7a010a3f move to the bin directory to start separating stuff for multiple binaries 97f3c338 update cargo dependencies addbca55 update sources 62ab05b4 update TODOs 36850479 add match names to output 5c5900a2 add real JSON output a4ca8e8a add a formatter for doing nice formatting things 66c28852 rename VisitorBuilder to Gatherer d1a539ee use channels to extract our data back out again 840b517f move the walking behavior to a visitor pattern 58c26334 accept different kinds of formats 90af002a handle the paths a little more gracefully 0b907e66 only initialize query once f30ff20c fix stuff from clippy aa7edd0d make writing queries a little nicer f19f9d5a put JSON output higher 5c5e8788 add the rest of the filter flags I wanted ce15ef80 add ignore files b927160f add max_filesize a9bdaaff call builder methods in the same order config fields are defined 2effce68 tiny grammar fix a949f664 add some quick benchmarks 1d5c2c78 update binary name in README 4883dd0c print what the output actually is f87f3626 mark the first step as done b69d9d21 match on queries 67e4eb0c parse each file to a tree-sitter tree 3f608d43 don't use a library for handling errors... just exit 7ae2521b print out the files we're walking decf63eb add TODO for later d2e81a39 only match Elm files bb21f4de grab the parser and query 04e300f1 walk the directories recursively and in parallel ee7246ab minor refactor while I'm thinking of it 92c14f5a walk using ripgrep's walker instead dc279d88 walk the provided directories 0b98224f add roadmap stuff about non-Elm languages, as if those exist psh 82301841 update cc to 1.0.62 to get the better error message 1738512f parse command-line opts 18da50af load the tree sitter grammar 2c4090ce set up error handling harness 3cd59bb6 meta changey thing. Maybe not fine, but seems to work? 43076450 add xcbuild to get around cc errors 1dae29b1 add tree-sitter dependencies f83049cf add script to update subtrees properly a31185d7 Squashed 'vendor/tree-sitter-elm/' content from commit 4da453f 634ef430 Merge commit 'a31185d78586a84ea284673b023597a1c071f768' as 'vendor/tree-sitter-elm' eaebe868 add README 36bb1a5a make nix-build do what I want 4afd5132 cargo init 345a0414 nixify REVERT: 888e2e56 Merge pull request #198 from aibaars/parenthesized_pattern REVERT: a7db378f Add parenthesized_pattern REVERT: 951799c6 Merge pull request #197 from aibaars/fix-case-match REVERT: d529b562 Rename pattern_range to range REVERT: 10e643c7 Inline pattern_variable REVERT: 6cd23f39 Rename pattern_pair to keyword_pattern REVERT: 5d469d5c Add hash_splat_nil to _simple_formal_parameter REVERT: 23dbe5a2 Rename {array/hash}_pattern_rest rules REVERT: b8ef9489 Simplify nodetypes for _pattern_constant REVERT: 12f10a52 Improve case_match rule REVERT: f1ff0277 Merge pull request #193 from aibaars/pattern-matching REVERT: 73750085 Update highlights.scm REVERT: 2ca12333 Update generated code REVERT: 76cbd1bb Add _expression and _simple_numeric to supertypes list REVERT: 2a98a53b Add supertypes for pattern rules REVERT: d3955c7a split case / case_match REVERT: df3a7ca9 Add test cases REVERT: f7528122 Make grammar rules more tree-sitter-like REVERT: 00d4cdc0 Add pattern matching REVERT: 1fedb2a1 wasm32-wasi SDK doesn't support exceptions. This commit disables exceptions when compile for wasm32-wasi. (#192) REVERT: bb6a42e4 Merge pull request #191 from aibaars/forwarded-args REVERT: 95af674f Merge remote-tracking branch 'origin/master' into forwarded-args REVERT: d1171a50 Merge pull request #190 from aibaars/end-less-methods REVERT: 192ed481 Add forward_argument to test cases REVERT: 0efc23b7 Add forward parameter/argument REVERT: 85ce8b42 Add tests REVERT: cdc7405e Add end-less method definitions REVERT: 6c5b0f3a Formatting changes REVERT: 0c1e4708 Fix CRLF behavior mismatch during error recovery (#189) REVERT: fcb18966 Fixed CRLF behavior for tests (#188) REVERT: 391269d7 Fix hard break in PR template REVERT: 963b7b8b Merge pull request #169 from tree-sitter/pr-template REVERT: d9c53f29 Add the same PR template as for tree-sitter-javascript REVERT: dfff673b Ignore target directory in npm tarballs REVERT: a58928e2 Merge pull request #166 from tree-sitter/switch-to-gh-actions-ci REVERT: 6589d79c Don't build on Windows for now. REVERT: 0a10ae93 Switch to GitHub Actions CI. REVERT: fd087c78 Update Cargo.toml REVERT: fe6a2d63 0.19.0 REVERT: 22801a4c Bump tree-sitter-cli to 0.19 REVERT: 32cd5a04 Allow multiple statements in interpolation (#163) REVERT: 2503f005 Add field names to range (#161) REVERT: 1fa06a9e Prefer element reference over method invocation (#156) REVERT: ebf6b3dd Allow expression to continue after a line-comment (#157) REVERT: add8cb36 Make superclass a field (#159) REVERT: 8fd340fe Support :!~ symbols, add symbol test cases (#153) REVERT: 6ee7d386 Add support for hex character literals (#154) REVERT: 454f9062 Separate symbol aliases into distinct types (#152) REVERT: 8a059c83 Fix error parsing hash splat arg followed by another arg (#151) REVERT: 5021a6a6 for-loop pattern improvements (#150) REVERT: bb572f60 Fix hexadecimal with a capital X (#149) REVERT: 53a05110 Allow interpolation to be empty (#131) REVERT: 49c5f6e9 Unify call and method_call (#142) REVERT: 694f81cb Fix handling of multi-line interpolations within heredocs REVERT: d384ced7 Add operator field name to operator_assignment (#141) REVERT: 4ba96497 Merge pull request #139 from tree-sitter/rational-fix REVERT: f54547e3 Check in parser REVERT: 5ebabb6c Add rational number test cases REVERT: 66f336d8 Support rational floats REVERT: 602b8e2a Fix range of characters supported in keyword argument (#137) REVERT: b92e1f80 Correct field for when.pattern (#135) REVERT: e8d04ec8 Merge pull request #133 from nickrolfe/setter_identifier REVERT: 91e598b7 Merge remote-tracking branch 'origin/master' into setter_identifier REVERT: 1df91616 Add field names for block and do_block parameters (#134) REVERT: 76c4bf24 Allow case without linebreak (#132) REVERT: b8e0da91 Give setter identifier a field name REVERT: 93632008 Add fields for unary operators (#130) REVERT: df5e5024 Avoid aliases for string_content and heredoc_content REVERT: bb71c4e4 Remove 'condition' field from 'else' (#129) REVERT: 11ac2b36 Merge pull request #127 from aibaars/string-heredoc REVERT: 0f2fe0b6 Update test data REVERT: 75fb614e Make string content and heredoc content visible REVERT: c7e8fb07 Merge pull request #128 from aibaars/npm-update REVERT: e3b4dbcc NPM: upgrade prebuild REVERT: f86d90cc 0.17.0 REVERT: 7608c140 :arrow_up: tree-sitter-cli REVERT: aa943932 Merge pull request #126 from tree-sitter/rust-package REVERT: 29d90b9a Change QUERIES → QUERY REVERT: 3ae53171 Include query files in Rust bindings REVERT: 3407470e Remove parser function from Rust README REVERT: 78ba9f8e Remove indoc from Rust binding README REVERT: 206262ec Update example code in Rust binding README REVERT: b807bf44 Add Rust package REVERT: 724eedf2 Add anchors after doc comments in tag query REVERT: 14a5e56a Fix several parse errors from github codebase REVERT: 6ad22db6 Track lambda scopes and operator assignments in locals query REVERT: fd7d90c9 tags: Avoid emitting duplicate symbols for setter methods REVERT: 1fbd0725 tags: Don't emit symbols from common Kernel methods REVERT: 97601b52 Fix parameter tracking in locals query REVERT: 7ffad043 tags: Emit symbols for constant references and alias definitions REVERT: 80d73e15 Identify modules and singleton classes when tagging (#118) REVERT: 4a3b0af7 :arrow_up: tree-sitter-cli REVERT: 4bfb6910 Update queries to use new syntax REVERT: a399ace2 Use newer syntax for wildcards in tags query REVERT: 670504d4 :arrow_up: tree-sitter-cli REVERT: be9bf5ed Use new alternative syntax in tags query REVERT: 62f81767 Add tags query REVERT: a6fcb529 0.16.2 REVERT: 1ce58f2f Update queries to use new syntax REVERT: 5d1699a3 :arrow_up: tree-sitter-cli REVERT: 9cd3d802 Don't allow control characters in any kind of name REVERT: 5c4aaff4 Don't allow any control characters in identifiers REVERT: 497624a5 Fix highlighting of __FILE__ et al REVERT: 5dcd37b2 Fix some syntax highlighting issues with constants (#115) REVERT: dfa2b4a6 Allow chaining calls onto unparenthesized method calls with blocks REVERT: eb2b6225 :arrow_up: tree-sitter REVERT: 2d67a739 Improve fields on loop nodes REVERT: c5291ad9 Fix fields in if and operator_assignment REVERT: 89ad686e Regenerate with latest tree-sitter REVERT: 2ae54f64 Parse TRUE/true, NIL, nil, etc as single tokens REVERT: 19d56f57 Alias command_call to method_call everywhere REVERT: 6540da2a 0.16.1 REVERT: 628971f3 Model heredoc bodies using non-terminal extras (#111) REVERT: 852d3ebb 0.16.0 REVERT: cf088751 Test path in npmignore REVERT: 77663670 Simplify parse-examples script REVERT: d64c714e Add syntax highlighting tests, tweak highlight query REVERT: 9d740135 :arrow_up: tree-sitter-cli REVERT: c17077eb Ensure unary '*' and '&' appear in the tree REVERT: e37299cc 0.15.3 REVERT: 1b60f72c :arrow_up: tree-sitter-cli REVERT: 4579e0b2 Add query for local-variable tracking REVERT: aa6b8b15 Restructure parameter parsing, add missing fields REVERT: 6a001411 Add highlight query (#110) REVERT: 7223253a Add fields for alias REVERT: 6173deaf Add node fields REVERT: 0049193b :knife: Shrink the parser by separating out unparenthesized method calls REVERT: 575d74b2 Allow rescue/else/ensure in do blocks REVERT: db91c934 0.15.2 REVERT: ae90d658 Merge pull request #109 from tree-sitter/ns/prebuild-for-electron-3 REVERT: 4af18d7d Add Electron 3 back to list of prebuild targets REVERT: 6879dd61 :arrow_up: tree-sitter REVERT: 04ffb9e6 0.15.1 REVERT: 5252a6b5 package.json: expand to include electron 4.0.4 (#108) REVERT: f98f435b 0.15.0 REVERT: 0b712a24 Update tree-sitter-cli to 0.15.3 REVERT: d36c3f2a 0.13.14 REVERT: 3d09cad8 scanner - fix error when string_end is valid but string_content isnt REVERT: ae2db0c8 Use node 10 on appveyor REVERT: cb92cd2c Use new API to track locals for syntax highlighting REVERT: 624487a2 Merge pull request #106 from rebornix/patch-1 REVERT: cca21021 drop node 9 and electron 1.6 1.7 REVERT: 94fd582b keep 1.6 and 1.7 REVERT: e674a317 only electron and node REVERT: 8d5f3e0e Build for all supported ABI versions REVERT: 50eab321 Merge pull request #96 from tree-sitter/highlight-properties REVERT: b4299bbd Get property sheets working with latest tree-sitter REVERT: e558a1cc Mark class as definitions too REVERT: 5136cd37 Specify function/method definitions REVERT: a984039e Tweak highlighting properties for operators and punctuation REVERT: 57da9bc9 Add injections property sheet REVERT: 19c93445 Add highlighting 'and' and 'or' as keywords REVERT: 82c0e2a7 Add highlighting for alias, private/public REVERT: d7cb284f Update property sheet to use new highlight schema REVERT: a067828d Add property sheet for syntax highlighting REVERT: c09af950 0.13.13 REVERT: 172835a1 Set CXX=clang++ explicitly on travis REVERT: 783bd5e6 :arrow_up: tree-sitter-cli REVERT: 24d38063 Prebuild against electron v3 and v4 (#102) REVERT: c0f868bd Merge pull request #101 from daviwil/dw-integer-casing REVERT: 00178a28 Allow 'b' and 'd' to be capitalized in integers REVERT: fd743584 Merge pull request #97 from tree-sitter/remove-rubyspec-submodule REVERT: fce7be43 Fetch ruby/spec from the remote. REVERT: fe7fd5fa Remove ruby_spec submodule. REVERT: 4d50ec36 0.13.11 REVERT: d2ecab0a Remove last use of sepTrailing helper REVERT: ae7ada5e Use repeat for parsing argument lists, element lists REVERT: 1f24cc8e 0.13.10 REVERT: b7300db2 :arrow_up: tree-sitter-cli for disabling optimizations on MSVC REVERT: 113fd2aa 0.13.9 REVERT: 55c7985e Use explicit `then` node to wrap statements inside if/case/rescue/when (#91) REVERT: 37871ee5 0.13.8 REVERT: 8b8928ed :arrow_up: tree-sitter-cli REVERT: 4cb3ebe5 0.13.7 REVERT: 2b81b2cf :arrow_up: tree-sitter-cli REVERT: 28ee5ae2 0.13.6 REVERT: 852ce87e Use default clang on linux travis builds REVERT: 5aa5450a Avoid potential use-after-free in regex scanner (#90) REVERT: 5fc39b5b Use immediate token API for preceding-whitespace-sensitive tokens (#89) REVERT: c3d968dd 0.13.5 REVERT: f315b56f Only prebuild binaries against electron on CI REVERT: 04594f9f Parse escape sequences in literals (#88) REVERT: c268a29a Remove unnecessary quotes in .travis.yml REVERT: 3650507c 0.13.4 REVERT: dc70cf5f Add enrypted token for prebuild uploads on travis and appveyor REVERT: 00805a47 Add Prebuild support (#87) REVERT: 54e75103 0.13.3 REVERT: 47be1388 Create separate nodes for bare words in string/symbol arrays (#86) REVERT: 6a5626b0 0.13.2 REVERT: 5d83b435 Add some structure to strings and literals (#85) REVERT: ef3197d8 0.13.1 REVERT: 2f4e0f50 Don't include examples and tests in published tarball REVERT: abb8471c 0.13.0 REVERT: 1b0a3af4 Insert 'line break' tokens at included range boundaries (#84) REVERT: 9d142677 0.12.0 REVERT: 35f2f131 :arrow_up: tree-sitter-cli, add new word property REVERT: bf83de4d Don't treat EOF as an identifier character REVERT: 7a1ecb7d Print stats about how many examples are successfully parsing (#82) REVERT: d303c2aa Parse keyword-style hash keys as symbols (#81) REVERT: 90cd1111 Fix up lexing binary/unary minus (#78) REVERT: 1bf207ca Fix precedence of empty block vs empty hash (#75) REVERT: e225c147 Merge pull request #71 from tree-sitter/newline-delimited-strings REVERT: 4430848b Allow whitespace characters as string delimiters when `%` isn't valid REVERT: 90e96100 Failing test for newline delimited strings REVERT: df7785e8 Merge pull request #72 from tree-sitter/divide-regex-ambiguity REVERT: 7910efff Don't incude colon in identifier hash key REVERT: bc04763b Test and fix IDENTIFIER_HASH_KEY consuming and not returning REVERT: c910d842 Parse non-ascii identifiers (#70) REVERT: f87ef4c4 Add support for newline-delimited strings REVERT: 35be55d6 Heredoc method continuation fix try 2 (#69) REVERT: b244a010 Use external scanner to detect reserved identifiers used as keyword args (#67) REVERT: 89edd72b Merge pull request #66 from tree-sitter/fix-binary-integers REVERT: d98ff0eb Fix parsing of binary expressions REVERT: b0f237d4 :arrow_up: tree-sitter-cli REVERT: 76e0390c 0.11.0 REVERT: 1da51019 :arrow_up: tree-sitter-cli REVERT: d1d1ec8e Faster and more comprehensive example smoke testing (#65) REVERT: b1251ac6 0.6.0 REVERT: 0546fa21 :arrow_up: tree-sitter-cli REVERT: edd0a697 0.5.0 REVERT: ec13e60e Regenerate with latest tree-sitter REVERT: 295e77df Merge pull request #64 from tree-sitter/bump-tree-sitter REVERT: 665d849b 0.4.1 REVERT: b84ef07b Bump to 0.8.6 REVERT: b928710e Add a package-lock and bump tree-sitter REVERT: 6c23e3c7 Guard against buffer overflow when serializing scanner REVERT: c598dbe2 0.4.0 REVERT: 307608ad Upgrade tree-sitter for new lexer API REVERT: 85e5caca 0.3.1 REVERT: 9a315abf Do not include additional whitespace in _line_break tokens REVERT: 7c693b59 :arrow_up: tree-sitter-cli REVERT: 2bb854e1 0.3.0 REVERT: 8e0a7245 Regenerate with latest tree-sitter REVERT: 0ff5cbd2 Allow class <<self to parse (#61) REVERT: 4bdeb6ec Add appveyor badge and whitequark reference to README [skip ci] REVERT: c891c6ca Add appveyor.yml REVERT: beb24fb3 Additional improvements to the ruby grammar (#59) REVERT: 6681b4c8 Merge pull request #55 from tree-sitter/add-ruby-spec-examples REVERT: aac20bdf Skip string_spec for now REVERT: 7729adfc Merge remote-tracking branch 'origin/master' into add-ruby-spec-examples REVERT: 0fca7f41 Merge pull request #56 from tree-sitter/spell-out-for-loop REVERT: ddcae1ce Remove extra whitespace REVERT: 410846a8 Include ruby/spec as a submodule and parse it REVERT: 518f93f3 No more subtree, going to try a submodule instead REVERT: d8a50269 Merge remote-tracking branch 'origin/spell-out-for-loop' into add-ruby-spec-examples REVERT: 7cbc4f5e Merge remote-tracking branch 'origin/master' into add-ruby-spec-examples REVERT: c3d64917 Don't use range based for loop REVERT: 19aba16e 0.2.0 REVERT: 23629de2 :arrow_up: tree-sitter-cli REVERT: 584c90f8 Merge pull request #53 from tree-sitter/new-external-scanner-api REVERT: 0d42e1f0 Slightly different approach to for in structure REVERT: fc17fcfa Add parenthesized_statements named rule REVERT: a1ec6037 Revert "Add parenthesized_statements named rule" REVERT: e5c1a05e Add parenthesized_statements named rule REVERT: 0fb0a980 Alias binary_start and scope_double_colon REVERT: a58ec93c Give for some more structure with in clause REVERT: e45d05ec Use new alias API REVERT: fdb657e8 Do test parse without script and with one tree-sitter parse call REVERT: 18337b99 Can define method for match operator !~ REVERT: b101b6ac Run examples one-by-one REVERT: 06b582cc Revert "Unicode letters allowed in symbols" REVERT: 9fe7b6e7 Don't need to test this REVERT: 06c3df2b Unicode letters allowed in symbols REVERT: 1ed25a89 Update parser REVERT: 1bcc0d74 Don't test this right now REVERT: 413ec104 Fix multiple assignment in parens REVERT: 61813dd4 lambda, lambda REVERT: 79a8152a if/then with extra terminator REVERT: db09ef38 Module decl without terminator REVERT: 0ab3fd38 Revert "Look for \w to prepare to catch unicode characters in identifiers" REVERT: 6864fc6f Bump parser REVERT: 993c70e8 Look for \w to prepare to catch unicode characters in identifiers REVERT: 9545493d Parse complex number literals REVERT: a55ecdf2 :arrow_up: tree-sitter REVERT: cb846f67 Show blocks in 'stabby' lambdas REVERT: d98ddde5 Fix heredoc deserialization in scanner REVERT: b99588b3 Regenerate parser REVERT: de1a67aa Allow hash splat args in hash init REVERT: 48b53da6 Use new external scanner serialization API REVERT: 3501a48e Show block rules in lambdas, use renames for reserved word identifiers REVERT: a9abc715 Parse examples as part of running test REVERT: 69769534 Merge commit '4e3a5f3cd374c37d7f108fcc9a11c66c4f0088d9' as 'examples/ruby_spec' REVERT: 4e3a5f3c Squashed 'examples/ruby_spec/' content from commit be7741139 REVERT: b54bb16d Merge pull request #52 from tree-sitter/fix-typo REVERT: 42ff2c25 s/destructured_left_assigment/destructured_left_assignment REVERT: 7655c0c8 :arrow_up: tree-sitter-cli, rename grammar_test -> corpus REVERT: 189eded4 Merge pull request #51 from tree-sitter/single-cr-characters REVERT: 73fe34a8 Treat single CR characters as whitespace, not as line breaks REVERT: e01c399d Merge pull request #49 from tree-sitter/wide-chars REVERT: bc078d26 Use correct include file for g++ REVERT: f42c1178 Use wide-char version of ctype.h functions REVERT: 7c0c6839 Merge pull request #48 from tree-sitter/namespace-scanner REVERT: 5d121bde Anonymize the namespace. REVERT: 8813bd06 Namespace the scanner. REVERT: 04fd77ba Merge pull request #47 from tree-sitter/fuzz-fixes REVERT: dd1c7953 Merge pull request #46 from tree-sitter/bump-tree-sitter REVERT: 77e92ee3 bump tree-sitter-cli REVERT: d5ed995b Malformed input can cause an infinite loop here, check for EOF too REVERT: c6026a80 0.1.0 REVERT: 393b51dc Merge pull request #45 from tree-sitter/new-tree-sitter-features REVERT: 1a31bb22 Distinguish :foo= from :foo=> using backtracking REVERT: 923f4799 Update tree-sitter, use backtracking REVERT: fbe95be1 0.0.4 REVERT: d1459dba Allow capitalized method names in method calls REVERT: 65315c11 0.0.3 REVERT: 165417b2 Merge pull request #44 from tree-sitter/distinguish-constants-from-variables REVERT: 2993d00a Fix typo in operator name REVERT: 6ae74e18 Restore the use of _terminator in class and module rules REVERT: 52207edd Add a test for a capitalized keyword argument name REVERT: 99c86d2d Merge remote-tracking branch 'origin/master' into distinguish-constants-from-variables REVERT: c0dede8b Fix binary path in index.js REVERT: 8b3d08a3 Merge pull request #43 from tree-sitter/method-body REVERT: 51d7e9e3 Add test for class def within dynamically-computed module REVERT: af5c0874 Distinguish constants from variables REVERT: 3ca62cd2 Breakout rule for singleton_methods REVERT: b2ca35ff Merge pull request #41 from tree-sitter/alpha-num-heredoc-words REVERT: 51abbdeb Unquoted heredoc words can be alpha numeric REVERT: c7724353 Merge pull request #40 from tree-sitter/conditional-char-literal REVERT: a6fa066b Capture entire end of file after __END__ REVERT: c27087ca Whitespace stripping Heredoc with ~ allows indentation too REVERT: 56e6eadc Produce empty_statement REVERT: f9810066 Parse destructured left hand sides REVERT: cf095e6e s/call_argument_list/argument_list_with_parens REVERT: 179ca032 One additional valid char literal syntax REVERT: a93a09b0 Allow implicit call REVERT: 20d77629 Terminator allowed between do and block params REVERT: a01039df Support extraneous ; REVERT: 85feca10 Check for heredocs first REVERT: b280dedd Allow call syntax for operators REVERT: 92a9f95c Allow space after splat star in certain states REVERT: cac1f900 Heredoc end word must not be indented unless using - REVERT: cfa2e86a Valid to define [] as a method that takes no args REVERT: 1b6ae39d Swap slat start and block ampersand logic REVERT: 1ac39409 Little more nuance to returning early for % if not in valid state REVERT: 279c5506 ++tree-sitter-cli REVERT: 1b538dbc Multiline comments support CRLF and content on first line REVERT: d0597868 ++tree-sitter-cli for crlf fixes REVERT: cc689181 do blocks allow optional terminator REVERT: c2304809 Return early to allow method named % REVERT: 25c3515d Allow CRLF as valid line ending REVERT: 3b256db9 for allows _mlhs REVERT: 8664e3a9 Adjust float regex to allow +/- REVERT: 73600401 Can assign to TRUE, FALSE, NIL REVERT: a47b4098 Add a couple more unbalanced delims REVERT: 3f38498b _ valid after splat star and block amp REVERT: e418dea3 Move a few things up out of _variable that don't belong REVERT: ea56af35 0.0.2 REVERT: 81d06f51 Failing test demonstrating ambiguity REVERT: 640fda25 Merge pull request #39 from tree-sitter/cleanup-char-literal-regex REVERT: 34a455f4 Use \S to cleanup char literal regex REVERT: 5f71c72b s/ts_language_ruby_binding/tree_sitter_ruby_binding REVERT: 8d5cd550 Merge pull request #30 from tree-sitter/literals-via-external-scanner REVERT: 7895f1cd :arrow_up: tree-sitter-cli REVERT: 50b488ba Remove c++11 syntax REVERT: 3f8b7689 Allow parsing of character literals REVERT: 0ad9d6ad @ not valid at this point anyway REVERT: b55cecff Add ^= conditional xor operator REVERT: 355c45e4 Allow other expression after block & REVERT: 2bd76af4 Fix issue with condition/symbol confusion REVERT: 0e4a5d58 Fix scanner state error - must have literal stack here REVERT: c497291c Allow unary for ivars, and still let -@ be a method REVERT: ad1593df Fake backtracking for parsing symbol keys with no space between values REVERT: 5044c8b7 Keyword style hash keys can be strings REVERT: 97f185fd Heredoc word can have _ in it REVERT: d8780e2d Terminator allowed after class def REVERT: 6b2c0f97 Opening heredoc word can be preceded by ~ REVERT: dfcc9ef0 Scan for heredocs before looking for unary/binary minus REVERT: cb56ca88 Catch another case of mistaken heredoc ending found REVERT: 1dc8cd4f Other valid minus lookaheads where we don't want unary or binary REVERT: 293caa3a Handle unary minus vs unary binary ambiguity REVERT: 2b2a8a6e Allow heredoc end in heredoc content REVERT: 43935095 Quoted heredocs are special REVERT: 4afff5ab Backtick can be defined as a method REVERT: 1b125349 Singleton class can use any expression REVERT: 486238f3 Return immediately if opening newline is found for heredocs REVERT: 57c59ba2 ! is a valid operator REVERT: 05f4054d Need a rule for super now that it is a reserved identifier REVERT: 1eb9a071 Can't tokenize boolean/nil, breakout boolean to true and false REVERT: 095763cd Ensure that conditional still allows reserved words REVERT: af9e05f8 Enable the rest of the reserved words as identifiers REVERT: ee20f38b Use literal stack in place of heredoc interpolation stack REVERT: 395281e2 Heredoc end also allowed as last element reference REVERT: bee8844e Heredocs allowed in multiline array literals REVERT: 53bb0f11 Allow full _lhs in rest assignment REVERT: 9e0f9fd0 Make search for heredoc starting linebreak local to each scan pass REVERT: 59d29fce Updated generated grammar and parser.c REVERT: c908e805 Only support a few reseved identifiers right now REVERT: 07bb1b08 Remove need to track def as external REVERT: 397b82d2 Simplify global variable regex REVERT: 1a016322 New approach for reserved words as symbol keys REVERT: 156e8f89 repeat1 is built in! REVERT: 456f8b53 if, elsif, unless allow full statement REVERT: 1b0e163c Remove a couple of unnecessary heredoc_ends REVERT: f0803f6c With interpolation stack in scanner, we can just look for heredoc_end REVERT: cda3bfe9 Optional terminator after begin allowed REVERT: 3b41a13c Allow splat arg in rescue REVERT: 472c61c6 Handle repeating newlines and comments interspersed in hashes REVERT: ba777289 Don't parse /= as beginning of regex REVERT: 13f6d1d8 Heredocs after , in arguments_list allowed REVERT: 43a5a7f6 class allowed as symbol key REVERT: bd6797ec Superclass can really be any old expression REVERT: 441e3d45 Everybody loves heredoc whitespacing parsing REVERT: d326d2df [ also valid after splat REVERT: 8e07c273 Expand globals regex REVERT: e87fc8ea Reserved words must be followed by whitespace REVERT: cce23da4 Allow both /(/ regex and `def /(n)` method definition REVERT: d699fdc1 Multiple left hand sides can be surrounded in parens REVERT: da871c36 Allow optional terminator after else REVERT: e10bd3e1 Logic backwards for / as method name. REVERT: d077076b Add while, until as reserved words, better matching logic REVERT: 768c78f6 Relax multiple left hand sides to allow parsing calls in multiple assignment REVERT: e28f71e8 Fix parse error for method def with parens and ; as terminator REVERT: 98db1942 Splat star allowed before ::Constant REVERT: e5647b3a Don't look for heredoc_body_beginning if already looking for interpolation end. REVERT: 37662329 Fix for leading :: in scope resolution REVERT: 9599e810 Handle trailing commas on block formal parameters REVERT: 66581744 Fix optional block argument precedenc with '|' issue REVERT: 0b01538a Handle unless as pair key, more general handling of reserved words REVERT: 122e8397 New approach to supporting heredocs and method continuation REVERT: 6d3aff4e Allow regex to start with ( outside method def REVERT: 3d246b86 Constants can start with :: REVERT: 7ad3bf4b Fragile fix for methods named / REVERT: b08fcb8e Adjust precedence to fix mrhs issues REVERT: 2062c882 End with semicolons for consistency REVERT: 0ae48a13 Fix trailing comma parsing with nested method calls REVERT: 8f57f92a Full statement allowed in heredoc interpolation REVERT: 5e8e8045 Splat args allowed on rhs of assignment REVERT: c41b5f11 Fix issue with finding end heredoc word REVERT: 484bb59b Fix just the 'if' reserved word as key case REVERT: b58dca2e Failing test for reserved word hash key REVERT: f6fdabcd Disable mrhs (tests failing) for now REVERT: 360a90a4 Failing test: method call with paren args REVERT: 2b67ca38 Test for assignment with pair arguments REVERT: 3b7db2c2 Additional test for method call with trailing comma REVERT: fec62cc4 Fix heredoc for statements REVERT: 10c22d63 Splat arg allowed to be in parens REVERT: 10c991ff Test heredoc content that starts with '.' REVERT: 87d5ef40 Rework calls with line breaks and heredoc parsing REVERT: 23eb50f6 Fix issue with . on start of heredoc body REVERT: 14fcc3d6 Allow bare multiple right hand sides REVERT: cb3c5562 Expand recognized globals REVERT: 83010d4f Local and global variables are valid splat args REVERT: c2530d66 Allow splat args in when REVERT: 43fb8b01 Fix error parsing optional params in lambdas REVERT: 2917290a Floats don't have to have . in them REVERT: 82f0cf0e Use external scanner for block and splat args to fix method v. operator ambiguity REVERT: 8ad7dab0 Allow pairs in arrays and collapse up argument_lists REVERT: f3d63614 Allow symbols to end with '=' REVERT: 4b543b47 Detect heredoc bodies only after line breaks REVERT: f3448de0 Regenerate the parser REVERT: 439669bc Allow hash splat args and s/rest_argument/splat_argument REVERT: 6ffb75c0 Rework parameters and destructured parameter productions REVERT: a0381a69 Parse division without spaces REVERT: 040f5095 Improve TODO for %= parsing REVERT: fef8d5ec Allow a full _statement in interpolation REVERT: 6c52a656 Allow destructured formal parameters REVERT: 03ab2b85 Merge remote-tracking branch 'origin/master' into literals-via-external-scanner REVERT: 04ed2d81 Parse whitespace sensitive element references vs array arguments REVERT: 95e3f847 Merge pull request #38 from tree-sitter/more-assignment-operators REVERT: 76c24bae Parse a few more assignment operators REVERT: 1a59aef6 Merge remote-tracking branch 'origin/master' into literals-via-external-scanner REVERT: 7db7d4b6 Merge pull request #37 from tree-sitter/argument-pair-improvements REVERT: 9044c3ed Collapse up to one pair rule that allows any _arg as the key REVERT: d0982fa8 Merge pull request #36 from tree-sitter/rest-arguments REVERT: fba4efc5 Parse rest arguments in method calls REVERT: 184227a5 Handle forward slash ambiguity REVERT: c97aebd3 Merge remote-tracking branch 'origin/master' into literals-via-external-scanner REVERT: 0a4ea1b8 Merge remote-tracking branch 'origin/splats-in-array-literals' into literals-via-external-scanner REVERT: d2c9e010 Merge pull request #35 from tree-sitter/splats-in-array-literals REVERT: 6ecdd0cc Handle parsing array literals with rest splat syntax REVERT: 49203c84 This reverts commit 39a04b631eefb8d32102238ab53b0ee22d9a1cc4. REVERT: 39a04b63 Also alow &. calls to have linebreaks REVERT: 349b3146 Merge remote-tracking branch 'origin/master' into literals-via-external-scanner REVERT: 152925a2 Handle method calls with line breaks REVERT: e4a1256b Merge pull request #34 from tree-sitter/basic-mrhs REVERT: 9a8ae87c Basic parsing of multiple right hand sides in assignment REVERT: 1dba4bac Symbols can be any valid ruby operator REVERT: f0f59251 Symbols can start with _ REVERT: ecb367d1 Merge remote-tracking branch 'origin/master' into literals-via-external-scanner REVERT: 52de1631 Merge pull request #33 from tree-sitter/super-just-a-method REVERT: 20d99712 Parse super as a method REVERT: 8bc0bfa7 Handle escaped newlines in external scanner REVERT: 0ba3714f Test nested interpolation inside heredocs REVERT: e1a3697e Add support for interpolation within heredocs REVERT: 9bc42cd6 Move heredoc_end into top_level_statement REVERT: 95f0d5bd Allow whitespace before closing heredoc word REVERT: 8580c558 Use local variables instead REVERT: fddeb69b Heredoc word doesn't need to be upper REVERT: 390ead73 Updated heredoc tests REVERT: 1c5ba4b2 Support single and double quoted heredocs REVERT: 0e9920e5 Bring back unbalanced delimiters, proper interpolation parsing REVERT: 96a29e9b Merge remote-tracking branch 'origin/master' into literals-via-external-scanner REVERT: 98e0f907 Sync with latest external scanner API REVERT: fc8f4d89 Merge pull request #32 from tree-sitter/begin-end-top-level-blocks REVERT: d3066a28 Parse BEGIN {} and END {} blocks REVERT: 3b6af133 Add basic heredoc implementation REVERT: 1c7d0e60 Handle nested literals REVERT: 32b206b6 Allow _ and digits in undelimited symbols REVERT: 2a2181b8 Start work on literals that don't allow interpolation REVERT: 52b2d8ea Add support for chained strings REVERT: a634494d Merge remote-tracking branch 'origin/master' into literals-via-external-scanner REVERT: a3d2e46d Fix handling of line breaks preceding strings REVERT: 472cd8dc Use prerelease tree-sitter-cli REVERT: 1f2ca5cd Merge pull request #31 from tree-sitter/class-improvements REVERT: 52265827 Update grammar and parser again REVERT: 03f8f36a Re-use constant rule for superclass REVERT: 8911ecfd Include new generated grammar and parser REVERT: e9a0c009 Add a bit more shape to class and module trees REVERT: 91fca2be Merge branch 'master' into literals-via-external-scanner REVERT: e927adf5 Merge pull request #29 from tree-sitter/unify-operators REVERT: 32d5cab0 Unify the many operator rules into 'binary' and 'unary' REVERT: 92ab4b07 Make sure we require latest tree-sitter-cli for dev REVERT: b91950a0 Remove interpolation nodes from test expectations REVERT: 3a88bd11 Merge pull request #28 from tree-sitter/multiple-assignment REVERT: 988923ee Parse multiple (lhs) assignments REVERT: a06117fe Start work on parsing literals via an external scanner REVERT: b1c4ec45 Merge pull request #27 from tree-sitter/delims-and-other-fixes REVERT: 3a18aba2 Allow \\\n as line continuation REVERT: 85e32be4 Small hack to allow stand alone # in interpolated strings, symbols, regexes, subshells. REVERT: 18aeb791 Fix typo in string/regex body parsing when allowing interpolation REVERT: 512ee7ac Only arguments in () or [] can have trailing commas REVERT: 75e64a16 Exception variable can be any lhs, rename rescue exception productions REVERT: cd009e3f Hack around float to be able to parse `3.times` REVERT: 7c1baba8 Allow = on the end of method names as attribute setter REVERT: 3e4770b3 Bring back balanced delimiters for strings, symbols, regex, subshells REVERT: 7ff76d07 Merge pull request #26 from tree-sitter/back-to-master REVERT: a608bdf3 Fix modifiers following return/next/yield/break REVERT: 60a7d3ec Allow symbols that start with @, @@, $ REVERT: 5884d162 Allow all formal parameter types as unparenthesized lambda arguments REVERT: 9de00510 Remove _identifier wrapper rule REVERT: bd37ab32 Unify method_call and method_call_with_do_block REVERT: 6cbb884a Extract block_parameters rule REVERT: 41c107d3 Make body statement a grammar rule REVERT: 4e221718 Avoid epsilon production for _array_items REVERT: a24dc702 Updated grammar and parser.c REVERT: 452166a5 Constant's not matching, remove it for now REVERT: 0446c0cf Only let this be an arg REVERT: 9bb620e9 Don't talk about functions REVERT: aa2167ba s/"/' REVERT: ff4b5639 s/function_call/method_call REVERT: dc8574e6 Safe navigation operator and block shadow args REVERT: e08d3042 Super, redo, break, next REVERT: 4eaec69e Class, module, singletonclass improvements REVERT: 017b3c3d Improve method parsing, add to primary, short name REVERT: 2a7df311 Add more to primary, refactor yield/return REVERT: 4cd18892 Refactor and rename control flow expressions REVERT: 86c1b603 Fix array as object test name REVERT: 87912982 Support backref globals in alias, parse ivars, cvars, globals, etc REVERT: 4e065cd3 Improve undef to take multiple args REVERT: 3394a2ed Produce single lambda production REVERT: 7df9d688 Remove regex precedence REVERT: b61b3290 Flatten _declarations REVERT: ef1fa11d Temporarily remove unbalanced and nonstandard delims for dev speed REVERT: 6fe30c68 Move array to _primary REVERT: 2d72b925 Merge pull request #25 from tree-sitter/expressions-everywhere REVERT: 74d3d25b When can have comma sep patterns REVERT: 4882409c Lambdas can use do/end syntax REVERT: 83871f67 Cases can have expressions REVERT: 5d3cf0db Cases are expressions, test assignment REVERT: 12817217 Rework alias and undef REVERT: f127056f Default prec is zero REVERT: 9318a013 Support #to_proc style block arguments REVERT: 0fe32f6c Handle singleton class definitions REVERT: 85fa794f This prec isn't doing anything REVERT: dc436f1c Primary expressions include function calls REVERT: a9a7de1f Primary and lhs expressions can be function calls REVERT: b5782429 Merge pull request #24 from tree-sitter/block-args REVERT: 57ed1b3b Additional test for yield with multiple args REVERT: 94118c73 Remove unused code REVERT: 218f2677 Allow do/end and {} blocks as arguments REVERT: 7ba9465d Merge pull request #23 from tree-sitter/reduce-conflicts REVERT: a584c3bb Give argument_lists lower prec to reduce conflicts REVERT: 96fab3b5 Merge pull request #22 from tree-sitter/kw-args REVERT: 2b9ce552 New production names for parameters REVERT: 0bc6f82b Merge pull request #21 from tree-sitter/kw-args REVERT: 69c67694 Streamline param productions REVERT: 3274dc3e Old style hash arg keys must be symbols REVERT: 400aca5d Merge remote-tracking branch 'origin/master' into kw-args REVERT: f167a059 Merge pull request #20 from tree-sitter/last-ex REVERT: a99fdc7c Merge remote-tracking branch 'origin/last-ex' into kw-args REVERT: e6312b65 Parse keyword params/args REVERT: 5be1883d New approach to identifier pattern REVERT: 780e98a3 Symbols can end in ? or ! too, add some tests to validate that REVERT: adc808ce Only methods can end in ? or !, rename rescue ex REVERT: d7de9d22 Fix tests with duplicate names REVERT: 6faf93a4 Just capture var of last exception REVERT: 18d97b18 Capture last_exception as a stand alone production REVERT: 3b4c59b6 Merge pull request #19 from tree-sitter/parsing-improvements REVERT: a814ec95 Parse rescue modifiers REVERT: 46859a11 Capture last_exception in rescue blocks as production REVERT: 4000a551 Improved parsing of rescue REVERT: 7ee1d156 Don't produce then_block productions REVERT: 393adaae Merge pull request #18 from tree-sitter/tree-sitter-recovery-symbols-fix REVERT: a0dbcd4b Verify that element assignment works REVERT: b7665335 Better parsing of element reference REVERT: 53187e0e Support singleton method definition REVERT: a8eef43e Better handling of lambda literals and expressions REVERT: 9837776d Regenerate parser w/ tree-sitter state merging fix REVERT: bdc6c7fe Don't produce 'condition' production, but add elsif_block REVERT: 9957e0fc Rewrite string/regexBody to optimize number of lex states REVERT: a0d61592 Let noneOf just take an array REVERT: 6999468b New regex parsing REVERT: f3152d01 Rewrite stringBody grammar REVERT: 871ffbdc Tokenize bools and nils REVERT: 517a01d9 Using this for precedence for regex only REVERT: 44680a74 Focus in on small set of unbalanced delimiters for now REVERT: 8f010cec Can use = in test name REVERT: 377f93e5 Finish work to properly handle /= and better regex string handling REVERT: 179d97ed A few more tests for edge cases REVERT: 1bf9f9b8 Back to integer REVERT: ae6c4334 New approach for strings/regexes and comment precedence REVERT: dbaf4ed8 Remove regex close precedence REVERT: 3ac60b1b More method invocation tests REVERT: c2c1a12d A few more tests for comparison and relational REVERT: 60888076 Regenerate the parser REVERT: 6d000eb0 s/integer/fixnum REVERT: 6fe2b8c1 Add math and conditional assignment REVERT: fcec6635 Fix multiline comments followed by comments REVERT: 0d86a5d1 Fix multiline comments followed by comments REVERT: b4b0ef83 Update to tree-sitter with merge state fix REVERT: ece01149 Use renamed tree-sitter-cli module REVERT: ff4f6005 Merge pull request #17 from tree-sitter/latest-tree-sitter REVERT: 459771c2 Tweak handling of line breaks as statement terminators REVERT: a4881019 Regenerate with latest tree-sitter REVERT: 8f30f137 Regenerate parser.c REVERT: 09246521 Use a custom build script instead of hooking in at prepublish REVERT: cefdc699 Use 'src' instead for gyp REVERT: ce1cc836 Merge pull request #16 from tree-sitter/function-calls REVERT: 6ada2cf1 Rebuild. REVERT: 1aaf669d Identifiers can end in question marks. REVERT: 3aab88d0 Rebuild. REVERT: 922b6780 Pull unary plus into its own production. REVERT: 35c3fadf Correct a test. REVERT: f5267a91 Rebuild. Apparently. REVERT: c3479d35 Subscripts associate to the left. REVERT: 09b500b4 Didn’t mean to leave arg lists on member access. REVERT: bbaf96c5 Add a test of a function call without parens. REVERT: 39177979 Test a function call with empty parens. REVERT: 5a99e512 Interesting test of a nested module. REVERT: 0c166d7f Function calls. REVERT: c91c7323 Merge branch 'master' into function-calls REVERT: 5d97b2a5 Merge pull request #15 from tree-sitter/consolidate-percent-tokens REVERT: e81b9d68 Put back accidentally deleted test REVERT: 81ced104 Factor _argument out. REVERT: 115af341 Replace _call with function_call (sorta). REVERT: 1114d6ea Merge branch 'master' into consolidate-percent-tokens REVERT: 2f254103 Make delimiters separate tokens from beginnings of '%' literals REVERT: 00d13889 Merge pull request #14 from tree-sitter/case-when REVERT: 679b854f Test a more involved case/when/when/else. REVERT: a0dabd9e Test case/when/else. REVERT: fccbc237 Test a trivial case/when. REVERT: c40cd693 Rebuild. REVERT: 6697ab3a case is a statement. REVERT: f2c08ad7 case/when. REVERT: c633732d Patterns. REVERT: 5192e1de Fix travis badge url REVERT: 9dd4d6ba Merge pull request #9 from tree-sitter/end-data REVERT: 6854a647 Test uninterpreted text at the end of a file. REVERT: effd1a4d Rebuild. REVERT: 205f26e1 Ruby sources can optionally end with __END__ & uninterpreted data. REVERT: 2e5fdaad Merge pull request #4 from tree-sitter/literals REVERT: 3a98316b Quoted string literals can be chained after quoted and percent strings. REVERT: 38aa37c2 Test a function with multiple arguments. REVERT: 0b4f17ea Test a function with a single argument. REVERT: f1123dfd Test a function with a body. REVERT: b7a3061b Test parsing of an empty function literal. REVERT: c89e231e Go back to using `identifier`. REVERT: dd3120ac Fix the method declaration tests. REVERT: 6b5278fc Rebuild. REVERT: 0c808d45 Function literals. REVERT: c188557a Match parameters under a parameter rule. REVERT: eb33b05a s/argument_list/formal_parameters/ REVERT: e7b66359 Test trailing comma. REVERT: 4ab76144 Test keyword keys. REVERT: e5901cf1 Test expression keys. REVERT: a1d0e453 Test empty hashes. REVERT: f4a815ec Parse hashes. REVERT: 22c8f117 Test balanced %r with interpolation. REVERT: c769dd11 Test unbalanced %r with interpolation. REVERT: 48b92a37 Test balanced %r regexps. REVERT: c98f0dc4 Test unbalanced percent r regexps thoroughly. REVERT: 5635a29e Rebuild. REVERT: 760ea83a Parse balanced interpolated regexps. REVERT: 25518ae5 Add balanced interpolated patterns for regexps. REVERT: 344a527d Set literal precedence on the closing token of regexps. REVERT: 0f80b7f4 Regexps can contain a recursive reference, if one is passed. REVERT: acfb795a Remove the obsolete comment. REVERT: c6a5be34 %r with unbalanced delimiters. REVERT: cb972cbe Go back to using a separate regexBody function. REVERT: a357baab Test regexps with interpolations. REVERT: b2387aa0 Regexps can contain interpolations. REVERT: 9185ebd6 Define a specific precedence for literals. REVERT: df8b3ad7 Use regexBody to define regex. REVERT: 0ef6d9b6 Add a helper for regexp bodies. REVERT: 113796c4 Single code path for balancedStringBody. REVERT: 86af1ed9 Unwrap. REVERT: 70893653 Move the comment up a line. REVERT: 020f9d45 /…/ regular expression literals. REVERT: 2f33b114 %W/%I. REVERT: 2b74eb71 Test unbalanced %w/%i arrays. REVERT: 423c7106 Rebuild. REVERT: d97c8564 Parse unbalanced %w/%i arrays. REVERT: c3fccbde Test %i arrays. REVERT: a59b1e07 %i arrays. REVERT: 5f217071 Test how we parse arrays. REVERT: 64be97ad Stub in percent w array parsing. REVERT: 4495fc2d %x{…}. REVERT: 8e01bed3 Inline subshells. REVERT: 75ab9c5d Inline a bunch of rules. REVERT: 156bd7d2 Rename the balanced rules to reflect their generality. REVERT: 29cf80c6 Percent symbols. REVERT: 5b4802f0 Correct some docs. REVERT: a5b1dffd Compile I guess. REVERT: b73ee78b Increase the precedence of closing tokens. REVERT: c3cd64ad Correct a couple of test names. REVERT: 951417bc Open tokens. REVERT: 4ce4ce3c Rename prefix to open. REVERT: fd7bac97 Rename delimiter to close. REVERT: 2bc9730a Interpolations in double-quoted symbols work. REVERT: 80ec0bb2 %/%Q strings are prefixed with /%Q?/. REVERT: 57a400b5 Tokenize the prefixes. REVERT: 1f8b278e stringBody takes a prefix. REVERT: 9deba202 Simplify the stringBody method a bit further. REVERT: 554cdaf9 Simpler code path for string bodies. REVERT: a3ca772b Replace operatorChars with an operators constant. REVERT: a058e502 Replace identifierChars() with an identifierPattern constant. REVERT: ef8d4c37 Remove some redundancies. REVERT: fde63993 Test :"#{…}". REVERT: 6c635346 Don’t tokenize %/%Q, %q. REVERT: ad4c2561 Parse interpolations! :tada: REVERT: 2656641d %{…}, %Q{…}. REVERT: 068f174c Extend balancedStringBody to support an inserted production. REVERT: 9a6d40df Double-quoted symbols. REVERT: 2a6a6340 Double-quoted strings use stringBody. REVERT: 1842822a stringBody takes an optional second parameter, a rule to embed in the body of the string. REVERT: 9bdcd2c9 Array literals can contain trailing commas. REVERT: ed26fc01 […]. REVERT: bcce3394 Symbols can be single-quoted. REVERT: 8a827808 `…`. REVERT: 94994dca = is a valid delimiter. REVERT: d7124cee %q{…}, %q(…), %q[…]. REVERT: 27374fc0 Use the extracted function for %q<…>. REVERT: b968550a Extract a function for balanced string bodies. REVERT: ed098814 Parse balanced %q<…> strings. REVERT: 95909a7d Clarify a test title. REVERT: 53a8ee8c Pull the unbalanced delimiters out into a constant. REVERT: e1cf347e One too many strings. REVERT: 2f789867 Add some missing delimiters. REVERT: 0eefb392 Add support for a ton of other %q delimiters. REVERT: 0f01c1b3 '…' strings use the string body helper. REVERT: 05113d5f %q strings use the string body helper. REVERT: b3f2a2e3 Add a function to build out a delimited string’s body. REVERT: 409072ac %q|…| strings. REVERT: 66af70cb Spaces. REVERT: 952788a7 Temporarily delete the `interpolation` and `identifier` matches. REVERT: 089fab6f Try to interpolate strings. REVERT: 973a5c01 Rephrase the parsing of double-quoted strings with a seq/repeat/choice. REVERT: 03a52aec Test some double-quoted string escapes. REVERT: 1ab34b13 Basic support for double-quoted strings. REVERT: 78242b71 Remove the optionalParens combinator. REVERT: a20da6b6 Single-quoted string literals. REVERT: 47130807 Nil literals. REVERT: 49f8a837 Boolean literals. REVERT: 4af58347 Float literals. REVERT: d430d23c Binary integer literals. REVERT: df3a9a71 Octal integer literals. REVERT: cf267347 Hex integer literals. REVERT: ba868970 Integer literals can be prefixed with 0d. REVERT: 57fef857 Integer literals. REVERT: af58ac11 Move the symbol test into a literals file. REVERT: 0dd38322 Extract a grouping for literal parsers. REVERT: 55cd6ed0 Merge pull request #3 from tree-sitter/expressions REVERT: 04a03a41 !, ~, and unary +. REVERT: ed46f210 **. REVERT: f7733ddb Test unary minus correctly. REVERT: 4d639ec4 Unary -. REVERT: 83148ade +, -, *, /, %. REVERT: 7234ccae <<, >>. REVERT: 4aee96ac ^, |, &. REVERT: 09ec0ae3 Comparison operators. REVERT: 090c651f Relational operators. REVERT: 5a2a5358 &&, ||. REVERT: 7ef4aa3f Inclusive & exclusive ranges. REVERT: 40f0c350 Ternary conditional operator. REVERT: a2396077 Assignment. REVERT: 5f55cc77 Test the associativity of and/or. REVERT: 66fa3c70 `defined?` expressions. REVERT: dc8c111d `or` expressions. REVERT: 41bc62ac `and` expressions. REVERT: bd56da66 Give `not` a precedence. REVERT: 14e7903d not expressions. REVERT: 074e1c23 Merge pull request #2 from tree-sitter/statements REVERT: ac3e2f5a Yield expressions. REVERT: a69995b7 Return statements don’t need to have values. REVERT: 292d2747 Return statements. REVERT: c13b4548 Test a full begin statement. REVERT: 3973df22 Test begin with rescue with args. REVERT: ac7b200f begin statements can contain rescue blocks. REVERT: 02ffa5ad begin statements can contain ensure statements. REVERT: e932b51a begin statements can contain else blocks. REVERT: 1743b451 begin statements contain statements. REVERT: 7e803610 Stub in a begin statement. REVERT: 8c19e4ac For statements. REVERT: 96ad77f4 Just commaSep1. REVERT: bb2c7c64 The lhs is optional. REVERT: 210da3a0 Refactor primary & lhs. REVERT: c1e78f4c Pull member access out. REVERT: cf122a65 Blocks can have multiple variables. REVERT: 677bd00e Factor variables out of _lhs. REVERT: ba49bd8c Extract the modifiers out into named productions. REVERT: 6c013ea6 Merge pull request #1 from tree-sitter/control-flow REVERT: 2dfc3780 Name elsif’s then block. REVERT: 94f6f3f1 Name the else block. REVERT: 2991f0bc Name the then block. REVERT: 2f72893a Slashes cause these to not be run. REVERT: 6bfca5fc No wait now it should be parsing the elsifs. REVERT: ea9bfe54 More equals signs. REVERT: 443e27f3 I guess this parses elsif now? REVERT: d2995873 Test single-line ifs. REVERT: a2abd28b Test if/else. REVERT: 207244e2 Stub in if statements. REVERT: 7d5db947 Test that `else` gets parsed as expected. REVERT: 4ea84a77 Combine then/else. REVERT: 153d7ecc Test unless/then. REVERT: cb0742d1 Add unless statements. REVERT: 5e7f1697 `do` is optional when splitting `while` and `until` across lines. REVERT: 91da830b Until statements. REVERT: 3f07ed7d Test a while statement with a body. REVERT: 08f448ec Add while statements. REVERT: b33e1f70 Support the vacuous () expression. REVERT: 67f56733 Subscript expressions are named. REVERT: 56f4c944 Scope resolution expressions are named. REVERT: 52301c7d Subscripting. REVERT: 5ddb5548 Test scope resolution parsing. REVERT: 16afb3cf Scope resolution. REVERT: 4ebe6b3a Classes and modules require terminators. REVERT: 6823a9c3 Lots more operators wooo REVERT: 214e929e Symbols are expressions. REVERT: 49c947ce Symbols are either identifier chars or operator chars. REVERT: 60fabad0 Pull operators out into a function. REVERT: f0fdadfb Pull the body of identifiers out into a function. REVERT: ff4cd434 Identifiers are tokens. REVERT: b30bccbc Test multiple args. REVERT: ae289982 Test unparenthesized args. REVERT: adbe46a2 Optional argument lists work out better. REVERT: 0706fd10 Don’t email. Just don’t. REVERT: 147b7930 Argument lists are named. REVERT: 1447e10e Don’t bother with _argument_declaration. REVERT: 6fc54523 The */& marker is optional. REVERT: d19d43c8 Move argument_list up beside method_declaration. REVERT: 3cf479cb Correct the parsing of methods with arguments. REVERT: 8d2f4aed Parenthesized expressions cannot be empty. REVERT: 98a73100 Test a class with a body. REVERT: db8425a5 Test a module with a body. REVERT: 7d2a0c74 Test a s…
BrianHicks
added a commit
that referenced
this issue
Dec 22, 2021
ddf4b779 :robot: 704757a5 add a mode to print language names a6af59f1 update to clap 3.0.0-rc.7 2d730c55 :art: e2a4f797 update dependencies a84ebd63 Merge pull request #54 from jesse-c/add-elixir 13550bee sort language names alphabetically c9e2bf61 sort language names alphabetically bae95a11 generate snapshot for Elixir ed29063c use "elixir" for the matcher name a7ad0dae update to the latest nixpkgs 073bb613 use flake if possible 04a40bbc Add Elixir b69f4879 Merge commit 'b24d8fbd96b9f8966cb725eda06f8b8aadf2c3a0' as 'vendor/tree-sitter-elixir' b24d8fbd Squashed 'vendor/tree-sitter-elixir/' content from commit 1b3ecf7 4aa939d3 Merge pull request #53 from BrianHicks/dependabot/cargo/serde-1.0.132 e7bce9d9 Bump serde from 1.0.131 to 1.0.132 b44c6f7c Merge pull request #52 from BrianHicks/dependabot/cargo/serde_json-1.0.73 ea2f0b03 Bump serde_json from 1.0.72 to 1.0.73 2eb49d27 Merge pull request #51 from BrianHicks/dependabot/cargo/serde-1.0.131 5d888045 Bump serde from 1.0.130 to 1.0.131 434fe3c4 log C++ support f623ea7d Merge pull request #50 from BrianHicks/release-2.1.0 ff7a2415 Merge pull request #49 from BrianHicks/warn-less bec8a20f add changelog b0a7f3cb bump to 2.1.0 331be63a Merge pull request #48 from BrianHicks/update-deps b7222c1b turn off warnings in all external code b9283545 update snapshot test for Ruby f3955190 update vendored tree-sitter-typescript a4e4a011 Squashed 'vendor/tree-sitter-typescript/' changes from d598c967..111b0776 a3fb50a7 update vendored tree-sitter-rust c7e8db3d Squashed 'vendor/tree-sitter-rust/' changes from a360da0a..e06d078a faae5f53 update vendored tree-sitter-ruby 4086f63a Squashed 'vendor/tree-sitter-ruby/' changes from 391269d7..888e2e56 04ed6b3a update vendored tree-sitter-javascript 4fa020ca Squashed 'vendor/tree-sitter-javascript/' changes from 6ec8014d..fdeb68ac e1079ebc update vendored tree-sitter-haskell 2425a253 Squashed 'vendor/tree-sitter-haskell/' changes from 30eea3c1..d72f2e42 cfb97800 update vendored tree-sitter-elm 8da8e598 Squashed 'vendor/tree-sitter-elm/' changes from d32d4436..7ef899bf 8cb70b93 make this less repetitious f09440a3 add better messages when updating subtrees 5f93f1f6 update Nix sources 85a1bbf7 Merge pull request #47 from BrianHicks/json-lines 3dfe5b87 Merge pull request #39 from BrianHicks/dependabot/cargo/tree-sitter-0.20.1 e9701551 :art: 168c4b1d update snapshot tests with new version of tree-sitter ac65e2a2 add a test for json lines output 5ed4cf04 add a json-lines format 5f3c2128 silence warnings we can't do anything about 32e8c798 Bump tree-sitter from 0.20.0 to 0.20.1 e163378f Merge pull request #32 from BrianHicks/dependabot/cargo/cc-1.0.72 7bcaab93 Bump cc from 1.0.71 to 1.0.72 f260502a Merge pull request #41 from BrianHicks/dependabot/cargo/serde_json-1.0.72 3a54ff92 Bump serde_json from 1.0.68 to 1.0.72 2c2973dd Merge pull request #46 from ymarco/main 175c6ce0 revise instructions for adding languages dac33d60 Merge pull request #38 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-16 053cd524 Merge pull request #43 from BrianHicks/dependabot/cargo/anyhow-1.0.51 25d69b69 Merge pull request #44 from BrianHicks/dependabot/cargo/itertools-0.10.3 f4dfbccf Merge pull request #45 from ymarco/main 95ec6bfd Add cpp support d91b16fc Merge commit 'b337e3879c8a5bccfed0e73deeb8cb8d0e2955bc' as 'vendor/tree-sitter-cpp' b337e387 Squashed 'vendor/tree-sitter-cpp/' content from commit e8dcc9d 36b38729 Bump itertools from 0.10.1 to 0.10.3 276838b1 Bump anyhow from 1.0.44 to 1.0.51 c109b99f Bump cachix/install-nix-action from 15 to 16 a6353bd7 add cachix instructions 8a2cf06a Merge pull request #33 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-15 9b99283c Bump cachix/install-nix-action from 14 to 15 93b331a2 fix errors 4d06d6c8 update nixpkgs 4a14fd58 Merge pull request #25 from BrianHicks/link-post 1ff98888 link the intro blog post ff03ad78 Merge pull request #24 from BrianHicks/dependabot/cargo/cc-1.0.71 9361ceee Bump cc from 1.0.70 to 1.0.71 42c82446 bump to 2.0.6 66e00e18 Merge pull request #21 from BrianHicks/walk-fs-parallel 733d7719 make the names better cf470e20 walk the filesystem in parallel aee3d2f5 extract a case on language to language cf198588 Merge pull request #20 from BrianHicks/dependabot/cargo/serde_json-1.0.68 69011a86 Bump serde_json from 1.0.67 to 1.0.68 f20261bd Merge pull request #19 from BrianHicks/dependabot/cargo/insta-1.8.0 084bab2c Merge pull request #18 from BrianHicks/dependabot/cargo/anyhow-1.0.44 c8941245 Bump insta from 1.7.2 to 1.8.0 e7ce985d Bump anyhow from 1.0.43 to 1.0.44 19ffc654 Merge pull request #17 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-14 ed29eb51 Bump cachix/install-nix-action from 13 to 14 2ee278a1 whoops, update the lock file too ea1165ba bump to 2.0.5 da151619 Merge pull request #16 from BrianHicks/update-flakes 773f624d Merge pull request #15 from BrianHicks/dependabot/cargo/tree-sitter-0.20.0 65bb361c update flake versions 692f1b20 fix compilation error for tree-sitter 0.20.0 5221469d Bump tree-sitter from 0.19.5 to 0.20.0 7b473ea2 Merge pull request #14 from BrianHicks/piping-into-things c70bca97 bump to 2.0.4 38edcf68 pull in this thing cargo snuck in? 92bf2228 don't exit error for a broken pipe 32f79b91 Merge pull request #12 from BrianHicks/dependabot/cargo/serde-1.0.130 a1f881bc Merge pull request #13 from BrianHicks/dependabot/cargo/cc-1.0.70 cf3aaa2a Bump serde from 1.0.129 to 1.0.130 e9b9a909 Merge pull request #10 from BrianHicks/dependabot/cargo/serde_json-1.0.67 f551813a Bump cc from 1.0.69 to 1.0.70 12203fad Bump serde_json from 1.0.66 to 1.0.67 0a74dbbb Merge pull request #9 from BrianHicks/dependabot 14e3fafc set up dependabot for Cargo updates 7e8b9f5b bump to 2.0.3 476013ef Merge pull request #8 from BrianHicks/fix-off-by-one 5b05e113 fix off-by-one in outputs 25e4e716 add an overlay for tree-grepper 5ee1612b Merge pull request #7 from BrianHicks/macos-builds 64fcd917 remove separate clippy check 879c5d50 darwin inputs are needed in the shell too 00ea0855 fix formatting in build.rs e72d1ada nixfmt on the flake 11ff38ff I don't think we need these auth tokens for the no-push steps e18350af add separate clippy and rustfmt checks 54525477 document why these build values 0642bb6d be specific about which macOS builds I want 6698ce93 add macos builds 4b4449f6 Merge pull request #6 from BrianHicks/flake c7eec637 remove the niv sources 265b612f add --no-gitignore to TS tests aecd7122 only look in examples for Rust cfdd6551 add --no-gitignore to Ruby tests 1de05bf7 add --no-gitignore to JS tests fc2653e6 add --no-gitignore to Haskell tests 3a084b77 look in examples for elm tests e02b1260 try using nixpkgs-unstable cf1f9ed8 upgrade deps 7687f57a move the dev dependencies into the flake 8cc29918 use flake-compat for default.nix and shell.nix 4cb6ddb7 move default.nix to flake 6768fc30 initialize a flake from the naersk template df7ee96f bump to 2.0.2 af9a9ee5 Merge pull request #5 from BrianHicks/anonymous-matches-in-clauses ec8625f2 remove unnecessary format! call 38443b16 fix up the README to talk about ignored matches f712869a clarify the cases we care about for names 7f94e9b5 make underscore-ignored matches still work in conditions 4a25a366 separate parsing and make filename optional d020ab59 Merge pull request #4 from BrianHicks/2.0.1 bf186bcd update a couple deps 90a98333 bump to 2.0.1 19128c54 Merge pull request #3 from BrianHicks/filetype 0ef2cc1f update snapshots ed96a40f add file type to JSON output 8fbe8dd5 clap errors include a newline 8ca4f8e7 document squashing 0f735d87 Merge pull request #2 from BrianHicks/buffering b61233aa buffer output (seems to be something like a 20% speedup?!) 89d18733 Merge pull request #1 from BrianHicks/ci 0998b10c move clippy into the default build 166dbaee use sorting in the tests ed122bb2 add the option to sort the output 6e8096b9 use our pkgs instead of gitignore's pinned pkgs 4d1cb041 update sources 56929f8e add GitHub actions CI 77fb7196 turn on checks as part of the build f42dc059 upgrade deps a01aa580 Squashed 'vendor/tree-sitter-typescript/' content from commit d598c967 f13b0ec2 Merge commit 'a01aa58053f8f6ff5bc321566009908f85c93e6d' as 'vendor/tree-sitter-typescript' 5908d609 Squashed 'vendor/tree-sitter-rust/' content from commit a360da0a ccbb0e69 Merge commit '5908d6099fbf4b58b84cc8c93226cd66224c581d' as 'vendor/tree-sitter-rust' 8ec19ffa Squashed 'vendor/tree-sitter-ruby/' content from commit 391269d7 963564ec Merge commit '8ec19ffa34b7db4b1e56a4164e6a7b1cdebbf1b9' as 'vendor/tree-sitter-ruby' 7e526483 Squashed 'vendor/tree-sitter-javascript/' content from commit 6ec8014d 401f03e9 Merge commit '7e526483722b97493b104d301d0e948a31c5a716' as 'vendor/tree-sitter-javascript' 94888ba5 Squashed 'vendor/tree-sitter-haskell/' content from commit 30eea3c1 b7f8bacf Merge commit '94888ba58c8f3b50492033c1ce51a07ca12cd485' as 'vendor/tree-sitter-haskell' d093a07f Squashed 'vendor/tree-sitter-elm/' content from commit d32d4436 18c232b2 Merge commit 'd093a07f5b3c006f0fe702759485b1fb3397078f' as 'vendor/tree-sitter-elm' 644aefea use --squash in all the updates da18ae59 add cargo-edit 689cef25 remove the tree-grepper cargo wrapper c6a20300 document the update command bc6f5d5e redo update script to use subtrees dbae9dc5 update snapshots with new acceptable diffs 0f6fdd56 no more submodules! 6292ca4f revise instructions for adding new languages 3fdf0c16 remove submodules ea9ca37e test TypeScript 66264955 correct language name for typescript 067241f5 string names should be upper-case 2ed9a0a2 test all Rust nodes c643089c test all Ruby nodes bbf5a352 test javascript output deb81fab fix clippy warnings c74ef4d5 fix using the wrong language name in matcher 8597f478 match all Haskell nodes 702c4ec3 match all Elm nodes 48ed3076 add a test for pretty JSON f1d0b9cb test (un-pretty) JSON output 94b99aa4 add our first snapshot test! 1c0bb54b make args a parameter as well (and handle failures nicely) 459f45fa make try_main take a sink 172ff2c7 add a JSON pretty-printer to output 507a584f add insta for testing 43905464 update README 9e1bb159 re-add the rest of the lanaguages 2f23ff4e use upper-case meta var, per convention 4b35d73e list languages 34f41d1a replace this TODO with an explanation 36691923 nah, this is fine 6e3f8090 remove the 1.0.0 branch f4b26cda borrow instead of cloning the name 90530133 this just won't be called if there are no matchers 20125bed get rid of the other thing we used language for d0d20f56 only call language.language() once 2b55e972 add a match name if none is provided fdd4707e proactively disable underscored captures 063e1ed8 precalculate which items to keep or drop 641a6717 remove names that start with _ 62c049dc use a global allocator 894750af clean up imports 0469f7d1 get rid of the custom wrapper 2e1ef80a rearrange fields to match definition 7e63b5a8 write JSON output 931b4694 add format argument to the opts 68f0913e don't put extra blank lines between match lines 3199981b actually format things! 1e181f44 refine error message for parse failures 408870a2 only print files with matches 05e8adc1 capture captures 10b85bea extract more information to the match e8508063 extract to a sub-struct 566e6ef6 initialize the parser per-batch fe00e50f extract matches! 🎉 82a2586a 🎨 26040d45 add a note for later 9a83408a capture stuff in the query dd051a73 parse a tree f2414a17 read source to string 418fce04 only use one implementation 107d4f2a 🎨 edc26eb7 implement SingleChoice d4ee16bf be more precise in this error message 1a6f2e30 finish doing our matching fbaf17e1 return a borrow ad0b402d clean up clippy warnings e896f1e8 wire up the matchers fe995613 print some stuff af29e39d start pulling out an extractor fb1ef123 finish out the sketch of matching c5e1c50b separate the code into stages 4933e9d9 do filetype match filtering myself cbb2a8ba figure out which matcher we want 64de569a stop reading for now 119c120c combine queries 33219dd1 make parsing queries a lot more readable 560af235 keep the entry around 86544786 read sources 0f63e508 print entry paths for debug's sake e8307a08 match filetypes f94185b1 add an option to avoid doing gitignore 2581302b a little more info for PATHS 71b6897c create a filesystem walker from the opts f1f51e2c add paths to the opts bd07a7a6 make error message a little nicer 3fce4d4b move queries to a separate method fe4c05a2 move parsing to a new module 08789bb6 friendly up the error messages a little more 765b20d9 add a few nice tests 7fb99cbe parse queries d481d2d2 oh boy this sure is some parsing work huh b189ce6f add Rust to Language bf592a76 use ignore to walk directories b03d21a7 unwrap the path results 66d64048 parse a language from the command line b4242659 make error nicer 4a3f67b4 add a basic Language implementation 1f53c7cc introduce parallelism 5ecf145f walk the filesystem bd52fdae add an extremely basic CLI interface 3fd5f547 move the 1.0.0 source into a separate directory 62cfa89a call it 1.0.0 facc9c36 add Typescript support 197bda1a update roadmap 0a0dee82 add hippocratic license 29b957d8 update cargo deps 129caa48 update sources 56745c74 update parsers 181d75a4 update cargo deps 565976fe move back to main.rs now that there's only one binary 33e7fce7 remove tree-grepper-dump c61d12eb print node kinds in the JSON output cdf01e3f downgrade to avoid a broken version 84d8862d update cargo deps 52bb9216 update submodules f37fe4de turn off warning logspam when building vendored tree-sitter parsers 988957e1 update submodules f686f3e7 add a script to udpate submodules 1f007817 add rust 7d5eb9a7 add Haskell support to tree-grepper 17e8dac9 add libiconv dependency 3765aae3 update package versions f55e55eb use submodules instead of subtrees 6b6722a6 remove subtrees 7b1bd2a7 fix file matcher 055330b2 add JavaScript support e6c6e3fc use a char instead of a string? thanks, clippy? 9a93afbf Merge commit 'd5621bb8035de6d9d21bcbff84efc2a2df3a474a' into main d5621bb8 Squashed 'vendor/tree-sitter-ruby/' changes from 5021a6a6..1fa06a9e 03bb233c Merge commit 'ea3bf266d0776dc2e3fe757a202bdbf45221b97a' into main ea3bf266 Squashed 'vendor/tree-sitter-elm/' changes from 06a8ff7c..117dcf4c dae91b20 update languages in the subtrees 8814dc45 Merge commit '16a05dabe26c20c98c83474365ac0aedc18b06a4' as 'vendor/tree-sitter-javascript' 16a05dab Squashed 'vendor/tree-sitter-javascript/' content from commit 1eee0d3f 01d0d46a don't output names that begin with underscores 37729b9b group captures in JSON output 6b7124bf remove dead Point code 6904801f update cargo deps 500ac238 update sources b20fc892 pass the language so I can actually query Ruby stuff 2480b090 add wrapper scripts to make running exploration commands easier 1d423444 enable predicate matching by returning text correctly a30fa194 make tree-grepper-dump work with multiple languages too 020a3399 talk about forwards-compatibility in the docstring 9c351d28 parse ruby files cbde19c3 Squashed 'vendor/tree-sitter-elm/' changes from 4da453fe..06a8ff7c 74089398 Merge commit 'cbde19c3d59ddfb7622d252f55306997d250c335' into main ee77aa3c compile tree-sitter-ruby 9d1c9bba Squashed 'vendor/tree-sitter-ruby/' content from commit 5021a6a6 d32a27f0 Merge commit '9d1c9bbaa226627f94f3a527d3eb671aad8732c0' as 'vendor/tree-sitter-ruby' b7c1d570 add a --language flag 4922e69b take care of clippy warnings a969df5a add more TODOs 7f1edd11 move name after row and column 7aa9c54c update crates 2f06a87c update sources 8c8dadc2 fix another off-by-one b3476981 fix off-by-one error ef592f10 add the minimum possible s-expression dumper 7a010a3f move to the bin directory to start separating stuff for multiple binaries 97f3c338 update cargo dependencies addbca55 update sources 62ab05b4 update TODOs 36850479 add match names to output 5c5900a2 add real JSON output a4ca8e8a add a formatter for doing nice formatting things 66c28852 rename VisitorBuilder to Gatherer d1a539ee use channels to extract our data back out again 840b517f move the walking behavior to a visitor pattern 58c26334 accept different kinds of formats 90af002a handle the paths a little more gracefully 0b907e66 only initialize query once f30ff20c fix stuff from clippy aa7edd0d make writing queries a little nicer f19f9d5a put JSON output higher 5c5e8788 add the rest of the filter flags I wanted ce15ef80 add ignore files b927160f add max_filesize a9bdaaff call builder methods in the same order config fields are defined 2effce68 tiny grammar fix a949f664 add some quick benchmarks 1d5c2c78 update binary name in README 4883dd0c print what the output actually is f87f3626 mark the first step as done b69d9d21 match on queries 67e4eb0c parse each file to a tree-sitter tree 3f608d43 don't use a library for handling errors... just exit 7ae2521b print out the files we're walking decf63eb add TODO for later d2e81a39 only match Elm files bb21f4de grab the parser and query 04e300f1 walk the directories recursively and in parallel ee7246ab minor refactor while I'm thinking of it 92c14f5a walk using ripgrep's walker instead dc279d88 walk the provided directories 0b98224f add roadmap stuff about non-Elm languages, as if those exist psh 82301841 update cc to 1.0.62 to get the better error message 1738512f parse command-line opts 18da50af load the tree sitter grammar 2c4090ce set up error handling harness 3cd59bb6 meta changey thing. Maybe not fine, but seems to work? 43076450 add xcbuild to get around cc errors 1dae29b1 add tree-sitter dependencies f83049cf add script to update subtrees properly a31185d7 Squashed 'vendor/tree-sitter-elm/' content from commit 4da453f 634ef430 Merge commit 'a31185d78586a84ea284673b023597a1c071f768' as 'vendor/tree-sitter-elm' eaebe868 add README 36bb1a5a make nix-build do what I want 4afd5132 cargo init 345a0414 nixify REVERT: 111b0776 Merge pull request #196 from hendrikvanantwerpen/fix-build-reproducability-and-ci-check REVERT: 37e3bf26 Fix incorrect file changes being reported REVERT: cc745b77 Merge pull request #194 from hendrikvanantwerpen/check-generated-files-in-ci REVERT: 53543d6c Add a CI step that checks whether the generated files are up-to-date. REVERT: 11f8f151 Merge pull request #192 from ruricolist/master REVERT: 7f98ac62 Check in generated files REVERT: 666c6948 Resolve more ternary ambiguities REVERT: 537a7e5e Remove known failures that can now be parsed REVERT: 3bf02c07 Handle ? as an optional argument (not ternary) REVERT: 4cf6a2c0 Update to fdeb68a and resolve conflicts REVERT: bc7625c4 Update tree-sitter-javascript to 4a2f9ea REVERT: b3b5d844 Support ternary_qmark and reorganize external scanner REVERT: 1517cffa Factor out scan_template_chars REVERT: 6aac031a Merge pull request #190 from ruricolist/master REVERT: 42a5efb0 Update tree-sitter-javascript to 2cc5803 REVERT: 5f904154 Merge pull request #188 from IWANABETHATGUY/fix/template-literal REVERT: a4b1bb6d fix: 🐛 template-literal-type with infer type REVERT: d9c8be8e Improve grammar for query writing (#187) REVERT: ef6ee5b3 Merge pull request #186 from tree-sitter/loosen-ts-deps REVERT: 1fd39885 Loosen Rust crate's tree-sitter dependency REVERT: 78f2f772 Merge pull request #185 from Luni-4/update-0.20 REVERT: 85389c38 Merge pull request #163 from rmagatti/add-override-modifier REVERT: 557319ec Formatting REVERT: 31a1f45f Add test for override modifier REVERT: 7d1714b8 0.20 REVERT: aa8a3282 Define a precedence instead of conflict REVERT: e4b66984 Merge from master REVERT: 6596da54 Remove generated files REVERT: 3383cebe Add more predefined and literal types (#184) REVERT: b00d5a59 Merge pull request #183 from resolritter/typeof REVERT: c16a41e4 regenerate parser REVERT: a6985c59 fix typeof according to typescript rules REVERT: 74a27488 Have special semicolon rules for method definitions (#182) REVERT: d08f57f2 Merge pull request #138 from resolritter/template_literal REVERT: 59783113 regenerate the parser REVERT: 3b58ba1c fix string_fragment REVERT: 012ea5ad implement "mapped type 'as' clauses" REVERT: 7d5f7c08 implement template literal types REVERT: 98ef3117 Merge pull request #135 from resolritter/class_syntax REVERT: 7579fd0b Merge pull request #181 from tree-sitter/mj-no-bindings REVERT: 20ab8341 git-ignore files that would be generated by a direct call to 'tree-sitter generate'. REVERT: 4d958959 Require tree-sitter >= 0.19.3, which provides the --no-bindings option. REVERT: af8df994 regenerate the parser REVERT: 7d5ddbad Disable node and rust bindings generation in tsx/ and typescript/ when running 'npm run build'. REVERT: f1797800 support more of the class syntax REVERT: 83816f56 Update package.json to include the repository key (#178) REVERT: 0012d38f Use only a single seq REVERT: 9b04a3ff Updates after running yarn install and yarn build REVERT: 6fda5326 Merge branch 'tree-sitter:master' into add-override-modifier REVERT: d598c967 Merge pull request #175 from rattrayalex/patch-1 REVERT: 1dcaf325 Fix link to TS spec REVERT: e2abf5f6 Update with master REVERT: dea62064 Merge branch 'master' into add-override-modifier REVERT: fd08586b Merge pull request #172 from tree-sitter/mj-latest-js REVERT: 83bd2519 Regenerate files REVERT: 8168089e Update test expectations REVERT: 17ba2409 Use latest tree-sitter-javascript (commit 2c5b138) REVERT: 54e14fc1 Build files REVERT: 2468c345 Merge from master REVERT: 5f550c66 Parser changes post-build REVERT: f636c3a3 Fix ordering for public_field_definition REVERT: 30e1b08a Merge pull request #168 from tree-sitter/mj-use-js-ae9bc67 REVERT: e28fe968 Merge pull request #170 from tree-sitter/mj-issue-template REVERT: 426cac3b Add GitHub issue templates, similar to what we now have for tree-sitter-javascript REVERT: 8ca0bacd Regenerate files, which didn't pick up the correct version of tree-sitter-javascript. Just editing package.json followed by 'npm install' didn't work. I had to manually run: npm install github:tree-sitter/tree-sitter-javascript#ae9bc67 REVERT: a7eda67f Merge pull request #167 from tree-sitter/mj-use-js-ae9bc67 REVERT: 80383c0b Use the latest javascript grammar REVERT: 8a81a63a Add override modifier REVERT: 28e757a2 Fix hard break in PR template REVERT: 4c20b547 Merge pull request #159 from tree-sitter/exports REVERT: 8e4e2fff Regenerate parser files REVERT: 2877a6a9 Use tree-sitter-javascript commit 40a1427 which extends support for 'export'. REVERT: 968e50f2 support extended export syntax REVERT: d0c78578 Merge pull request #158 from tree-sitter/pr-template REVERT: 0d7bc40f Adding the same PR template as for tree-sitter-javascript REVERT: 82916165 Merge pull request #152 from tree-sitter/catch-unknown REVERT: fbf581cf Regenerate parsers REVERT: cad2b85f Add support for type annotation on exception in catch clause (#142). REVERT: 1e4aee4e Merge pull request #153 from tree-sitter/tuple-type-trailing-comma REVERT: 4c5e5221 Regenerate parsers REVERT: 79a4906a Tolerate trailing commas in tuple type (#143) REVERT: 47416ef0 Merge pull request #146 from returntocorp/nathan/destructured-functions REVERT: f3749fae Merge remote-tracking branch 'origin/master' into nathan/destructured-functions REVERT: 6d6480c4 Merge pull request #151 from returntocorp/nathan/keyof-precedence REVERT: d7c0ad63 Merge remote-tracking branch 'origin/master' into nathan/keyof-precedence REVERT: a85dfb3f Support keyof on a parenthesized type; fix precedences REVERT: 9c617748 Fix lookup type precedence (#150) REVERT: bbff668b Merge pull request #145 from returntocorp/nathan/type-only-exports REVERT: d110704d Merge remote-tracking branch 'origin/master' into nathan/type-only-exports REVERT: 6b305ac9 Merge remote-tracking branch 'origin/master' into nathan/destructured-functions REVERT: 89e720e3 Use GHA on all pull requests (#147) REVERT: 6199b042 Disable automatic semicolon insertion at end of object patterns REVERT: 17605937 Add tsx generated files REVERT: 3455d4d9 Parse type-only exports REVERT: 3e897ea5 rust: 0.19.0 REVERT: 7e119621 Update queries to reflect grammar changes REVERT: 892494dd Fix nested module structure after regenerating with 0.19 REVERT: be5e1aa3 Remove stray log file REVERT: 6231a793 0.19.0 REVERT: ac5dac11 Upgrade Tree-sitter, Tree-sitter-javascript, use named precedences REVERT: 543cbe44 Add Rust package (#133) REVERT: d659f9df Generalize type queries and tuple types REVERT: fa65017f 0.16.3 REVERT: da72060c Support "infer" types (#124) REVERT: c17fe899 Fix ambiguity between function signature and function declaration (#126) REVERT: 2ac62b3d Regenerate parser.c for tsx (#129) REVERT: 2d1c7d5c Support decorators on abstract classes (#127) REVERT: a3a4bece bump tree-sitter-javascript (#123) REVERT: 9f3b30ef :fire: travis.yml REVERT: 5cf8d106 Put GH actions badge in README REVERT: e378b9a3 Add GH actions config REVERT: 2be27f30 Regenerate parsers REVERT: 49cc3dfd Merge remote-tracking branch 'resolritter/rework_typeof' REVERT: 8fe48c40 Merge remote-tracking branch 'resolritter/this_in_type_predicate' REVERT: 2097b39c Merge remote-tracking branch 'resolritter/conditional_types_2' REVERT: 9f753347 Merge remote-tracking branch 'resolritter/tuple_rest_types_mixed' REVERT: ae132c06 Merge remote-tracking branch 'resolritter/as_expression_intersection' REVERT: f552d354 Merge remote-tracking branch 'resolritter/optional_properties' REVERT: bbceca79 use more general construct names for tuple type members REVERT: 9645120d support labeled tuple elements REVERT: ada1521c support non_null_assertion in the LHS of augmented assignments (#119) REVERT: b9d79c5b support signature modifiers on mapped types REVERT: dc15f060 support optional types inside of tuples REVERT: ec20ae07 support rest types inside of tuple types REVERT: 32cf33e9 fix precedence order for as_expressions REVERT: 2d835642 support extended syntax field signatures on mapped types REVERT: c6d56e7d designate type_predicate_annotation as its own rule REVERT: f80e913d add conditional types and its tests REVERT: 7e5e2354 extract type_predicates as a type with special treatment REVERT: d7965b8e Regenerate parser for "else_clause" (#110) REVERT: 35f6be1a allow "this" in type assertions REVERT: 85cc247c refine keyof/typeof and its tests REVERT: 73afadbd Add colon (':') to list of lookahead tokens that disable automatic (#94) REVERT: 83447159 Add support for readonly array types ('readonly x[]') (#90) REVERT: e72fdf62 Support type arguments in self-closing jsx elements. (#92) REVERT: 0d8c7d65 Add support for definite assignment assertions (#86) REVERT: 767165ad Add support for assertion functions (#88) REVERT: 07a12bdf Update for latest tree-sitter-javascript (take 2) (#85) REVERT: 5a38a5bd Merge pull request #83 from tree-sitter/tag-types REVERT: 32525dfd Tag type annotations REVERT: 220ae17f resolve generic types in index type queries (#78) REVERT: d8c2f014 tags: Add a class reference for new expressions REVERT: 0d8f76dd Fix parsing of 'new' expressions with type arguments REVERT: f289f293 Add tags query REVERT: 4b8e9dc2 Bump tree-sitter-cli, update queries REVERT: ebd10b47 :arrow_up: tree-sitter-cli REVERT: a80ef555 Regenerate with latest tree-sitter-javascript REVERT: b90e74b7 :arrow_up: tree-sitter-cli REVERT: aa950f58 Regenerate with latest tree-sitter-javascript REVERT: 40320d8e :arrow_up: tree-sitter REVERT: 53b9ca35 Fix fields on numbers in literal_type REVERT: 441ba1ce Regenerate node-types REVERT: 3c3f2d22 0.16.1 REVERT: 7a5dee3a Load parsers w/ node as part of 'npm test' REVERT: b32e4870 Merge pull request #76 from daviwil/fix-native-requires REVERT: 29fdc2ac Fix native require paths in TypeScript grammar REVERT: 4f4b30c5 0.16.0 REVERT: 13b35c16 Simplify parse-examples script REVERT: 1e86f0c3 :arrow_up: tree-sitter to 0.16 REVERT: e8e3df9c 0.15.2 REVERT: 97f01a4e Tweak automatic semicolon rules inside of object types REVERT: 3684243a Regenerate binding files w/ latest tree-sitter REVERT: dff1928d Use tree-sitter-javascript's JSX highlighting in TSX and Flow REVERT: b4303878 Add missing keywords to highlight query REVERT: ee5afbf1 Remove property sheets REVERT: 2dcbc038 Add syntax highlighting queries REVERT: b78bfd8a Allow readonly as a property name REVERT: 2573038b :arrow_up: tree-sitter-cli REVERT: c5144ebf Bring back call_signature node, just in object types REVERT: ab9ab6cc Regenerate with latest tree-sitter-javascript REVERT: ac12c3cc Add tree-sitter-cli config back to package.json REVERT: b4103e0b Rename mapped_type -> mapped_type_clause REVERT: cbe2da92 Update to latest tree-sitter-javascript, add fields REVERT: de62bdd5 :arrow_up: tree-sitter REVERT: 812b9c0c 0.15.1 REVERT: 09991249 Fix paths to native modules REVERT: 4e197bd8 0.15.0 REVERT: 55982016 :arrow_up: tree-sitter-cli REVERT: 4dd102c0 actually delete tsx/examples/desktop REVERT: 14b3e85a Merge pull request #71 from tree-sitter/add-mapped-type REVERT: 273a6bea add mapped type and test REVERT: 39a4ffb0 Update .gitattributes REVERT: 90661d45 0.14.0 REVERT: d90b6290 Merge pull request #68 from nathansobo/ns-as/tsx-type-arguments REVERT: 5c030837 Remove inadvertently checked-in directory that shadows example repo REVERT: b2042cac Don't use includes in binding.gyp REVERT: 4e44d270 Build on Node 10 on Travis REVERT: 4312b355 Include common scanner.h in both custom scanners to avoid extra symbols REVERT: d5bf4ea4 Fix names in TSX node bindings REVERT: f43018b8 Fix require entrypoints REVERT: 59b7c6d0 Fix invalid JSON REVERT: 9782475a Fix package.json scripts REVERT: 7bb54d15 Use source.tsx as root scope name to match Atom REVERT: 1a9fa33b Provide require entrypoints for both TS and TSX grammars REVERT: 232f9460 Eliminate duplication of custom scanner code REVERT: 503bd676 Fix tests REVERT: a9f2ef76 Regenerate REVERT: a64d54f5 Fix file types REVERT: 9281d0c3 Fix names in tsx/scanner.c REVERT: 948e1284 Define ts and tsx grammars in subfolders based on a common helper REVERT: efadfa16 Support type arguments in JSX opening elements REVERT: 1db421fb Update to new highlighting property sheet API REVERT: 7d1d6733 :arrow_up: tree-sitter-javascript, tree-sitter-cli REVERT: 61bedf6c Merge pull request #63 from tree-sitter/highlight-properties REVERT: cf94dcd2 Merge branch 'master' into highlight-properties REVERT: dc29f18f Don't parse example files on appveyor REVERT: e275df5e :arrow_up: tree-sitter-cli REVERT: 47d3013a Merge pull request #67 from tree-sitter/flow-import-type REVERT: 1f0a60ca Merge pull request #66 from tree-sitter/fix-upstream-js-issues REVERT: f40c43d8 Support type/typeof in import/export specifier REVERT: cf61f7ec Add more import/export tests with types REVERT: 4c702a0b Remove unused previous REVERT: bfa53e40 Override formal parameter to get grammar buildable again REVERT: c23fbcb3 git ignore .node-version REVERT: e73036f7 Add a property sheet for syntax highlighting REVERT: f5794e5d Add tree-sitter keyword to package.json REVERT: f92843cd 0.13.6 REVERT: 9fb24bf0 Regenerate w/ latest tree-sitter-javascript REVERT: 4be460fd 0.13.5 REVERT: 73eb1b3e Handle flow-style module.exports declarations REVERT: 483a8dac Add predefined_type node in index_signature REVERT: f757b8c2 Use npm as a test example too, but ignore REVERT: 9400c0b4 0.13.4 REVERT: a6c05adf Use type_identifier in type_parameter REVERT: 01415844 0.13.3 REVERT: 78562f6d Regenerate w/ latest tree-sitter-javascript REVERT: ddb0bf76 0.13.2 REVERT: c7771965 Merge pull request #61 from tree-sitter/more-type-identifiers REVERT: 0f25bbc6 Differentiate type identifiers from other identifiers more consistently REVERT: 7dc69173 0.13.1 REVERT: b5da301c Parse escape sequences in strings REVERT: e90fa8ed 0.13.0 REVERT: 089bc23c :arrow_up: tree-sitter (new ABI version) REVERT: 44050fd6 0.12.0 REVERT: b18f011d :arrow_up: tree-sitter-cli REVERT: 499d46dc Don't tokenize template chars in error recovery mode REVERT: 1042832e Merge pull request #60 from 314eter/external-template-char REVERT: 286106d2 Scan series of template chars REVERT: 9ab65ab2 Use external for template chars REVERT: 5da76e8d Merge pull request #59 from tree-sitter/parse-stats REVERT: 6bee1acc Print out some basic parse stats REVERT: 900f9c20 Merge pull request #57 from tree-sitter/parse-examples REVERT: 35c74f93 Back to trying our hard reset REVERT: cbb7d1ba Try to actually remove the submodule REVERT: 0a102af5 Still broken REVERT: 9e75e82a Remove debugging REVERT: 2d284614 Some more troubleshooting REVERT: 70bb7a8c Troubleshooting build REVERT: 80bd93eb Use variable REVERT: ebbeaf57 Clone instead of submodule REVERT: dd3e2ea1 Don't need to depend on npm REVERT: 0e270a23 One known failure for mis-parsing comments REVERT: a8aaf9b1 s/ambient_function/function_signature REVERT: 64766995 Fix to allow !: props REVERT: a6d77971 Port over tree-sitter-javascript fix for `;` REVERT: 5dcb41d5 Allow async ambient function defs REVERT: cfa715e7 Allow using a test.ts file without committing it REVERT: 8ec539b9 Wire up example parsing to CI REVERT: fce7f1a9 Parse example repo and track failures REVERT: 6dc4f9c6 Bring in changes from tree-sitter-javascript and bump cli REVERT: e3bd00f0 0.11.0 REVERT: 81cb5d09 :arrow_up: tree-sitter-cli REVERT: 7a7d47a6 :arrow_up: tree-sitter-cli REVERT: b2e17655 0.7.0 REVERT: 46729d9f :arrow_up: tree-sitter REVERT: b0124ad7 0.6.2 REVERT: 3f6f7d0d Regenerate grammar REVERT: 1297e3c5 Don't count example files in language stats REVERT: b5859f49 0.6.1 REVERT: b1a88f55 Parse 1 example file from the TypeScript repo on CI REVERT: bdc672df Fix handling of JSX vs generic types ambiguity REVERT: be0c26d3 Merge pull request #55 from tree-sitter/jsx-fixes REVERT: 7e77ebb1 bump tree-sitter-js REVERT: b6a36c20 Fix tests REVERT: 5532ef1c Regenerate grammar REVERT: 253f96c2 0.6.0 REVERT: 5a8075b5 Regenerate with latest tree-sitter REVERT: 4a348daa Merge pull request #54 from tree-sitter/bump-tree-sitter REVERT: f33016cd 0.5.1 REVERT: fc03b695 Regenerate grammar REVERT: 463aa4e3 Bump javascript REVERT: fdb536a4 Regenerate grammar and bump tree-sitter-cli to 0.8.6 REVERT: 4e39083a Merge remote-tracking branch 'origin/master' into bump-tree-sitter REVERT: 6a0347f5 Add package-lock file REVERT: db95f8d1 Bump to 0.8.2 REVERT: 428e09a1 0.5.0 REVERT: 7e76db2d Update parser.h for new lexer API REVERT: a0c7bfe3 Include parser.h with angle brackets in external scanner REVERT: 0abbd3b2 0.4.4 REVERT: b14989c7 Regenerate with latest tree-sitter-javascript REVERT: ca8a5b96 0.4.3 REVERT: ee9104d7 Allow trailing commas in type args, type params REVERT: 54a778b4 0.4.2 REVERT: f5ba4b90 Add tests to npmignore REVERT: aa35640d Merge pull request #53 from tree-sitter/mb-flow-class-declarations REVERT: 6562506c Support flow's ambient class declarations w/ commas REVERT: 12ed64c5 Simplify class_body definition REVERT: 9f5c7fac 0.4.1 REVERT: 8cb04f53 Remove unnecessary inline qualifier REVERT: 429b295f Merge pull request #51 from tree-sitter/negative-numbers-in-literal-types REVERT: 74bd0cf4 Merge remote-tracking branch 'origin/master' into lookup-types REVERT: 076f5924 Alias _number to unary_expression REVERT: 30f3e4da Merge pull request #52 from tree-sitter/optional-abstract REVERT: b8978ca3 add test REVERT: c39b7764 abstract is allowed once before or after readonly, static is disjoint from abstract REVERT: 2aa67819 update test REVERT: 853aa9a7 allow negative and positively signed numbers in literal types REVERT: cdf5ad09 Merge pull request #50 from tree-sitter/lookup-types REVERT: 6774feab Merge remote-tracking branch 'origin/master' into lookup-types REVERT: e45546f7 Merge remote-tracking branch 'origin/master' into lookup-types REVERT: 4d41d60c Add test REVERT: 9c96c6cb Add a test REVERT: c25ee164 Merge pull request #49 from tree-sitter/reserved-identifiers-in-index-signatures REVERT: b92183a1 Allow reserved identifiers in index signatures REVERT: 8bb4039b Merge pull request #48 from tree-sitter/definition-precedence REVERT: 2ad008b5 Add test REVERT: 14c69cb1 Remove unneeded method definition precedence REVERT: 346c5c65 Merge pull request #47 from tree-sitter/bump-scanner REVERT: b39ed75c rename to typescript scanner REVERT: 2d3e74fa Bring scanner changes over from javascript REVERT: 7dbc6f9e Regenerate typescript grammar REVERT: f33ce15c Merge pull request #46 from tree-sitter/this-reserved-identifier REVERT: 697dbd2f Remove this from optional_parameter REVERT: bf9a9d57 add test REVERT: 83259f53 Allow this in parameters REVERT: edc853fc Allow this to be parameter REVERT: 0cf43d57 Merge pull request #45 from tree-sitter/abstract-method-signature REVERT: 4636bff0 Remove async and add optional ? to abstract_method_signature REVERT: bc7c4f94 Merge pull request #44 from tree-sitter/interface-extends-clause REVERT: d1c55f2e Add a test and collapse clauses REVERT: 3f228237 Allow extends clauses to contain comma-separated list of expressions or type references REVERT: b3bdbd77 Merge pull request #43 from tree-sitter/update-method-signature REVERT: cd6d59b2 add test REVERT: a4bccdb3 Allow ?, get, set, *, and async in method signatures REVERT: 37324d8a Merge pull request #42 from tree-sitter/optional-union-pipe REVERT: b716a370 Allow union types to have one field REVERT: 0be7492c Remove unecessary aliases since they aren't erased and add test REVERT: 8dc5dbb0 allow optional pipe in front of intersection and union REVERT: d2655a27 Regenerate grammar REVERT: ad195d55 Merge pull request #41 from tree-sitter/typescript-fixes REVERT: 68909cab Regenerate grammar REVERT: 15f1a071 regenerate grammar REVERT: c6ce9e19 Allow async arrow functions REVERT: d4bb48b0 Merge pull request #40 from tree-sitter/typescript-fixes REVERT: aacf795b Fix tests REVERT: 74dac141 Add default_type support REVERT: c289ee2d Allow parameters to have accessibility and readonly modifiers REVERT: c0a7f3c0 Add conflict between member expression and nested type identifier REVERT: 5ed0c199 trailing commas in formal parameters REVERT: a207b1c4 Allow abstract classes as declarations REVERT: 7c528f99 Bump parser for decorators in export statements REVERT: 72b9fe71 Merge pull request #39 from tree-sitter/decorators REVERT: e0fc4947 Merge remote-tracking branch 'origin/master' into decorators REVERT: ef8f151d Add decorators to method definitions, classes, property definitions, and parameters REVERT: daf13231 Merge pull request #38 from tree-sitter/reserved-identifier-in-required-parameters REVERT: 453b44cd Allow reserved identifiers in required parameters REVERT: 3f7c5ab6 update import declaration tests REVERT: 3832d5b7 Add import/export to reserved words REVERT: ac121c1a move import alias REVERT: b449ce32 Bump tree-sitter-javascript for visible computed property names REVERT: 5f142f55 Bump tree-sitter-javascript and regenerate parser REVERT: 37458efa Bump tree-sitter-javascript and regenerate parser REVERT: e575a5d8 bump tree-sitter-cli REVERT: ddff0d6b Fix handling of nested_identifier/member_expression ambiguity REVERT: c0f206ca 0.2.0 REVERT: 63cffbd8 Regenerate with latest tree-sitter REVERT: 37ff685f Merge pull request #37 from tree-sitter/optional-trailing-semicolons REVERT: 2fbb3523 Add optional trailing semicolons to method definitions REVERT: 98bb5eb9 Merge pull request #36 from tree-sitter/semicolon-after-method-definition REVERT: 57316324 Allow semicolons after method definitions REVERT: 78409917 Merge pull request #35 from tree-sitter/non-optional-statement-block REVERT: 1ab116d8 update corpus REVERT: 78871717 update the grammar REVERT: 8e3991ac wip - require a statement block in a method definition REVERT: 185ad4d1 Revert "Merge pull request #34 from tree-sitter/statement-block" REVERT: e4afe4ed Merge pull request #34 from tree-sitter/statement-block REVERT: e0799868 Statement block isn't optional in method definition REVERT: 03cfd03e Allow automatic semicolons to be inserted before comments REVERT: 36e0de4b Remove hidden `_parameter` rule REVERT: b1ecd5e7 Add appveyor badge to readme [skip ci] REVERT: 002b46fd Add appveyor.yml REVERT: 55d5b48c Merge pull request #32 from tree-sitter/new-expression-naming REVERT: cc837083 Update to reflect latest expression naming in tree-sitter-javascript REVERT: 6d44526e 0.1.0 REVERT: e5952a2e :arrow_up: tree-sitter-cli REVERT: 1d4fd56f Merge pull request #31 from tree-sitter/new-tree-sitter-api REVERT: 57f308b5 Bump tree-sitter-cli version REVERT: 2e1651e1 Rework naming of type identifiers, generic types REVERT: 9d73b7c5 Remove separate ambient versions of rules REVERT: fdfa10cf Update to use latest JS grammar, latest tree-sitter REVERT: af8b9373 Merge pull request #30 from tree-sitter/external-comma-scanner REVERT: a297c5c6 Update parser REVERT: b39ae42f Update tree-sitter-cli dependency version REVERT: aa0c4bb2 Migrate tests from gramamr_test/ to corpus/ REVERT: bdb321c3 Match comma in external scanner REVERT: 56d41bd9 Merge pull request #29 from tree-sitter/additional-updates REVERT: 7c313772 Update grammar to not swallow module reserved identifier REVERT: 3afca114 Merge pull request #28 from tree-sitter/fix-parse-errors REVERT: c0e57912 Update method_definition rule REVERT: f58099ec Add module to reserved identifier list; allow reserved identifiers for var declarations REVERT: 6e36ba7a :fire: unused rule REVERT: b2a02dac :fire: ambient method declaration, and add abstract method definition REVERT: 09c30d56 Function call is choice between arguments and template string REVERT: 6a1c9841 Add abstract class rule REVERT: db84fe0b Allow public, private, protected to be reserved identifiers; add precedence to accessibility modifier rule to prevent collision with reserved keyword REVERT: 9f3f561b Add type to reserved identifier list REVERT: c849b32b Add namespace to reserved identifier list REVERT: 742bd9db Add conflict for interface declaration and reserved identifier (interface is now added to reserved identifier list) REVERT: 69c8d123 :fire: unnecessary conflict REVERT: 092518c6 Add declare to the list of reserved identifiers REVERT: b6267a4c Allow for top level 'abstract' statements REVERT: 7846a59e Update 'async' to use 'reserved_identifier' rule REVERT: 71fc3dc5 Allow arrow functions to have parameter named 'async' REVERT: 27fd9fe5 Use JavaScript grammar's bitwise operator rule REVERT: cf087a9a Allow with statements in ambient module declarations REVERT: 687dffef Allow finally statements in ambient module declarations REVERT: 0e64f88a Support catch statements in ambient module declarations REVERT: ff43a7f1 Allow try statements in ambient module declarations REVERT: 580719bc Support throw statements in ambient module declarations REVERT: fe200516 Allow switch statements in ambient module declarations REVERT: c3491cfa Allow return statements in ambient module declarations REVERT: 48ca92a3 Fix number test REVERT: 7ca8f687 One statement to rule them all! REVERT: 710b4fbd Allow numbers in ambient module declarations REVERT: e804a9a8 Allow if statements in ambient module declarations REVERT: e49decda Allow for and for in statements in ambient module declarations REVERT: be4e0984 Match do while statements in ambient modules REVERT: b730dbb4 Match debugger statements in ambient modules REVERT: 0e24144d Allow ambient modules to contain continue statements REVERT: 30f345a9 Allow ambient modules to contain break statements REVERT: 0f3e6587 Allow ambiet module declarations with no module body REVERT: c43bd6a1 Extract common _module for module and internal_module rules REVERT: cdc55411 Allow internal modules (namespace) REVERT: c092cdf3 Fix unbalanced = REVERT: e36defd2 Allow import alias statements within modules REVERT: 591567a6 Allow as expressions with template strings REVERT: 4a335b02 Merge branch 'master' into fix-parse-errors REVERT: 8a6082ee Avoid creating spurious automatic semicolon tokens in module bodies REVERT: 2ebdfbdc Reflow parens REVERT: 1e068267 Allow type annotations with empty type parameter REVERT: d1aa2cc1 Add empty element for arrays REVERT: ea9e4e07 Add '>>>' bitwise operator REVERT: 91ae3839 Match typeof and member access involving module keyword REVERT: 2d63aa28 Add module typeof expression test REVERT: 5a8e66fd Add typeof expressions test REVERT: c7b81dfc Update tests for ambient function REVERT: a126058d Allow anonymous class assignments REVERT: 62289999 Match anonymous classes in typeof expressions REVERT: 0e38dcc3 :fire: unnecessary rules in typescript _expression REVERT: 29f7c7eb Update function rule REVERT: aaea5eb2 Update function_call REVERT: 874e3a52 Return ambient function definition REVERT: 7fa59f6d Add function_call to _expression REVERT: 322bd197 Add function rule to _expression; add type_op REVERT: 1c3ad037 Move super to _expression REVERT: e3ac709b Allow ambient module declarations to include A.B (_entity_name) REVERT: 2ddab1da :fire: ambient_function from tests REVERT: a3d1fd60 Remove ambient_function, use existing function rule REVERT: 6ed0accd Allow optional assignment for ambient variable declarations REVERT: 2de64b05 Add super member access test example REVERT: ad63f660 Accessibility modifier precedes everything REVERT: 1bad1feb Import aliases can be top level expression statements REVERT: 5626ef9b Allow exports of import aliases REVERT: 8b48005b Add get, set and splat properties for ambient method declarations REVERT: bee32e0f Update sequence order of 'abstract' keyword in public field definition REVERT: 083b5e18 Allow properties to be abstract REVERT: 0d9512d5 Add abstract class test with concrete and ambient method definitions REVERT: ccfaa65b Add optional abstract to ambient method declarations REVERT: a821a3ab Add optional abstract for method definitions REVERT: 0d2d8601 Style change REVERT: 541de002 Make precedent rules consistently capitalized REVERT: c3071ea4 Merge pull request #27 from tree-sitter/call-signatures REVERT: 4c6edbdc Add call signatures to generators and arrow functions REVERT: fc465ff3 Merge pull request #26 from tree-sitter/bump-tree-sitter REVERT: 57c23057 bump tree-sitter-cli REVERT: d1aeff7e Merge pull request #25 from tree-sitter/external-scanner REVERT: 62da7f1b Allow _automatic_semicolon after type_body REVERT: 13141979 Update tree-sitter to use external scanner REVERT: 0aac5865 pin to master js branch REVERT: 94425776 Merge pull request #24 from tree-sitter/index-type-query REVERT: 51d09173 bump to interpolation REVERT: 43aeaa7b Add type query and index type query tests REVERT: bc793fa2 Merge pull request #23 from tree-sitter/more-typescript-fixes REVERT: d9d9911d update package.json REVERT: 3f292330 Add abstract classes REVERT: b03bff31 Add global namespace declarations REVERT: cacd1621 Move modifiers out of propertyName REVERT: b51e6662 Add test for property_name_identifier REVERT: 18ab1f48 Move ambientDeclaration choice to a function REVERT: 69be8005 export interfaces in namespaces REVERT: aa31668d update tree-sitter-javascript REVERT: 4cdc02d9 Merge pull request #22 from tree-sitter/non-null-assertion-op REVERT: c348230f Regenerate parser.c REVERT: 133b9f60 Merge remote-tracking branch 'origin/master' into non-null-assertion-op REVERT: 2d9c2939 Merge pull request #21 from tree-sitter/import-require-clause REVERT: 9ab52bfc Merge pull request #20 from tree-sitter/function-call-arguments REVERT: 42766969 Merge pull request #19 from tree-sitter/ambient-type-declarations REVERT: a53a6762 Add non-null assertion op REVERT: b9bd1478 Add legacy import require clause REVERT: a6b25471 Add test REVERT: 802321e0 Add type arguments to function calls REVERT: 0ea34a0e Remove ambient_namespace_element from tests REVERT: f2bf42fd Add more ambient declarations to ambient_export_declaration REVERT: 0825056b add type alias declarations to namespace declarations REVERT: e0b0b56e Add ambient export function declarations REVERT: dc9f14b3 Hide entity_name REVERT: 2c0a040f Add support for as expressions and type assertions REVERT: 1974303c Allow accessibility modifiers as pair keys REVERT: e98f9e5b Make default keyword optional for ambient function exports REVERT: 88b9d4a4 Add ambient function declarations to modules REVERT: 61f5f0db Add support for ambient module declarations, newlines in interface declarations, and add a test for predefined types as identifiers in function types REVERT: c8c5149f Support ambient type alias declarations REVERT: f18d6967 Merge pull request #18 from tree-sitter/readonly-property-signatures REVERT: 75d5cfa0 Replace ambient_property_member with ambient_method_declaration REVERT: 415cbf61 Replace ambient_class with class REVERT: 503c2f9c update test REVERT: aaf6b0ef Move readonly out of accessibility modifier REVERT: c35e7cdd Merge remote-tracking branch 'origin/master' into readonly-property-signatures REVERT: 621cd1c4 Merge pull request #17 from tree-sitter/export-assignments REVERT: 7e72fafe update test REVERT: f5de2909 Update grammar REVERT: 5c5a195c Make accessibility_modifier noder visible REVERT: 9d540fd6 Add readonly property signatures REVERT: 0625232f Merge pull request #15 from tree-sitter/typeof REVERT: a6a0dc40 Add export assignments REVERT: ef2d1ab2 Merge remote-tracking branch 'origin/master' into typeof REVERT: e1913ded Merge pull request #16 from tree-sitter/crlf REVERT: 008da5e9 Add typeof types REVERT: 4e7e9fb1 regenerate grammar REVERT: ac90fec3 Update to crlf tokens REVERT: 3fec7039 Merge pull request #14 from tree-sitter/allow-predefined-types-as-identifiers REVERT: a0496449 Merge remote-tracking branch 'origin/master' into allow-predefined-types-as-identifiers REVERT: 8498267d update parser.c REVERT: 93eba61f Merge pull request #13 from tree-sitter/bump-tree-sitter-cli REVERT: cb59980b allow predefined types to be identifiers REVERT: 706cf7bf Regenerate parser.c REVERT: 470b459e Merge pull request #12 from tree-sitter/rest-tail-destructuring REVERT: 100c94cd rest-tail-destructuring is on master REVERT: 76d5bbf4 Bump tree-sitter-cli REVERT: 11ff0320 pin to rest-tail-destructuring branch REVERT: 0f1a034d Merge pull request #11 from tree-sitter/literal-types REVERT: a2f06d89 Add flow type parameter constraint syntax REVERT: 7daecf90 Replace optional_string_parameter and required_string_parameter with literal_type REVERT: a808160d Merge pull request #10 from tree-sitter/flow-exact-object-types REVERT: 2f53ea41 Add export default tests REVERT: 16b821fa Allow exporting arbitrary expressions REVERT: 84d5948c update grammar REVERT: 7ec82ab9 Merge remote-tracking branch 'origin/master' into flow-exact-object-types REVERT: dfe3b4d8 Merge pull request #9 from tree-sitter/ambient-declarations REVERT: 06919f92 Pin to master branch REVERT: 1ea9aeb1 Allow arbitrary expressions to be exported by default as well REVERT: c32c5dff Allow ambient classes and functions to be exported REVERT: 160fcd52 Add flow exact object types REVERT: b5837c53 Regenerate parser.c REVERT: c1fa6d44 Remove ambient_constructor REVERT: 31087571 Add ambient declarations tests REVERT: b3f08b72 Add a terminator after index_signature in _ambient_class_body_element REVERT: 65dc79a5 Add declarations.txt REVERT: 7916b71d Add ambient declarations REVERT: f5aa8387 Fix up tests REVERT: afbea3f1 Update grammar.json and parser.c REVERT: 9ee45240 Rename interface_extends_clause to extends_clause REVERT: 36953a22 Override class_heritage for implements clause REVERT: 6559d0e1 Add lexical_declaration to _declaration override REVERT: 879575dd Override variable_declarator for type annotations REVERT: 2f0d44c0 Add type_reference REVERT: be8a5290 Add an array_type, _type conflict instead REVERT: 5cc60e21 Specify right associativity in '_type' REVERT: cceba56e Remove existential types test REVERT: 39fde6df Merge pull request #7 from tree-sitter/this-and-existential-types REVERT: 7082228a Merge pull request #6 from tree-sitter/interface-declarations REVERT: 51325be0 Add this and existential types REVERT: a4b31a5a Add constructor types REVERT: 0abe28e7 Merge pull request #3 from tree-sitter/flow-import-type REVERT: 8dc4c1ac Merge pull request #2 from tree-sitter/flow-maybe-types REVERT: ae327871 Merge pull request #1 from tree-sitter/add-call-signature REVERT: ef44c294 Add support for interface-declarations REVERT: 193797c2 Add enum declarations REVERT: 46295a2a Add support for type alias declarations REVERT: de82cc22 Remove export override and add test REVERT: 27bdd004 Support import typeof statements REVERT: 8c31d029 Add import type statements REVERT: 5ec947cb Add optional type to import statements REVERT: 07527047 Add tests REVERT: 1c8ab7c7 Add flow maybe types REVERT: 80b8bdfc Bump tree-sitter-javascript to master REVERT: 784e4c25 Simplify type_member_list REVERT: 66834191 Add support for function types REVERT: 467e5a79 Add call_signature to parse parameters/parenthesized expressions with optional types REVERT: 0cb2f909 Add type annotations in parenthesized expressions REVERT: a26f7872 Move optional type annotations to variable_declarator REVERT: d6523a8e Fix tree-sitter-javascript require path REVERT: 93cc8a17 Remove benchmarks folder REVERT: 3a0d9420 Not sure how that got there REVERT: 4380c667 Fix license REVERT: 0247bc2b Add README REVERT: f8cce728 Add package.json REVERT: 2b89134a Override JS pattern instead of formal_parameter, add tests REVERT: 82dc36c8 Start work on typescript grammar that extends the JS one git-subtree-dir: vendor/tree-sitter-typescript git-subtree-split: ddf4b7795c06914255aad358bedce801c4e42021
BrianHicks
added a commit
that referenced
this issue
Jan 18, 2022
6c266a6e Merge pull request #71 from talbergs/main 7c06a648 fixed language ordering in build script a3af90d5 fixed coding style b5fb1943 Merge pull request #72 from BrianHicks/dependabot/cargo/clap-3.0.9 a4f0b547 Bump clap from 3.0.7 to 3.0.9 bec3fd87 Added PHP support to documentation. 3a0f91a0 Accept PHP test snap 4cb22367 Added PHP 3459f36f Merge commit '291c533dd976044ff7e411fdd43b123f57bb385e' as 'vendor/tree-sitter-php' 291c533d Squashed 'vendor/tree-sitter-php/' content from commit 57f8554 5ddc06ef Merge pull request #70 from BrianHicks/dependabot/cargo/serde_json-1.0.75 02691987 Bump serde_json from 1.0.74 to 1.0.75 4382f116 Merge pull request #69 from BrianHicks/dependabot/cargo/clap-3.0.7 eb0680a3 Bump clap from 3.0.6 to 3.0.7 63856a4b Merge pull request #68 from BrianHicks/dependabot/cargo/clap-3.0.6 625249b8 Bump clap from 3.0.5 to 3.0.6 92e2901f Merge pull request #67 from BrianHicks/dependabot/cargo/clap-3.0.5 b995a7ca Merge pull request #66 from BrianHicks/dependabot/cargo/insta-1.10.0 c11d4317 Bump clap from 3.0.4 to 3.0.5 ac011407 Bump insta from 1.9.0 to 1.10.0 21b7eca6 Merge pull request #65 from BrianHicks/dependabot/cargo/clap-3.0.4 5745df8e Bump clap from 3.0.1 to 3.0.4 11805f50 Merge pull request #64 from BrianHicks/dependabot/cargo/clap-3.0.1 4bef2a5b Bump clap from 3.0.0 to 3.0.1 8fe818ee Merge pull request #63 from BrianHicks/dependabot/cargo/serde-1.0.133 9dec8abf Bump serde from 1.0.132 to 1.0.133 ee915ff9 Merge pull request #62 from BrianHicks/dependabot/cargo/clap-3.0.0 fa1be5c8 Merge pull request #61 from BrianHicks/dependabot/cargo/serde_json-1.0.74 9bfd9031 Bump clap from 3.0.0-rc.11 to 3.0.0 1f724b39 Bump serde_json from 1.0.73 to 1.0.74 9fc7b839 Merge pull request #59 from BrianHicks/dependabot/cargo/clap-3.0.0-rc.11 f163068f Merge pull request #60 from BrianHicks/dependabot/cargo/tree-sitter-0.20.2 52a0bc63 Bump tree-sitter from 0.20.1 to 0.20.2 1f601bea Bump clap from 3.0.0-rc.9 to 3.0.0-rc.11 73009384 Merge pull request #58 from BrianHicks/dependabot/cargo/clap-3.0.0-rc.9 d2641be2 Bump clap from 3.0.0-rc.7 to 3.0.0-rc.9 c73bf223 Merge pull request #57 from BrianHicks/dependabot/cargo/insta-1.9.0 2e3a546e Merge pull request #56 from BrianHicks/dependabot/cargo/anyhow-1.0.52 6f97c386 Bump insta from 1.8.0 to 1.9.0 0197a2b8 Bump anyhow from 1.0.51 to 1.0.52 c03607a5 update version to 2.2.0 b57b87e7 Merge pull request #55 from BrianHicks/updates b2648e63 how did this get undone? it is a mystery. 639220b3 update vendored tree-sitter-typescript 0703f617 Squashed 'vendor/tree-sitter-typescript/' changes from 111b0776..ddf4b779 6e76b2a1 update vendored tree-sitter-rust d865c3ec Squashed 'vendor/tree-sitter-rust/' changes from e06d078a..d045b04b 75b28f9e update vendored tree-sitter-ruby 80c2df97 Squashed 'vendor/tree-sitter-ruby/' changes from 888e2e56..ddf4b779 16dc5510 update vendored tree-sitter-elm 6a0a0fda Squashed 'vendor/tree-sitter-elm/' changes from 7ef899b..15d1278 4c8ceaa3 tree-sitter-elixir uses main as the main branch 365819b3 update changelog ddf4b779 :robot: 704757a5 add a mode to print language names a6af59f1 update to clap 3.0.0-rc.7 2d730c55 :art: e2a4f797 update dependencies a84ebd63 Merge pull request #54 from jesse-c/add-elixir 13550bee sort language names alphabetically c9e2bf61 sort language names alphabetically bae95a11 generate snapshot for Elixir ed29063c use "elixir" for the matcher name a7ad0dae update to the latest nixpkgs 073bb613 use flake if possible 04a40bbc Add Elixir b69f4879 Merge commit 'b24d8fbd96b9f8966cb725eda06f8b8aadf2c3a0' as 'vendor/tree-sitter-elixir' b24d8fbd Squashed 'vendor/tree-sitter-elixir/' content from commit 1b3ecf7 4aa939d3 Merge pull request #53 from BrianHicks/dependabot/cargo/serde-1.0.132 e7bce9d9 Bump serde from 1.0.131 to 1.0.132 b44c6f7c Merge pull request #52 from BrianHicks/dependabot/cargo/serde_json-1.0.73 ea2f0b03 Bump serde_json from 1.0.72 to 1.0.73 2eb49d27 Merge pull request #51 from BrianHicks/dependabot/cargo/serde-1.0.131 5d888045 Bump serde from 1.0.130 to 1.0.131 434fe3c4 log C++ support f623ea7d Merge pull request #50 from BrianHicks/release-2.1.0 ff7a2415 Merge pull request #49 from BrianHicks/warn-less bec8a20f add changelog b0a7f3cb bump to 2.1.0 331be63a Merge pull request #48 from BrianHicks/update-deps b7222c1b turn off warnings in all external code b9283545 update snapshot test for Ruby a4e4a011 Squashed 'vendor/tree-sitter-typescript/' changes from d598c967..111b0776 f3955190 update vendored tree-sitter-typescript c7e8db3d Squashed 'vendor/tree-sitter-rust/' changes from a360da0a..e06d078a a3fb50a7 update vendored tree-sitter-rust 4086f63a Squashed 'vendor/tree-sitter-ruby/' changes from 391269d7..888e2e56 faae5f53 update vendored tree-sitter-ruby 04ed6b3a update vendored tree-sitter-javascript 4fa020ca Squashed 'vendor/tree-sitter-javascript/' changes from 6ec8014d..fdeb68ac e1079ebc update vendored tree-sitter-haskell 2425a253 Squashed 'vendor/tree-sitter-haskell/' changes from 30eea3c1..d72f2e42 8da8e598 Squashed 'vendor/tree-sitter-elm/' changes from d32d4436..7ef899bf cfb97800 update vendored tree-sitter-elm 8cb70b93 make this less repetitious f09440a3 add better messages when updating subtrees 5f93f1f6 update Nix sources 85a1bbf7 Merge pull request #47 from BrianHicks/json-lines 3dfe5b87 Merge pull request #39 from BrianHicks/dependabot/cargo/tree-sitter-0.20.1 e9701551 :art: 168c4b1d update snapshot tests with new version of tree-sitter ac65e2a2 add a test for json lines output 5ed4cf04 add a json-lines format 5f3c2128 silence warnings we can't do anything about 32e8c798 Bump tree-sitter from 0.20.0 to 0.20.1 e163378f Merge pull request #32 from BrianHicks/dependabot/cargo/cc-1.0.72 7bcaab93 Bump cc from 1.0.71 to 1.0.72 f260502a Merge pull request #41 from BrianHicks/dependabot/cargo/serde_json-1.0.72 3a54ff92 Bump serde_json from 1.0.68 to 1.0.72 2c2973dd Merge pull request #46 from ymarco/main 175c6ce0 revise instructions for adding languages dac33d60 Merge pull request #38 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-16 053cd524 Merge pull request #43 from BrianHicks/dependabot/cargo/anyhow-1.0.51 25d69b69 Merge pull request #44 from BrianHicks/dependabot/cargo/itertools-0.10.3 f4dfbccf Merge pull request #45 from ymarco/main 95ec6bfd Add cpp support d91b16fc Merge commit 'b337e3879c8a5bccfed0e73deeb8cb8d0e2955bc' as 'vendor/tree-sitter-cpp' b337e387 Squashed 'vendor/tree-sitter-cpp/' content from commit e8dcc9d 36b38729 Bump itertools from 0.10.1 to 0.10.3 276838b1 Bump anyhow from 1.0.44 to 1.0.51 c109b99f Bump cachix/install-nix-action from 15 to 16 a6353bd7 add cachix instructions 8a2cf06a Merge pull request #33 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-15 9b99283c Bump cachix/install-nix-action from 14 to 15 93b331a2 fix errors 4d06d6c8 update nixpkgs 4a14fd58 Merge pull request #25 from BrianHicks/link-post 1ff98888 link the intro blog post ff03ad78 Merge pull request #24 from BrianHicks/dependabot/cargo/cc-1.0.71 9361ceee Bump cc from 1.0.70 to 1.0.71 42c82446 bump to 2.0.6 66e00e18 Merge pull request #21 from BrianHicks/walk-fs-parallel 733d7719 make the names better cf470e20 walk the filesystem in parallel aee3d2f5 extract a case on language to language cf198588 Merge pull request #20 from BrianHicks/dependabot/cargo/serde_json-1.0.68 69011a86 Bump serde_json from 1.0.67 to 1.0.68 f20261bd Merge pull request #19 from BrianHicks/dependabot/cargo/insta-1.8.0 084bab2c Merge pull request #18 from BrianHicks/dependabot/cargo/anyhow-1.0.44 c8941245 Bump insta from 1.7.2 to 1.8.0 e7ce985d Bump anyhow from 1.0.43 to 1.0.44 19ffc654 Merge pull request #17 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-14 ed29eb51 Bump cachix/install-nix-action from 13 to 14 2ee278a1 whoops, update the lock file too ea1165ba bump to 2.0.5 da151619 Merge pull request #16 from BrianHicks/update-flakes 773f624d Merge pull request #15 from BrianHicks/dependabot/cargo/tree-sitter-0.20.0 65bb361c update flake versions 692f1b20 fix compilation error for tree-sitter 0.20.0 5221469d Bump tree-sitter from 0.19.5 to 0.20.0 7b473ea2 Merge pull request #14 from BrianHicks/piping-into-things c70bca97 bump to 2.0.4 38edcf68 pull in this thing cargo snuck in? 92bf2228 don't exit error for a broken pipe 32f79b91 Merge pull request #12 from BrianHicks/dependabot/cargo/serde-1.0.130 a1f881bc Merge pull request #13 from BrianHicks/dependabot/cargo/cc-1.0.70 cf3aaa2a Bump serde from 1.0.129 to 1.0.130 e9b9a909 Merge pull request #10 from BrianHicks/dependabot/cargo/serde_json-1.0.67 f551813a Bump cc from 1.0.69 to 1.0.70 12203fad Bump serde_json from 1.0.66 to 1.0.67 0a74dbbb Merge pull request #9 from BrianHicks/dependabot 14e3fafc set up dependabot for Cargo updates 7e8b9f5b bump to 2.0.3 476013ef Merge pull request #8 from BrianHicks/fix-off-by-one 5b05e113 fix off-by-one in outputs 25e4e716 add an overlay for tree-grepper 5ee1612b Merge pull request #7 from BrianHicks/macos-builds 64fcd917 remove separate clippy check 879c5d50 darwin inputs are needed in the shell too 00ea0855 fix formatting in build.rs e72d1ada nixfmt on the flake 11ff38ff I don't think we need these auth tokens for the no-push steps e18350af add separate clippy and rustfmt checks 54525477 document why these build values 0642bb6d be specific about which macOS builds I want 6698ce93 add macos builds 4b4449f6 Merge pull request #6 from BrianHicks/flake c7eec637 remove the niv sources 265b612f add --no-gitignore to TS tests aecd7122 only look in examples for Rust cfdd6551 add --no-gitignore to Ruby tests 1de05bf7 add --no-gitignore to JS tests fc2653e6 add --no-gitignore to Haskell tests 3a084b77 look in examples for elm tests e02b1260 try using nixpkgs-unstable cf1f9ed8 upgrade deps 7687f57a move the dev dependencies into the flake 8cc29918 use flake-compat for default.nix and shell.nix 4cb6ddb7 move default.nix to flake 6768fc30 initialize a flake from the naersk template df7ee96f bump to 2.0.2 af9a9ee5 Merge pull request #5 from BrianHicks/anonymous-matches-in-clauses ec8625f2 remove unnecessary format! call 38443b16 fix up the README to talk about ignored matches f712869a clarify the cases we care about for names 7f94e9b5 make underscore-ignored matches still work in conditions 4a25a366 separate parsing and make filename optional d020ab59 Merge pull request #4 from BrianHicks/2.0.1 bf186bcd update a couple deps 90a98333 bump to 2.0.1 19128c54 Merge pull request #3 from BrianHicks/filetype 0ef2cc1f update snapshots ed96a40f add file type to JSON output 8fbe8dd5 clap errors include a newline 8ca4f8e7 document squashing 0f735d87 Merge pull request #2 from BrianHicks/buffering b61233aa buffer output (seems to be something like a 20% speedup?!) 89d18733 Merge pull request #1 from BrianHicks/ci 0998b10c move clippy into the default build 166dbaee use sorting in the tests ed122bb2 add the option to sort the output 6e8096b9 use our pkgs instead of gitignore's pinned pkgs 4d1cb041 update sources 56929f8e add GitHub actions CI 77fb7196 turn on checks as part of the build f42dc059 upgrade deps a01aa580 Squashed 'vendor/tree-sitter-typescript/' content from commit d598c967 f13b0ec2 Merge commit 'a01aa58053f8f6ff5bc321566009908f85c93e6d' as 'vendor/tree-sitter-typescript' 5908d609 Squashed 'vendor/tree-sitter-rust/' content from commit a360da0a ccbb0e69 Merge commit '5908d6099fbf4b58b84cc8c93226cd66224c581d' as 'vendor/tree-sitter-rust' 8ec19ffa Squashed 'vendor/tree-sitter-ruby/' content from commit 391269d7 963564ec Merge commit '8ec19ffa34b7db4b1e56a4164e6a7b1cdebbf1b9' as 'vendor/tree-sitter-ruby' 7e526483 Squashed 'vendor/tree-sitter-javascript/' content from commit 6ec8014d 401f03e9 Merge commit '7e526483722b97493b104d301d0e948a31c5a716' as 'vendor/tree-sitter-javascript' 94888ba5 Squashed 'vendor/tree-sitter-haskell/' content from commit 30eea3c1 b7f8bacf Merge commit '94888ba58c8f3b50492033c1ce51a07ca12cd485' as 'vendor/tree-sitter-haskell' d093a07f Squashed 'vendor/tree-sitter-elm/' content from commit d32d4436 18c232b2 Merge commit 'd093a07f5b3c006f0fe702759485b1fb3397078f' as 'vendor/tree-sitter-elm' 644aefea use --squash in all the updates da18ae59 add cargo-edit 689cef25 remove the tree-grepper cargo wrapper c6a20300 document the update command bc6f5d5e redo update script to use subtrees dbae9dc5 update snapshots with new acceptable diffs 0f6fdd56 no more submodules! 6292ca4f revise instructions for adding new languages 3fdf0c16 remove submodules ea9ca37e test TypeScript 66264955 correct language name for typescript 067241f5 string names should be upper-case 2ed9a0a2 test all Rust nodes c643089c test all Ruby nodes bbf5a352 test javascript output deb81fab fix clippy warnings c74ef4d5 fix using the wrong language name in matcher 8597f478 match all Haskell nodes 702c4ec3 match all Elm nodes 48ed3076 add a test for pretty JSON f1d0b9cb test (un-pretty) JSON output 94b99aa4 add our first snapshot test! 1c0bb54b make args a parameter as well (and handle failures nicely) 459f45fa make try_main take a sink 172ff2c7 add a JSON pretty-printer to output 507a584f add insta for testing 43905464 update README 9e1bb159 re-add the rest of the lanaguages 2f23ff4e use upper-case meta var, per convention 4b35d73e list languages 34f41d1a replace this TODO with an explanation 36691923 nah, this is fine 6e3f8090 remove the 1.0.0 branch f4b26cda borrow instead of cloning the name 90530133 this just won't be called if there are no matchers 20125bed get rid of the other thing we used language for d0d20f56 only call language.language() once 2b55e972 add a match name if none is provided fdd4707e proactively disable underscored captures 063e1ed8 precalculate which items to keep or drop 641a6717 remove names that start with _ 62c049dc use a global allocator 894750af clean up imports 0469f7d1 get rid of the custom wrapper 2e1ef80a rearrange fields to match definition 7e63b5a8 write JSON output 931b4694 add format argument to the opts 68f0913e don't put extra blank lines between match lines 3199981b actually format things! 1e181f44 refine error message for parse failures 408870a2 only print files with matches 05e8adc1 capture captures 10b85bea extract more information to the match e8508063 extract to a sub-struct 566e6ef6 initialize the parser per-batch fe00e50f extract matches! 🎉 82a2586a 🎨 26040d45 add a note for later 9a83408a capture stuff in the query dd051a73 parse a tree f2414a17 read source to string 418fce04 only use one implementation 107d4f2a 🎨 edc26eb7 implement SingleChoice d4ee16bf be more precise in this error message 1a6f2e30 finish doing our matching fbaf17e1 return a borrow ad0b402d clean up clippy warnings e896f1e8 wire up the matchers fe995613 print some stuff af29e39d start pulling out an extractor fb1ef123 finish out the sketch of matching c5e1c50b separate the code into stages 4933e9d9 do filetype match filtering myself cbb2a8ba figure out which matcher we want 64de569a stop reading for now 119c120c combine queries 33219dd1 make parsing queries a lot more readable 560af235 keep the entry around 86544786 read sources 0f63e508 print entry paths for debug's sake e8307a08 match filetypes f94185b1 add an option to avoid doing gitignore 2581302b a little more info for PATHS 71b6897c create a filesystem walker from the opts f1f51e2c add paths to the opts bd07a7a6 make error message a little nicer 3fce4d4b move queries to a separate method fe4c05a2 move parsing to a new module 08789bb6 friendly up the error messages a little more 765b20d9 add a few nice tests 7fb99cbe parse queries d481d2d2 oh boy this sure is some parsing work huh b189ce6f add Rust to Language bf592a76 use ignore to walk directories b03d21a7 unwrap the path results 66d64048 parse a language from the command line b4242659 make error nicer 4a3f67b4 add a basic Language implementation 1f53c7cc introduce parallelism 5ecf145f walk the filesystem bd52fdae add an extremely basic CLI interface 3fd5f547 move the 1.0.0 source into a separate directory 62cfa89a call it 1.0.0 facc9c36 add Typescript support 197bda1a update roadmap 0a0dee82 add hippocratic license 29b957d8 update cargo deps 129caa48 update sources 56745c74 update parsers 181d75a4 update cargo deps 565976fe move back to main.rs now that there's only one binary 33e7fce7 remove tree-grepper-dump c61d12eb print node kinds in the JSON output cdf01e3f downgrade to avoid a broken version 84d8862d update cargo deps 52bb9216 update submodules f37fe4de turn off warning logspam when building vendored tree-sitter parsers 988957e1 update submodules f686f3e7 add a script to udpate submodules 1f007817 add rust 7d5eb9a7 add Haskell support to tree-grepper 17e8dac9 add libiconv dependency 3765aae3 update package versions f55e55eb use submodules instead of subtrees 6b6722a6 remove subtrees 7b1bd2a7 fix file matcher 055330b2 add JavaScript support e6c6e3fc use a char instead of a string? thanks, clippy? 9a93afbf Merge commit 'd5621bb8035de6d9d21bcbff84efc2a2df3a474a' into main d5621bb8 Squashed 'vendor/tree-sitter-ruby/' changes from 5021a6a6..1fa06a9e 03bb233c Merge commit 'ea3bf266d0776dc2e3fe757a202bdbf45221b97a' into main ea3bf266 Squashed 'vendor/tree-sitter-elm/' changes from 06a8ff7c..117dcf4c dae91b20 update languages in the subtrees 8814dc45 Merge commit '16a05dabe26c20c98c83474365ac0aedc18b06a4' as 'vendor/tree-sitter-javascript' 16a05dab Squashed 'vendor/tree-sitter-javascript/' content from commit 1eee0d3f 01d0d46a don't output names that begin with underscores 37729b9b group captures in JSON output 6b7124bf remove dead Point code 6904801f update cargo deps 500ac238 update sources b20fc892 pass the language so I can actually query Ruby stuff 2480b090 add wrapper scripts to make running exploration commands easier 1d423444 enable predicate matching by returning text correctly a30fa194 make tree-grepper-dump work with multiple languages too 020a3399 talk about forwards-compatibility in the docstring 9c351d28 parse ruby files cbde19c3 Squashed 'vendor/tree-sitter-elm/' changes from 4da453fe..06a8ff7c 74089398 Merge commit 'cbde19c3d59ddfb7622d252f55306997d250c335' into main ee77aa3c compile tree-sitter-ruby 9d1c9bba Squashed 'vendor/tree-sitter-ruby/' content from commit 5021a6a6 d32a27f0 Merge commit '9d1c9bbaa226627f94f3a527d3eb671aad8732c0' as 'vendor/tree-sitter-ruby' b7c1d570 add a --language flag 4922e69b take care of clippy warnings a969df5a add more TODOs 7f1edd11 move name after row and column 7aa9c54c update crates 2f06a87c update sources 8c8dadc2 fix another off-by-one b3476981 fix off-by-one error ef592f10 add the minimum possible s-expression dumper 7a010a3f move to the bin directory to start separating stuff for multiple binaries 97f3c338 update cargo dependencies addbca55 update sources 62ab05b4 update TODOs 36850479 add match names to output 5c5900a2 add real JSON output a4ca8e8a add a formatter for doing nice formatting things 66c28852 rename VisitorBuilder to Gatherer d1a539ee use channels to extract our data back out again 840b517f move the walking behavior to a visitor pattern 58c26334 accept different kinds of formats 90af002a handle the paths a little more gracefully 0b907e66 only initialize query once f30ff20c fix stuff from clippy aa7edd0d make writing queries a little nicer f19f9d5a put JSON output higher 5c5e8788 add the rest of the filter flags I wanted ce15ef80 add ignore files b927160f add max_filesize a9bdaaff call builder methods in the same order config fields are defined 2effce68 tiny grammar fix a949f664 add some quick benchmarks 1d5c2c78 update binary name in README 4883dd0c print what the output actually is f87f3626 mark the first step as done b69d9d21 match on queries 67e4eb0c parse each file to a tree-sitter tree 3f608d43 don't use a library for handling errors... just exit 7ae2521b print out the files we're walking decf63eb add TODO for later d2e81a39 only match Elm files bb21f4de grab the parser and query 04e300f1 walk the directories recursively and in parallel ee7246ab minor refactor while I'm thinking of it 92c14f5a walk using ripgrep's walker instead dc279d88 walk the provided directories 0b98224f add roadmap stuff about non-Elm languages, as if those exist psh 82301841 update cc to 1.0.62 to get the better error message 1738512f parse command-line opts 18da50af load the tree sitter grammar 2c4090ce set up error handling harness 3cd59bb6 meta changey thing. Maybe not fine, but seems to work? 43076450 add xcbuild to get around cc errors 1dae29b1 add tree-sitter dependencies f83049cf add script to update subtrees properly a31185d7 Squashed 'vendor/tree-sitter-elm/' content from commit 4da453f 634ef430 Merge commit 'a31185d78586a84ea284673b023597a1c071f768' as 'vendor/tree-sitter-elm' eaebe868 add README 36bb1a5a make nix-build do what I want 4afd5132 cargo init 345a0414 nixify REVERT: d72f2e42 skip initial whitespace instead of consuming it (#48) REVERT: 6668085e allow % before closing parenthesis :see_no_evil: REVERT: e4b0a016 allow % before closing parenthesis REVERT: 717c8174 allow % before closing parenthesis REVERT: 3a4bd97a support LinearTypes REVERT: 701e6194 Fix logic error in comment parser REVERT: bf7d643b fix(macos): latest brew symlink gcc-11 in readme. (#46) REVERT: acafd11d fix infinite advancing on open quasiquote (#45) REVERT: f219f42b add missing target for a test case REVERT: 5a0c996b permit qualified varids for quasiquoters REVERT: bcd55577 mention `clang++` in readme REVERT: c3561027 add nvim config snippet for installation from source REVERT: 30eea3c1 support TransformListComp REVERT: dbd0f710 allow empty quasiquotes REVERT: bc85d747 give some advice about gcc in macos REVERT: 9a43d061 handle quasiquote bodies that start with operator chars correctly REVERT: 9c1fd425 skip newlines in the scanner REVERT: a0c1adb5 Improve Haskell highlight queries (#40) REVERT: 5d9b8c39 mention how to set a compiler for nvim-treesitter REVERT: 237f4eb4 run GA on PRs REVERT: adbbb9e9 Merge pull request #38 from lunixbochs/master REVERT: d3fde2bd add <string> and <iterator> includes for MSVC REVERT: 004f2709 support UnboxedSums REVERT: 79a458bf mark NondecreasingIndentation as unsupported REVERT: 40b0c2f5 support EmptyDataDeriving REVERT: cabdfb7a support CApiFFI, GHCForeignImportPrim REVERT: 0e627dd3 support HexFloatLiterals REVERT: 72202d75 support InterruptibleFFI REVERT: d985c3d7 support StandaloneKindSignatures REVERT: ffc08f68 support UnliftedNewtypes REVERT: 8509d754 make extension list bulleted REVERT: 5a5efb1e add list of supported extensions REVERT: 2e33ffa3 set cli version in devDependencies to 0.19.4 REVERT: 8d63249b warn about version requirements REVERT: 381dca04 remove nonexisting rules from `inline` REVERT: 1b00b9fb test for line numbers REVERT: ea3a3f80 bump tree-sitter REVERT: 26d3daa5 Fix badge. REVERT: 24cf84ff add HLS to the corpus REVERT: b2fd1ce9 support all newline types REVERT: 08ca1429 use `uint32_t` instead of char everywhere in the scanner REVERT: a9ab7ae1 support OverloadedLabels REVERT: 73951ead parse `in` in the scanner to disambiguate an edge case REVERT: 9d4c21c3 allow TH in types REVERT: 43daff83 unboxed tuples in types REVERT: 86ff8fa0 allow parenthesized operators as patterns REVERT: 7488c97b quasiquotes in patterns REVERT: e810fef7 splices in patterns REVERT: 7e345c6b allow double dollars for splices REVERT: fabc78c8 allow signatures on funpats REVERT: b4877cac allow double-parenthesized constraints REVERT: ec7d856f allow type operators in imports REVERT: 16e179f4 allow `else` to end a layout REVERT: 2a316163 require whitespace after `!` to use it as operator REVERT: 92515ac2 allow vertical bars to terminate layouts REVERT: b1133d51 fix bug in layout initialization if the first token starts with `m` REVERT: e6334c95 relax the requirement for pattern signatures REVERT: 8673182b end layouts when the next line begins with an operator on leq indent REVERT: 79f8250c magic hash for literals REVERT: d81e5507 pattern type signature REVERT: e10d8cc5 trailing comma for imports REVERT: 02b00de7 add unboxed tuples REVERT: 388ab1b0 add type roles REVERT: 5b62941a allow type equations in classes REVERT: 3db166a4 consume all newlines before parsing cpp REVERT: 97150c20 add semantic to the corpus REVERT: 907592de allow view patterns in record field patterns REVERT: 4190572e allow implicit parameters in type aliases REVERT: ad94a794 infix type family equation REVERT: 5826a39e NamedFieldPuns for expressions REVERT: f847b920 use unicode class for whitespace REVERT: 7fb3e57c `deriving via` for instances REVERT: 6471180d improve operators REVERT: 5bd57dac allow qualified class in deriving clauses REVERT: 8266e0f6 small fix REVERT: 09356fc4 support arbitrarily nested foralls/contexts REVERT: 4314c842 support consym in simpletype REVERT: f88d3cf4 add polysemy to the example corpus REVERT: 4297762d support for QualifiedDo REVERT: 9e4d84e2 better naming for pattern synonyms REVERT: 3f1bff2c disallow space in escaped character literal REVERT: a1fa2185 relax rule for chars REVERT: 5d2bfee6 tweak naming of modids REVERT: 001369f0 improve naming of con nodes REVERT: 3cae5914 fix simpletype to support operators REVERT: ecc80ee6 rename constrs to constructors REVERT: 5d5b61f0 fix unicode handling in scanner REVERT: 9f0b1a39 fix regression about minus operator REVERT: 3b2ea9f1 ban minus from right sections REVERT: 6b067dda newtype gadts REVERT: 3479ce69 add missing BlockArguments expressions REVERT: 9f266275 test for nested comment REVERT: 98444460 fix small regression REVERT: da071bf8 fix tree-sitter config object in package.json REVERT: c37c68e7 Run GH actions CI on every branch REVERT: eafe236f Replace travis badge with GH actions badge in README REVERT: 267da702 rewrite the grammar (#29) REVERT: 2a0aa1cb Merge pull request #20 from tree-sitter/indent-stack-crash REVERT: 7e914449 0.13.0 REVERT: 25387f44 :arrow_up: tree-sitter-cli (new ABI version) REVERT: 98c90316 Add example repos to gitignore REVERT: 59d929cd Parse 'ʹ' as a char literal REVERT: d58d4ccb Add pattern_guard rule REVERT: c4ae83cc Treat as a variable symbol for guard expressions REVERT: 3a548f07 Regenerate using tree-sitter-cli v 12.7 REVERT: e2f4fc5f Allow special guard pattern to be parsed as an infix operator application REVERT: b7e8e4ea Update constructor rules to use regex REVERT: 28d0d533 Remove comment REVERT: c24fc531 Merge branch 'master' of github.com:tree-sitter/tree-sitter-haskell REVERT: 9f752d7b Refactor quasi_quotation REVERT: 60de1ae0 :arrow_up: tree-sitter-cli, add explicit word token REVERT: ef49e9ca Add examples directory REVERT: eb4c2523 Do not alias _import -> import / hidden_import REVERT: e12758e7 Separate scoped type variables from contexts REVERT: c2d0c78d Name type constructor export rather than alias REVERT: ee1ff6c1 Check for empty indent stack REVERT: 33f07f66 Fix bug in scanner, :tophat: @philipturnbull REVERT: 2be101d5 Check in grammar REVERT: 570efdd2 Add script/parse-examples to package.json REVERT: 6e0607a7 Update pattern synonym REVERT: 6530bc40 Add parse-examples script REVERT: 5d6e648a Fix scanner layout bug REVERT: 0dd2a618 Parse CPP directives as an `extra` REVERT: e9e43967 Fix quasi-quote parse bug REVERT: c5915bbc Fix parsing problems involving pragmas, multi-line comments, and comments REVERT: 41deb048 Corrects flaw in variable_operator that allowed in some cases to match against `--` (empty comment) REVERT: 3e1b2112 Consuming the newline at the end of a `--` comment in some conditions creates invalid parse states. REVERT: d5b82014 Shuffle equality constraint, and allow for quoted names in context class position REVERT: 167e273e Revert pragma parsing -- treat pragmas as an extra REVERT: 4953b0a5 Fix problem with where layout edge case REVERT: 2f17c31b Remove C++ -- this is not stable REVERT: 22375358 Support contexts like `((Y a b) :< c)` REVERT: 456db068 Specify scoped type variables and context for individual data constructors REVERT: cd198a9b Change promoted_type_constructor -> quoted_name REVERT: 8d2ceb9b Add support for XLambdaCase REVERT: 11a89a59 Support annotated type variables in function declarations REVERT: a1580e3a Allow for pragmas in gadt constructors REVERT: dad63e88 Support package qualified imports REVERT: 43e70c20 Allow for additional where (prior to terminating an existing statement) REVERT: a76c3909 Allow for zero or more options within ghc options pragma REVERT: 604540a1 Remove unneeded precedence REVERT: b1c5911d Generalize annotation pragma type synonym REVERT: 39d846fc Add dynamic precedence to annotated_type_variable to favor type signature (over kind signature) REVERT: f3d20ab7 Update scoped type variables to use type_pattern REVERT: 2efdb5ca Add cpp extra REVERT: 18cfbe1a Re-enable individual pragma parsing REVERT: 35ba1424 Further disambiguate between scoped type variables and contexts REVERT: ce2e90e4 Add test for `module A` exports REVERT: 89cae2ea Better handling for contexts appearing within scoped type variables REVERT: ef670662 Allow type synonym declarations with parenthesized type patterns REVERT: fa0de74d Support primitive constructor and variable identifiers in import declarations REVERT: 7f407d6c Support type constructors in export lists REVERT: fe701b0e Correctly handle `-` in problematic positions REVERT: 7854487a Beef up variable_symbol regex patterns REVERT: 24c754dc Choice over _type and infix_operator_pattern in class REVERT: a98b3e3b Re-enable top level function application (for template haskell) REVERT: 3d061719 Add precedence for type class instance declaration REVERT: 7c8f7ce1 Clean up of conflicts REVERT: bfdb8c6c Allow contexts for algebraic datatype constructors REVERT: e82fc6f3 Capture trailing newline with comma regex REVERT: 7ee0d736 Allow empty comment REVERT: 4fb708b7 Add exhuastive tests for type class instance declarations REVERT: 97973523 Allow for repetitions of atype for non traditional class contexts REVERT: 175092b7 Allow instances whose class is a promoted variable REVERT: d8f7416a Unify context with type_pattern REVERT: 00c44e82 Update constructor symbol to use regexes REVERT: 65bf61b8 Convert variable symbol production to regex choices REVERT: e21eeccb Add back equality constraints REVERT: 10b37008 Simplify and restrict variable / constructor symbols REVERT: d3efec4e Merge pull request #15 from tree-sitter/restrict-operator-definition REVERT: ad4083d5 Don't allow '=' to be parsed as an operator REVERT: 0746128e Add scoped type variables to GADT declarations REVERT: 648070bb Allow scoped type variables for type class instance declarations REVERT: c316e04b Allow scoped type variables within algebraic datatype declarations REVERT: b1248a06 Support strict types in more syntaxes REVERT: bb9c178c Support constructor and type operators within parenthesized type patterns REVERT: e88e7f32 :fire: the instance production and :fire: all the (related) conflicts REVERT: 7d58ef78 Checkin grammar REVERT: 1cd39ad9 Support type constructor operators as gadt constructors REVERT: 49e15233 Support kind signatures for GADT declarations REVERT: 37546dac Support implicit parameter contexts and identifiers REVERT: c11c335a Use type_pattern for simple_type REVERT: e338e9a0 Allow multiple functional dependencies REVERT: 7940c09e Support trailing commas in module export lists REVERT: b48e6143 Support functional dependencies REVERT: 6cbaef93 Add associativity to _general_type_constructor REVERT: f9adf87b Add associativity to constructor_pattern REVERT: 5564b876 Add repeat for general_type_constructor REVERT: 1aa9971e Remove list_instance and tuple_instance; combine with list_type and tuple_type REVERT: f2e0736b Add associativity to algebraic datatype declaration production REVERT: 183ad7b7 Add precedence to data constructor and instance REVERT: 3264c925 Add _pattern precedence REVERT: 11f68387 Save a conflict with atype REVERT: d0f04158 :fire: conflicts REVERT: 8a446e56 Prevent conflict with atype REVERT: 07d4b6d3 Rename infix_type_operator_application -> infix_type_operator_pattern REVERT: 935ce7f4 Split promoted production into two: promoted type constructor and promoted type operator REVERT: 5343503f Small tweaks REVERT: c5c00140 Add instance test case REVERT: 149fe1bc Removes equality constraint production REVERT: 3722ff4c Move production rule REVERT: 851f0548 Collapse scontext and context together REVERT: 2776b991 Move type family declarations from top level to regular declaration REVERT: f06ed212 :fire: conflicts, reflowing, commenting pragmas REVERT: eba39f34 Allow parenthesized type patterns to contain scoped type variables and contexts REVERT: 17351d52 Allow tupling / list constructors in instances REVERT: 18f51d1f Allow mixed types within kind signatures REVERT: ce7bf090 Support ',' as a char literal REVERT: ac535d42 Label each expression within a list or tuple expression REVERT: 4d28b85c Support list, tuple and unit constructor within class contexts REVERT: 4f6902df Allow promoted constructors within class REVERT: 944cf710 Add more support for type / kind signatures REVERT: 85114834 Move pragmas corpus examples to corpus-extras REVERT: 67f914bc Add pragma as an extra REVERT: e0a44f60 Use type class identifier for parenthesized contexts REVERT: f3d147d9 Checkin grammar.json and parser REVERT: aedd5bca Allow kind signatures in type class declarations REVERT: dd7bcc6c Update class to always use type class identifier REVERT: 31288e58 Checkin grammar.json REVERT: a9d363c3 Grammar updates REVERT: 82a38b96 Add PREC constant for easier identification REVERT: 2376eb22 Type instance declarations can occur within class declarations REVERT: b70bf39d Adds choice rule for qualified type class identifier REVERT: 8f2fabdf Refactor pragma rules REVERT: f86b2031 Remove top level function application REVERT: b2b75415 Add type instance declarations REVERT: 75d2f6d4 :fire: conflicts REVERT: 4b688c78 Tokenize strings REVERT: 89a22938 Add associativity REVERT: 3d59f38a Optional where REVERT: 18fefac9 Add multi-line string test case REVERT: fa4ea97e Add additional promoted type synonym test REVERT: 6363c7f2 Add promoted to _general_constructor group REVERT: 4e2f7c68 Allow parenthesized_type within simple_types REVERT: 52f75a60 Allow for expressions in the body of type synonym declarations REVERT: 284c613d Add view patterns REVERT: 5896eae2 Support where blocks within do blocks REVERT: 6b300046 Make function_application only available in top level declaration (for template haskell) REVERT: d4867898 Merge pull request #13 from tree-sitter/initialize-indent-length-stack REVERT: 6886fd51 Simplify initialization logic REVERT: d0f26ea8 Add comment vs pragma test REVERT: 68e721d9 Check for `--` comment in initialization REVERT: 1ac43541 Guard against accessing indent length stack before intialization REVERT: 8f4ed20f Parse a blank file REVERT: 96b0522e Add additional layout related function declaration tests REVERT: 446ba54c Add additional pragma tests REVERT: 7678186a Fix regex pattern and add additional tests REVERT: 6d1e202e Perform an additional check for closing a layout block REVERT: 8ebf211b Update layout open brace scanner logic REVERT: 9e971e7f Fix comment check REVERT: d48c29e6 Correct size check REVERT: 6b881fcd Add initialize indent length support REVERT: 29cc49d6 wip REVERT: 270fa138 Add type class instance declaration tricky case REVERT: d462fb08 Type class instance declarations have optional where REVERT: 4d9c58b3 Perform check for terminating ')' for parenthesized expression after mark-end REVERT: fb4f3bdc Allow where clause at alternative level of a case expression REVERT: 2fbb2416 Add parenthesized_context production REVERT: c04fd4d3 Add `|` to constructor operator symbols REVERT: b2319cd3 Support fields within GADTs REVERT: 575dd3ef Add support for GADTs REVERT: 7e36277c Allow scoped type variables in type synonyms REVERT: 9db6abda Add support for primitive constructors REVERT: bb0ce0cd Remove conflict REVERT: 9f4a114c Simplify funlhs and add strict pattern REVERT: 8955f43f Surround function guards with function body REVERT: e4afee44 Add test case for pragma within field declaration REVERT: 603c68a7 Allow pragmas in field declarations REVERT: 861c9687 Add type constructor operator pattern REVERT: ba0afd65 Support operators within parenthesized type productions REVERT: 6a90839b Allow for empty labeled patterns REVERT: a01769ff Group by constructor pattern when possible for funlhs productions REVERT: ee947f9d Remove associativity on _a_pattern production REVERT: 7e99b5f7 Parse type families REVERT: 708f1cc7 Allow parenthesized expressions in type applications REVERT: 351d5daa Rework char production as single regex REVERT: 259cb6f1 Check in grammar REVERT: 4847e752 Support splices REVERT: f2083c84 Guard where we pop the stack REVERT: 15865c84 Allow repetitions of case guard patterns REVERT: 7758c2db Check in grammar REVERT: 68a82501 Add annotation pragma REVERT: 8f0c0e5a Allow parenthesized patterns within contexts REVERT: 4519fe32 Allow for single constructor class constraints REVERT: 0fa35772 Match against `|` in variable operators REVERT: 640ce1cd Support type signatures with multiple contexts REVERT: 654f4b5e Allow type synonym declarations to have contexts REVERT: 4356fb54 Add file_header_pragma choice group REVERT: 8d430fdf Update choice for file-header pragmas REVERT: 7019d19d Allow more flexible regex for OPTIONS_GHC pragma REVERT: 1af1f870 Add annotated type variable production for type class declarations REVERT: 2aee8483 Support default signatures in type class declarations REVERT: cd12b57f Allow equality constraints within type class instance declaration contexts REVERT: 69b1b5a9 Allow for partially applied infix operator applications REVERT: 1ec2018c Revise parenthesized_type_constructor to more general form REVERT: 3a31a3ce Add check for closing parenthesized expression REVERT: 0943c262 Support list type and tuple type in simple class productions REVERT: ff5cd97c Support qualified constructor operators REVERT: 816d3dd2 Allow nested parenthesized type constructors REVERT: 549e154b Add handling for i edge case REVERT: 5372fdcc Add more general support for promoted constructors REVERT: c976770e Allow for scontexts with multiple type constructors REVERT: c3b8cb1d Add test cases for record wild cards, named field puns, and mixed field patterns REVERT: 8bd89694 Add record wild cards REVERT: bfbc7c6c Add named field puns REVERT: 5e868c31 Add qualified constructor composition test cases REVERT: c02fbd92 Check in parser REVERT: b9a52cb4 Merge branch 'master' of github.com:tree-sitter/tree-sitter-haskell REVERT: ef115e2c Add composition with qualified names tests REVERT: dc5325a0 Add type application tests REVERT: 4810b4e3 Add todo for resolving ambiguity REVERT: 46ca930f Support type applications REVERT: 4958196f Move constructor pattern from lpat to a_pattern REVERT: 35ff68bc Add prec to class, simplify qualified constructor identifier REVERT: 8ee32e18 More cleanup REVERT: bdf5eb80 Review qualified constructor operator REVERT: f2323ddc Review qualified constructor identifier REVERT: 20468dab Review qualified variable identifier REVERT: da226d46 Simplify qualified type class identifier REVERT: 386da901 Revise qualified type constructor identifier REVERT: 7578dbb0 Revise conflicts REVERT: e0fe174d Remove _a_pattern associativity REVERT: 69bcbab3 Add external qualified module dot symbol REVERT: 0e715439 Revise qualified module identifier REVERT: b0064310 0.11.0 REVERT: 5493c880 :arrow_up: tree-sitter-cli REVERT: fdaea4c9 Test for errant condition when we serialize the scanner REVERT: a3094a53 Take care for -> and pop the stack if something has been pushed onto the stack REVERT: 30821261 Only pop the indenth length stack when layout closing symbols are valid REVERT: dea9bd73 Check for end of file for isolated sequences REVERT: 4f384c7f Better disambiguate equality constraint lhs vs rhs REVERT: 8e2d5fa6 Make equality constraints more general REVERT: 92dbca68 Support equality constraints REVERT: 762b0024 Scoped type variables come before contexts REVERT: 1c7c4b97 Format for consistency REVERT: ee5aa206 Add lambda_head production REVERT: bd0c5638 We don't need to do this operation (we can fall through to the while) REVERT: 35835afb Add isolated_sequence helper function REVERT: 4523f7ae Support nested let expressions REVERT: 5a11ea8c Ignore test repos for now REVERT: c3349887 Update scanner watch to also run tests REVERT: 84a4e215 Add _statement REVERT: 5ce1e610 Refactor to _statements REVERT: d4fc8dd4 Re-add conflict REVERT: ed2c905c Organize conflicts REVERT: d342910a Disambiguate conflict between type variable identifiers from variable identifiers REVERT: c359adb4 Update associativity for top level declarations because of optional terminal REVERT: 4cf09ec8 Semicolon is optional in last position REVERT: f5ab36ba Use terminal production REVERT: 676d03cc Support promoted constructors within simple contexts REVERT: e5cc05e2 Rename parenthesized_instance -> parenthesized_type_constructor REVERT: 9586f67d Support kind signatures REVERT: 70610ede Support type level operators and promoted constructors REVERT: 28db8e0a Remove indirection REVERT: cb272f28 FIx type exports and add test case REVERT: f460ef18 Support stand alone deriving instances REVERT: 702ecc8b Updating names to protect the innocent REVERT: 560de24c Support multi param type class instances REVERT: b7b88f86 Allow for type keyword in module export lists REVERT: 0e4b591e Support multi param type classes REVERT: 2cafab61 Add rules pragma REVERT: 03c1396a Add overlapping, overlappable, overlaps, and incoherent pragmas REVERT: f2421461 Support pattern synonyms and complete pragma REVERT: d4a231d6 Add no-unpack pragma REVERT: 36970b3b Add unpack pragma REVERT: 2383ea0c Support SPECIALIZE instance pragmas REVERT: 19922ac9 Trailing declaration within `{...}` does not require terminating semicolon REVERT: 61a3d1bc Not seperated by commas REVERT: 4c37977d Support SPECIALIZE NOLINE / INLINE pragmas REVERT: 9374a6ae Add line pragma REVERT: bd037384 Add optional CONLIKE support REVERT: dfcb64ba Add inlinable pragma REVERT: 85ccb348 Add minimal pragma REVERT: 98ceb6a9 Add scoped type variable example for multiple variables REVERT: b47cf95c Support lists of strings in deprecrated and warning pragmas REVERT: c050c834 Support scoped type variables REVERT: b47fda6c Separate type signature tests from function declarations REVERT: 3351ec7d Support UK alternate spelling for specialize pragma REVERT: fcfab6ee Add line pragma REVERT: 6335f01e Support phase control for inline and noinline pragmas REVERT: 212837be Add deprecated pragma REVERT: 7233eef2 Add warning pragma REVERT: eb872b2b Add include pragma REVERT: e85285b2 Add support pragmas REVERT: fc2bbb38 Add support for OPTIONS_GHC pragmas REVERT: 795e5d25 Add additional quasi quote example; update regex REVERT: 8e5d4764 Add qualified infix operator test REVERT: 79d9fd35 Reflow test REVERT: 3baa6243 Update left and right operator sections to use qualified operators REVERT: b181e515 Add qualified infix constructor identifier REVERT: 41230f9c Add qualified infix variable operator production REVERT: bda11f1d Add ~ variable symbol REVERT: 81fb54af Add support for quasi quotation and tests REVERT: baa724cb Add missing symbols REVERT: 0cee8b16 :fire: unnecessary inline REVERT: 44d4f14f Add '>>=' and '=<<' bind pattern examples REVERT: 424b0267 Move production REVERT: b1499ed5 Update variable symbols to include `=` for `=<<` REVERT: 50d9b707 Add missing symbols for character symbols REVERT: 7d41f28e :fire: unused productions REVERT: f462cac5 Add lambda examples with infix operator applications REVERT: 33839cae Update operator section productions to be more specific REVERT: a1c0324f :fire: function_body associativity REVERT: 5944ca31 Change infix operator application associativity and add expression associativity REVERT: bba5c380 Inline expressions for labeled_update (subtly different from labeled construction and removes a conflict) REVERT: a126d2b4 :fire: redundant production from list comprehensions REVERT: 4be4ec6a Introduce _type_pattern REVERT: a6b4f7e5 Necessary conflicts for now REVERT: b497a239 Remove conflicts REVERT: c2696d00 Remove lambda_head production REVERT: 9ad3593e Relax regex for multi-line comments REVERT: 568d75da Add tests for language pragmas REVERT: 730a13d1 Add inline, no-inline, and specialization pragma tests REVERT: f10a328e Update comment regex to exclude pragmas REVERT: be07fc87 Update queued closed brace count upon first detecting layout close condition REVERT: 67a8297c Tighten up scanner's check for comment REVERT: f0548457 Update spec for specialization pragmas to include function types REVERT: 8251ee0a Match strings REVERT: 1d3db143 Correct do statement (allow empty do block {}) REVERT: a5323adc Add pragma group to declarations REVERT: 315d839d Add inline pragma REVERT: b705b77e Add no inline pragma REVERT: 0a7d82fd Add specialization pragma REVERT: f15fec88 Add language pragma support REVERT: 0e878ce1 Add constructor pattern rule REVERT: d39fb28c Add left associativity to infix operator application REVERT: 750f2ab6 Update tests for variable / constructor operator REVERT: c1b46cdc Better define variable and constructor operators REVERT: 00fb2023 :fire: space REVERT: dc5c1b7d Rework grammar REVERT: 2100329c Add WIP not to README REVERT: 96b7dc0a Add _general_declaration production REVERT: 7287afd8 Remove unnecessary conflicts REVERT: 33a7e33b Repeat choice of variable symbols REVERT: 8e953853 Allow for multiple type identifiers in field declarations REVERT: 0c1a9e7f Add splat to variable symbols REVERT: 514857b8 Check in parser REVERT: 052437b5 Reinforce sequence of variable symbols to not conflict with constructor symbols REVERT: b377e7e3 Allow ':' as an extra variable symbol (when not in first position) REVERT: a7693ab5 :fire: qualified variable and qualified variable symbol productions REVERT: d5eea7fe Add parenthesized constructor symbol production REVERT: 3c473d9d Allow constructor symbols in import specs REVERT: c3c2224d :fire: qualified type constructor production REVERT: 0cd7c173 Newline REVERT: 3b80521f Improve import alias options REVERT: 2ea88456 Parse field updates REVERT: 92e21c24 Remove function declaration with field update test case for now REVERT: 049212d3 Remove let from statement REVERT: edd0519a Let grammar related changes also corrected this tree REVERT: 1b4b0147 Add additional test case for function declarations with `let` REVERT: cdbd8797 Watch scanner changes and only node-gyp build REVERT: 01ee480b Detect `in` in let productions REVERT: 0fe1f72b Correct error in let production REVERT: e85ecd26 :fire: unnecessary precedence REVERT: 1c16f3c9 Parse right operator sections REVERT: 34250598 Parse left operator sections REVERT: 21da1c0b Parse let declarations within do blocks REVERT: 4d77ffbe Allow function application within do blocks REVERT: d14a2079 Add function declaration with guards test REVERT: 93dc7c56 Add function guard parse support REVERT: 4505f681 Add otherwise production REVERT: ba839de3 :fire: unused code REVERT: e2079f81 Add case tests REVERT: 8cd6195f Add alternatives for case statements REVERT: b319566a Add wildcard to constructed values REVERT: 6556deb7 Add guards REVERT: a8672bdd Add case statements REVERT: 77f9f187 Parse let bindings with and without `{..}` REVERT: cbf338a5 Add conflict for function application and expression REVERT: 5b36f319 Parse let expressions REVERT: d874955a Restrict layout semicolon when curly braces are used REVERT: d03e1372 Add multie function declaration where clause REVERT: e5b9e0c5 Add function application with list comprehension test case REVERT: f7078df3 Add arithmetic sequence / list comprehension example REVERT: 3a8e5a87 Add list / tuple generator list comprehension test example REVERT: 33f5d238 Add list comprehension test with two generators REVERT: a296327d Add simple list comprehension test REVERT: 8d6a4964 Update list_comprehension precedence REVERT: 81797edb Add list comprehensions REVERT: 026a58ce Fix bugs in external scanner REVERT: 7ef7648a Update patterns for npm watch REVERT: 4e9b02ed 0.0.2 REVERT: acadaa2f Bump to tree-sitter-cli 0.9 REVERT: d522e96a Add support for arithmetic sequences REVERT: e4542bd0 Update float literal rule REVERT: 82a171ee Add unit example REVERT: 349c7517 Produce a single parenthesized expression node REVERT: eef56a9c Identify the function identifier REVERT: 89ef4490 Check in parser REVERT: 3721d19a Update difference between parenthesized and parenthesized_expression REVERT: 9df30a6f Revise conflicts REVERT: f7a13e12 Update if statement to also choice on layout semicolon REVERT: 5feca06a Update name REVERT: 9184bd37 Update expression rule REVERT: da48048a Update statement REVERT: 3489ef04 Use type constructor alias rule REVERT: 98e0ea78 Extract lhs group REVERT: 6707b31f Use terminal rule REVERT: a0b10543 Back to :green_heart: REVERT: feb0c004 Subdivide constructor into hidden rules REVERT: 94447b5c Add conflicts REVERT: 9b72e1bd Add function_application REVERT: 069adc16 Add layout_expression REVERT: dd2e6d21 Remove _empty from _expression REVERT: 8e83b3dd Add 1 precedence to irrefutable REVERT: bf771fe6 Update function_body to not include '=' REVERT: bbe21073 Add nested if statement tests REVERT: 7102d5d9 Add conflicts for function head, expression, statement and tuple REVERT: 91adebee Add right associativity to algebraic datatypes REVERT: d8518b1c Use statement as the default rule for if statement clauses REVERT: 4790252f Remove left associativity from if statements REVERT: 93b0e400 Parenthesized should contain statements REVERT: 82ba9caf Function body should repeat statements (which include expressions) REVERT: 8c10ab36 Update parenthesized_expression name REVERT: 0fcf6657 Add right associativity to imports REVERT: ed45f7d3 Add optional empty for if statements REVERT: 6f8f2385 Update condition name REVERT: f9bc53bb Add statements corpus REVERT: 4edd73ee Add conflict for expression and function_head REVERT: 928c3f9a Make statement a choice REVERT: 720e5d84 Add right precedence to function body REVERT: 3fe681aa Remove _identifier and _literal from top level declaration REVERT: 9ccdac09 Add if_statement REVERT: 918e494c Add empty rule REVERT: ce51f1c0 Add variable symbol and qualified variable symbol to _variable REVERT: be0dc65a Allow variable symbols to match against `(<=)` operators REVERT: 61727989 Adds conflict between variable and extra variable symbols REVERT: 0a687dc4 Simplify where rule REVERT: b1cb47ce Add higher precedence to negative literal rule REVERT: 03b15290 Add extra variable symbol (isolates '=' from the stock variable symbols) REVERT: ddcd641d Add higher precedence to strict modifier REVERT: 0572529f Add function_identifier rule REVERT: ee9479dd Add type class declaration with multiple operators tests REVERT: b7f8fdf8 Removes right associativity for declarations REVERT: 8886922c Removes left associativity for function head productions REVERT: c8731fb2 Use optional in list productions REVERT: fafde53b Make declarations optional in where productions REVERT: e6d6daec Rebuild grammar when external scanner changes REVERT: 8e12ad6d Add where to expression REVERT: 4a7d2009 Update type class instance declaration tests REVERT: 705634f8 Update test class declaration tests REVERT: 42bdef80 Update module declaration tests REVERT: ecbffa1b Update import declaration tests REVERT: 86d6039b Update function declarations REVERT: a828826f Update foreign declaration tests REVERT: 1e292e82 Update declaration tests REVERT: c693801e Remove conflicts :tada: REVERT: fec3c555 Use updated _type rule REVERT: 493b0a6c One constructor rule to rule them all REVERT: 73e9ecb3 Add literals and primary literals REVERT: 231a643f Use expression in place of type REVERT: 7947018b Add precedence to context REVERT: c7563229 Remove parenthesized constructor REVERT: c0d80f1d Remove type rule in favor of constructor REVERT: 81c6afd3 Use function identifier alias REVERT: 570d88d5 Use identifier rule REVERT: 2157cc35 Add binary rule REVERT: 74af71e9 Add as, wildcard, parenthesized expression, irrefutable and identifier rules to expression REVERT: d47e3525 Update label to field label REVERT: bea3982b Rename as pattern; use expression REVERT: f890111a Remove pattern REVERT: 80a570c4 Remove parenthesized pattern REVERT: 0f4a7d2b Remove list pattern REVERT: 43645472 Add parenthesized expression REVERT: ab04bd0f Use expression in place of function pattern REVERT: c92da62b Rename irrefutable REVERT: b69f1909 Remove function pattern and label pattern REVERT: f6837630 Update field labels REVERT: 37607b47 Use expression for function body REVERT: 9ca3efb0 Use expression rule for function head REVERT: 13319cbb Add named qualified node for imports REVERT: 460e3adf Add import alias REVERT: 688b3c76 Add hidden import specification REVERT: 5bbfc683 Remove unnecessary constraint REVERT: e89ff4de :fire: simple_type and general_constructor REVERT: 9ee26bbb Remove general_constructor REVERT: d570e166 Update tests to use constructor REVERT: d7930e21 Check in parser REVERT: 4c70eec5 Add conflict for constructor and label REVERT: 84604f05 Use constructor in the type class instance rule REVERT: c79a7fbe Use constructor in the type class rule REVERT: 8b57f313 Replace simple type with constructor in algebraic datatype REVERT: dd6b315b Update type synonym to use constructor (remove simple type) REVERT: 3028af39 Add left precedence to constructor REVERT: b4d4bca6 Replace class with constructor REVERT: 5f3ded66 Remove class rule REVERT: 6ad34f44 Update newtype tests REVERT: e626f3d8 Temporarily add conflict for constructor identifier and type constructor rules REVERT: cef9bf84 Add prec to labels REVERT: ff25ae7c Replace new_constructor with constructor REVERT: 2845030b Update constructor rule to be general constructor production REVERT: ffc316d6 Update tests with label_pattern REVERT: ec51f3c3 Add label_pattern REVERT: 4697b4f5 Add where rule REVERT: d45bbcde Remove general_declarations, resolve to a single declarations rule REVERT: 0818ab16 Remove expression from top level declaration; add literals REVERT: 0851ed3c Add nested tuple / irrefutable pattern test case REVERT: 1cb12a16 Add negative literal test case to irrefutable pattern tests REVERT: 52b0a7c1 Add simple irrefutable pattern rule and test REVERT: 0c37f30a Add additional test case for list destructured parenthesized patterns REVERT: 8e6d7a41 Allow arbitrary nesting of list destructuring for parenthesized patterns REVERT: 19cd135e Add list parenthesized pattern test case REVERT: 8293a863 Add list pattern for function declarations REVERT: e92264a6 Add negative literal example for tuple pattern test case REVERT: e1f0c67a Add parenthesized pattern example within tuple pattern test case REVERT: edae54c1 Reflow rule REVERT: 2f436c7c Add another tuple pattern case REVERT: 6146cfde Add conflict between simple_type and general_constructor REVERT: 65daf8c4 Allow general constructors to include literals REVERT: 0717b88f Update general constructor to have higher precedence REVERT: 2af90653 :fire: unused rules REVERT: dc0ebedc Add tuple pattern REVERT: 9fb28f00 Add list constructor to function patterns REVERT: 113f2c24 Allow general constructors in a function body REVERT: d7451ef4 Make variable and constructor symbols have right precedence REVERT: f0b9a070 Give as_pattern right precedence REVERT: 134a7ff2 Give general constructors right precedence REVERT: 9eeae1c6 Make _pattern have right precedence REVERT: 32e6f047 Parse parenthesized patterns with list contstructor REVERT: 108829d6 Extract _pattern REVERT: 9c3bdad4 Add constructor operator test within parenthesized expressions REVERT: b1b3d09f Add parenthesized pattern tests REVERT: 60b8b406 Switch to _variable_symbol REVERT: f876d1b9 Remove _symbol REVERT: 6e55012a Reflow special characters REVERT: f9c267ce Specialize constructor and variable symbols REVERT: 9995d8d6 Simplify variable and constructor symbols REVERT: c6fde48e Add parenthesized_pattern REVERT: e0242ca5 Remove duplicate line REVERT: dc874b0a Remove precedence on function_pattern REVERT: c29d06ef :nail_care: REVERT: 5c5d9fad Add as_pattern in function declarations REVERT: bfb93fad Remove unnecessary repeat REVERT: ba4d5e98 Add symbol group REVERT: 6d1e97f8 Add function declaration test for simple constructors REVERT: 1ebba943 Parse function declarations with multiple labels REVERT: 015ca334 Remove redundant test REVERT: ac69f9a5 Update type class instance declarations tests REVERT: 81c54579 Update type class declarations tests REVERT: be755c31 Update function declarations tests REVERT: 424d6fc6 Update foreign declarations tests REVERT: bb9d6073 Update expressions tests REVERT: 3b140096 Update general declaration tests REVERT: e8a1eae0 Check in the parser REVERT: 591cb10b Add conflicts REVERT: 617b51e7 Parse functions with labels REVERT: d53cf68e Update function_rhs -> function_body REVERT: d4614958 Update function_lhs -> function_head REVERT: 2bb675e5 Add identifier to top level declarations REVERT: d228fa64 Rename abstract_pattern to function_pattern REVERT: 3eb96209 Rename function_binding to function_declaration REVERT: aa3b78bd Add labels and label rule REVERT: b4b84b0a Use type rule REVERT: c54912eb Rename and enhance variable group REVERT: 85561341 Add generic type constructor group REVERT: 799fb7e8 Replace function_type with generic type rule REVERT: 20a02e82 Add named rules for tuple, list and parenthesized constructor REVERT: b8d1d1b0 Add unit, list, function and tupling constructors REVERT: 7f5efcc3 Remove module identifier from general list of identifiers REVERT: a4896a3d Remove list, tuple and function type constructors from constructor pattern REVERT: 16e34172 Add left precedence for constructor_identifier REVERT: 8a3e416f Remove TODO (fixed) REVERT: 27404265 Add _type_constructors rule REVERT: 99ff53ee Update qualified type constructor REVERT: 59bb0afa Update import declaration tests REVERT: ccfb6846 Remove choice REVERT: 76d42d1e Add qualified_variable_symbol REVERT: 745adee6 Add qualified_variable_identifier REVERT: 727e05d5 Seperate variable / constructor regex from their named rules REVERT: e7bf2207 Function binding is a top level declaration REVERT: 4e8056b9 Specify module identifier for imports REVERT: 05da12da Parse literals as function parameters REVERT: 40762648 Parse _ (wildcard) in function parameters REVERT: 64e9e56b Seperate test case REVERT: bc48c036 Parse a@(Just a) style function parameters REVERT: 6b7df1af Add named function_lhs and function_rhs nodes REVERT: 8dd33afe Rename function -> function_binding REVERT: 7b115521 Don't include type signature as part of a function declaration REVERT: cec91ee9 Add beginnings of function parsing REVERT: a011f2ac Add npm-watch configuration REVERT: d1ea5d80 Use type_variable alias for function type variable identifiers REVERT: 01d73d80 No repeat for name of function in type signature REVERT: f5b7e401 Add left precedence for constructor symbol REVERT: 24dac459 Add right precedence for variable symbol REVERT: b673e59c Add right precedence for simple_type REVERT: fd5d191a :nail_care: collapse to one line REVERT: ba8061b7 Use general_declaration rule REVERT: a4227824 Update type class instance declaration tests REVERT: 39acdf4b Update type class declaration tests REVERT: 8f409f28 Add foreign export declarations REVERT: 85171d6a Add foreigin imports with safety REVERT: 3f632fce Add simple foreign import declarations REVERT: 945f61f2 Parse default declarations REVERT: 06b51076 Merge pull request #1 from tree-sitter/layout-rules REVERT: fae431c5 Merge branch 'master' into layout-rules REVERT: 34f34d0a Update type class tests REVERT: bec9509e Add prec for simple_type REVERT: 5c656dfb Add prec for identifier REVERT: ea66eb5e Update function_type REVERT: 271b9902 Update type_signature to use repeat instead of repeat1 REVERT: cf343dc5 Remove trailing comma REVERT: 9e33a813 Add general_declarations REVERT: 8b3eecea Update remaining tests REVERT: 5220531b Update algebraic datatypes with variables tests REVERT: 05ab9085 Update algebraic datatypes with variables tests REVERT: 021ad91b Update newtype with deriving tests REVERT: 8bceeb73 Update newtype tests REVERT: acae1164 Update type synonym tests REVERT: e477d4c9 Move fields definition REVERT: fad3e4df Add missing declarations for module declarations tests REVERT: 41f98c92 Update module_body -> declarations REVERT: 507df0bc :arrow_up: tree-sitter-cli REVERT: 5158f7b8 Remove trailing commas REVERT: 6dc38fa6 Make module declaration optional, update some tests REVERT: 3fead3bb Start work on handling layout REVERT: 585ec965 Add rule for instance declarations REVERT: 765c25b1 Add comment for type class instance bodies REVERT: 46b64780 Parse type class instances with bodies REVERT: 525cd76e Parse type class instances with contexts REVERT: 89556d71 Move type class declarations tests to their own file REVERT: 67ee7ae0 Parse simple type class instances REVERT: 1dc06f18 :fire: class from reserved identifiers REVERT: e7396cd1 :fire: instance from reserved keywords REVERT: 511f9976 Support contexts for newtype declarations REVERT: 28848fd7 Update fixity test REVERT: 50d3369b Parse constructor symbols in fixity declarations REVERT: 9013ad6b Parse variable operator fixity declarations REVERT: 6a7745e3 Remove fixity related keywords from reserved identifier list REVERT: 9ecd087d Parse type class declarations with bodies REVERT: 64b94ca3 Handle `a -> b -> c` type signatures with `_type` REVERT: a0c85b5d Parse contexts of the form `Show (a b)` REVERT: 4fc527c4 Test type class declaration contexts with multiple constraints REVERT: 4c5ab7ea Parse type class declaration contexts REVERT: 8f10992e Parse multi-param type classes REVERT: 0ff53e53 Remove precedent REVERT: 3a0a0caa Parse simple type class declarations REVERT: caa3f53d Simplify constructor identifier regex REVERT: 9ef9de87 :fire: comments REVERT: be1ef91f Parse `(->)` as the function constructor REVERT: 3c3642f1 Parse `(,,)` as multi-arity tuple constructor REVERT: bb66d81a Parse `(,)` as a tuple constructor REVERT: e6ede03b Parse `()` as the unit type constructor REVERT: 20b5b050 :nail_care: space REVERT: 9378f8f1 Temporarily remove identifier from top level statement REVERT: 9fd7d9b4 Parse multiple classes within a single context REVERT: 42f8deca Parse multiple mixed strict and non-strict type variables in data constructors REVERT: 4b16fb30 Parse multiple type variables for data constructors REVERT: 80e79610 Parse simple contexts for algebraic datatypes REVERT: f7a2d851 :fire: 'deriving' from reserved identifiers REVERT: c79efa73 Parse newtype declarations with deriving instances REVERT: f01c892b Parse deriving instances for algebraic datatypes REVERT: 6e557531 Rename import_declaration -> import REVERT: dabe3971 Rename export_declaration -> export REVERT: 9ba79f2f Rename module_export_declarations -> module_exports REVERT: e653c22b Alias type constructors and type variables REVERT: 83465750 Remove reserved_identifier from identifiers list REVERT: 6bc04fb1 Parse data constructors with strict type variables REVERT: 6e85cd2c Parse strict fields for data constructors REVERT: fd77859b Test multiple constructors with fields REVERT: ef461fba Test datatypes with multiple simple constructors REVERT: 05979933 Add `constructor` node to AST REVERT: a969bb3a Test datatype with multiple fields containing mix of multiple type variables and single type variable REVERT: a0402b0a Test datatype with multiple single fields REVERT: 206cf523 :fire: unnecessary precedent for comments REVERT: aa59eb66 Parse fields as individual field nodes REVERT: ea7805be Test datatypes whose constructor's record field contains multiple type variables REVERT: 470e3f8f Parse datatypes whose constructor contains a record field REVERT: 8c4eed87 Rename labeled_fields -> fields REVERT: db9abf42 Test datatype without explicit constructors REVERT: 78f3b0c7 Parse simple algebraic datatypes REVERT: 4118a148 Parse labeled fields within newtype declarations REVERT: 569b207b Relax newtype identifier constraints REVERT: d74a7f50 Parse newtypes whose rhs is `Foo { unFoo :: Bar }` REVERT: d1caab3b Parse newtypes whose rhs are two constructor identifiers, or constructor and variable identifier REVERT: 088b862f :fire: `newtype` from reserved identifiers REVERT: 3c2d8fb9 Parse newtypes REVERT: 276c7851 Bump parser REVERT: 1bf64d7a Update type synonym to use simple type REVERT: f24d1944 Parse `[]` constructor REVERT: 24563ec0 Parse simple types REVERT: f81131eb Rename type_statement -> type_synonym REVERT: d14bebc4 Add top level declaration rule REVERT: 94d64325 :fire: 'type' keyword from reserved_identifiers REVERT: 8aaedcee Parse simple type statements REVERT: 7469d495 Move module and import declarations into individual test files REVERT: a23c3a02 Test qualified imports with hiding and 'as' REVERT: befad23e :nail_care: for accuracy REVERT: 806a602b Test qualified import without 'as' with non-empty import specification REVERT: 2002229a Test qualified import with alias and empty import specification REVERT: 117e8e22 Test qualified import with empty import specification REVERT: 2222b39b Test empty import specification REVERT: 94be6232 Test import declaration with 'as' without 'qualified' REVERT: c8915f94 Distinguish between qualified import using 'as' and without REVERT: f781918d Parse import declarations with 'hiding' REVERT: 1290b930 Test qualified import…
BrianHicks
added a commit
that referenced
this issue
Jan 18, 2022
888e2e56 Merge pull request #198 from aibaars/parenthesized_pattern a7db378f Add parenthesized_pattern 951799c6 Merge pull request #197 from aibaars/fix-case-match d529b562 Rename pattern_range to range 10e643c7 Inline pattern_variable 6cd23f39 Rename pattern_pair to keyword_pattern 5d469d5c Add hash_splat_nil to _simple_formal_parameter 23dbe5a2 Rename {array/hash}_pattern_rest rules b8ef9489 Simplify nodetypes for _pattern_constant 12f10a52 Improve case_match rule f1ff0277 Merge pull request #193 from aibaars/pattern-matching 73750085 Update highlights.scm 2ca12333 Update generated code 76cbd1bb Add _expression and _simple_numeric to supertypes list 2a98a53b Add supertypes for pattern rules d3955c7a split case / case_match df3a7ca9 Add test cases f7528122 Make grammar rules more tree-sitter-like 00d4cdc0 Add pattern matching 1fedb2a1 wasm32-wasi SDK doesn't support exceptions. This commit disables exceptions when compile for wasm32-wasi. (#192) bb6a42e4 Merge pull request #191 from aibaars/forwarded-args 95af674f Merge remote-tracking branch 'origin/master' into forwarded-args d1171a50 Merge pull request #190 from aibaars/end-less-methods 192ed481 Add forward_argument to test cases 0efc23b7 Add forward parameter/argument 85ce8b42 Add tests cdc7405e Add end-less method definitions 6c5b0f3a Formatting changes 0c1e4708 Fix CRLF behavior mismatch during error recovery (#189) fcb18966 Fixed CRLF behavior for tests (#188) 391269d7 Fix hard break in PR template 963b7b8b Merge pull request #169 from tree-sitter/pr-template d9c53f29 Add the same PR template as for tree-sitter-javascript dfff673b Ignore target directory in npm tarballs a58928e2 Merge pull request #166 from tree-sitter/switch-to-gh-actions-ci 6589d79c Don't build on Windows for now. 0a10ae93 Switch to GitHub Actions CI. fd087c78 Update Cargo.toml fe6a2d63 0.19.0 22801a4c Bump tree-sitter-cli to 0.19 32cd5a04 Allow multiple statements in interpolation (#163) 2503f005 Add field names to range (#161) 1fa06a9e Prefer element reference over method invocation (#156) ebf6b3dd Allow expression to continue after a line-comment (#157) add8cb36 Make superclass a field (#159) 8fd340fe Support :!~ symbols, add symbol test cases (#153) 6ee7d386 Add support for hex character literals (#154) 454f9062 Separate symbol aliases into distinct types (#152) 8a059c83 Fix error parsing hash splat arg followed by another arg (#151) 5021a6a6 for-loop pattern improvements (#150) bb572f60 Fix hexadecimal with a capital X (#149) 53a05110 Allow interpolation to be empty (#131) 49c5f6e9 Unify call and method_call (#142) 694f81cb Fix handling of multi-line interpolations within heredocs d384ced7 Add operator field name to operator_assignment (#141) 4ba96497 Merge pull request #139 from tree-sitter/rational-fix f54547e3 Check in parser 5ebabb6c Add rational number test cases 66f336d8 Support rational floats 602b8e2a Fix range of characters supported in keyword argument (#137) b92e1f80 Correct field for when.pattern (#135) e8d04ec8 Merge pull request #133 from nickrolfe/setter_identifier 91e598b7 Merge remote-tracking branch 'origin/master' into setter_identifier 1df91616 Add field names for block and do_block parameters (#134) 76c4bf24 Allow case without linebreak (#132) b8e0da91 Give setter identifier a field name 93632008 Add fields for unary operators (#130) df5e5024 Avoid aliases for string_content and heredoc_content bb71c4e4 Remove 'condition' field from 'else' (#129) 11ac2b36 Merge pull request #127 from aibaars/string-heredoc 0f2fe0b6 Update test data 75fb614e Make string content and heredoc content visible c7e8fb07 Merge pull request #128 from aibaars/npm-update e3b4dbcc NPM: upgrade prebuild f86d90cc 0.17.0 7608c140 :arrow_up: tree-sitter-cli aa943932 Merge pull request #126 from tree-sitter/rust-package 29d90b9a Change QUERIES → QUERY 3ae53171 Include query files in Rust bindings 3407470e Remove parser function from Rust README 78ba9f8e Remove indoc from Rust binding README 206262ec Update example code in Rust binding README b807bf44 Add Rust package 724eedf2 Add anchors after doc comments in tag query 14a5e56a Fix several parse errors from github codebase 6ad22db6 Track lambda scopes and operator assignments in locals query fd7d90c9 tags: Avoid emitting duplicate symbols for setter methods 1fbd0725 tags: Don't emit symbols from common Kernel methods 97601b52 Fix parameter tracking in locals query 7ffad043 tags: Emit symbols for constant references and alias definitions 80d73e15 Identify modules and singleton classes when tagging (#118) 4a3b0af7 :arrow_up: tree-sitter-cli 4bfb6910 Update queries to use new syntax a399ace2 Use newer syntax for wildcards in tags query 670504d4 :arrow_up: tree-sitter-cli be9bf5ed Use new alternative syntax in tags query 62f81767 Add tags query a6fcb529 0.16.2 1ce58f2f Update queries to use new syntax 5d1699a3 :arrow_up: tree-sitter-cli 9cd3d802 Don't allow control characters in any kind of name 5c4aaff4 Don't allow any control characters in identifiers 497624a5 Fix highlighting of __FILE__ et al 5dcd37b2 Fix some syntax highlighting issues with constants (#115) dfa2b4a6 Allow chaining calls onto unparenthesized method calls with blocks eb2b6225 :arrow_up: tree-sitter 2d67a739 Improve fields on loop nodes c5291ad9 Fix fields in if and operator_assignment 89ad686e Regenerate with latest tree-sitter 2ae54f64 Parse TRUE/true, NIL, nil, etc as single tokens 19d56f57 Alias command_call to method_call everywhere 6540da2a 0.16.1 628971f3 Model heredoc bodies using non-terminal extras (#111) 852d3ebb 0.16.0 cf088751 Test path in npmignore 77663670 Simplify parse-examples script d64c714e Add syntax highlighting tests, tweak highlight query 9d740135 :arrow_up: tree-sitter-cli c17077eb Ensure unary '*' and '&' appear in the tree e37299cc 0.15.3 1b60f72c :arrow_up: tree-sitter-cli 4579e0b2 Add query for local-variable tracking aa6b8b15 Restructure parameter parsing, add missing fields 6a001411 Add highlight query (#110) 7223253a Add fields for alias 6173deaf Add node fields 0049193b :knife: Shrink the parser by separating out unparenthesized method calls 575d74b2 Allow rescue/else/ensure in do blocks db91c934 0.15.2 ae90d658 Merge pull request #109 from tree-sitter/ns/prebuild-for-electron-3 4af18d7d Add Electron 3 back to list of prebuild targets 6879dd61 :arrow_up: tree-sitter 04ffb9e6 0.15.1 5252a6b5 package.json: expand to include electron 4.0.4 (#108) f98f435b 0.15.0 0b712a24 Update tree-sitter-cli to 0.15.3 d36c3f2a 0.13.14 3d09cad8 scanner - fix error when string_end is valid but string_content isnt ae2db0c8 Use node 10 on appveyor cb92cd2c Use new API to track locals for syntax highlighting 624487a2 Merge pull request #106 from rebornix/patch-1 cca21021 drop node 9 and electron 1.6 1.7 94fd582b keep 1.6 and 1.7 e674a317 only electron and node 8d5f3e0e Build for all supported ABI versions 50eab321 Merge pull request #96 from tree-sitter/highlight-properties b4299bbd Get property sheets working with latest tree-sitter e558a1cc Mark class as definitions too 5136cd37 Specify function/method definitions a984039e Tweak highlighting properties for operators and punctuation 57da9bc9 Add injections property sheet 19c93445 Add highlighting 'and' and 'or' as keywords 82c0e2a7 Add highlighting for alias, private/public d7cb284f Update property sheet to use new highlight schema a067828d Add property sheet for syntax highlighting c09af950 0.13.13 172835a1 Set CXX=clang++ explicitly on travis 783bd5e6 :arrow_up: tree-sitter-cli 24d38063 Prebuild against electron v3 and v4 (#102) c0f868bd Merge pull request #101 from daviwil/dw-integer-casing 00178a28 Allow 'b' and 'd' to be capitalized in integers fd743584 Merge pull request #97 from tree-sitter/remove-rubyspec-submodule fce7be43 Fetch ruby/spec from the remote. fe7fd5fa Remove ruby_spec submodule. 4d50ec36 0.13.11 d2ecab0a Remove last use of sepTrailing helper ae7ada5e Use repeat for parsing argument lists, element lists 1f24cc8e 0.13.10 b7300db2 :arrow_up: tree-sitter-cli for disabling optimizations on MSVC 113fd2aa 0.13.9 55c7985e Use explicit `then` node to wrap statements inside if/case/rescue/when (#91) 37871ee5 0.13.8 8b8928ed :arrow_up: tree-sitter-cli 4cb3ebe5 0.13.7 2b81b2cf :arrow_up: tree-sitter-cli 28ee5ae2 0.13.6 852ce87e Use default clang on linux travis builds 5aa5450a Avoid potential use-after-free in regex scanner (#90) 5fc39b5b Use immediate token API for preceding-whitespace-sensitive tokens (#89) c3d968dd 0.13.5 f315b56f Only prebuild binaries against electron on CI 04594f9f Parse escape sequences in literals (#88) c268a29a Remove unnecessary quotes in .travis.yml 3650507c 0.13.4 dc70cf5f Add enrypted token for prebuild uploads on travis and appveyor 00805a47 Add Prebuild support (#87) 54e75103 0.13.3 47be1388 Create separate nodes for bare words in string/symbol arrays (#86) 6a5626b0 0.13.2 5d83b435 Add some structure to strings and literals (#85) ef3197d8 0.13.1 2f4e0f50 Don't include examples and tests in published tarball abb8471c 0.13.0 1b0a3af4 Insert 'line break' tokens at included range boundaries (#84) 9d142677 0.12.0 35f2f131 :arrow_up: tree-sitter-cli, add new word property bf83de4d Don't treat EOF as an identifier character 7a1ecb7d Print stats about how many examples are successfully parsing (#82) d303c2aa Parse keyword-style hash keys as symbols (#81) 90cd1111 Fix up lexing binary/unary minus (#78) 1bf207ca Fix precedence of empty block vs empty hash (#75) e225c147 Merge pull request #71 from tree-sitter/newline-delimited-strings 4430848b Allow whitespace characters as string delimiters when `%` isn't valid 90e96100 Failing test for newline delimited strings df7785e8 Merge pull request #72 from tree-sitter/divide-regex-ambiguity 7910efff Don't incude colon in identifier hash key bc04763b Test and fix IDENTIFIER_HASH_KEY consuming and not returning c910d842 Parse non-ascii identifiers (#70) f87ef4c4 Add support for newline-delimited strings 35be55d6 Heredoc method continuation fix try 2 (#69) b244a010 Use external scanner to detect reserved identifiers used as keyword args (#67) 89edd72b Merge pull request #66 from tree-sitter/fix-binary-integers d98ff0eb Fix parsing of binary expressions b0f237d4 :arrow_up: tree-sitter-cli 76e0390c 0.11.0 1da51019 :arrow_up: tree-sitter-cli d1d1ec8e Faster and more comprehensive example smoke testing (#65) b1251ac6 0.6.0 0546fa21 :arrow_up: tree-sitter-cli edd0a697 0.5.0 ec13e60e Regenerate with latest tree-sitter 295e77df Merge pull request #64 from tree-sitter/bump-tree-sitter 665d849b 0.4.1 b84ef07b Bump to 0.8.6 b928710e Add a package-lock and bump tree-sitter 6c23e3c7 Guard against buffer overflow when serializing scanner c598dbe2 0.4.0 307608ad Upgrade tree-sitter for new lexer API 85e5caca 0.3.1 9a315abf Do not include additional whitespace in _line_break tokens 7c693b59 :arrow_up: tree-sitter-cli 2bb854e1 0.3.0 8e0a7245 Regenerate with latest tree-sitter 0ff5cbd2 Allow class <<self to parse (#61) 4bdeb6ec Add appveyor badge and whitequark reference to README [skip ci] c891c6ca Add appveyor.yml beb24fb3 Additional improvements to the ruby grammar (#59) 6681b4c8 Merge pull request #55 from tree-sitter/add-ruby-spec-examples aac20bdf Skip string_spec for now 7729adfc Merge remote-tracking branch 'origin/master' into add-ruby-spec-examples 0fca7f41 Merge pull request #56 from tree-sitter/spell-out-for-loop ddcae1ce Remove extra whitespace 410846a8 Include ruby/spec as a submodule and parse it 518f93f3 No more subtree, going to try a submodule instead d8a50269 Merge remote-tracking branch 'origin/spell-out-for-loop' into add-ruby-spec-examples 7cbc4f5e Merge remote-tracking branch 'origin/master' into add-ruby-spec-examples c3d64917 Don't use range based for loop 19aba16e 0.2.0 23629de2 :arrow_up: tree-sitter-cli 584c90f8 Merge pull request #53 from tree-sitter/new-external-scanner-api 0d42e1f0 Slightly different approach to for in structure fc17fcfa Add parenthesized_statements named rule a1ec6037 Revert "Add parenthesized_statements named rule" e5c1a05e Add parenthesized_statements named rule 0fb0a980 Alias binary_start and scope_double_colon a58ec93c Give for some more structure with in clause e45d05ec Use new alias API fdb657e8 Do test parse without script and with one tree-sitter parse call 18337b99 Can define method for match operator !~ b101b6ac Run examples one-by-one 06b582cc Revert "Unicode letters allowed in symbols" 9fe7b6e7 Don't need to test this 06c3df2b Unicode letters allowed in symbols 1ed25a89 Update parser 1bcc0d74 Don't test this right now 413ec104 Fix multiple assignment in parens 61813dd4 lambda, lambda 79a8152a if/then with extra terminator db09ef38 Module decl without terminator 0ab3fd38 Revert "Look for \w to prepare to catch unicode characters in identifiers" 6864fc6f Bump parser 993c70e8 Look for \w to prepare to catch unicode characters in identifiers 9545493d Parse complex number literals a55ecdf2 :arrow_up: tree-sitter cb846f67 Show blocks in 'stabby' lambdas d98ddde5 Fix heredoc deserialization in scanner b99588b3 Regenerate parser de1a67aa Allow hash splat args in hash init 48b53da6 Use new external scanner serialization API 3501a48e Show block rules in lambdas, use renames for reserved word identifiers a9abc715 Parse examples as part of running test 69769534 Merge commit '4e3a5f3cd374c37d7f108fcc9a11c66c4f0088d9' as 'examples/ruby_spec' 4e3a5f3c Squashed 'examples/ruby_spec/' content from commit be7741139 b54bb16d Merge pull request #52 from tree-sitter/fix-typo 42ff2c25 s/destructured_left_assigment/destructured_left_assignment 7655c0c8 :arrow_up: tree-sitter-cli, rename grammar_test -> corpus 189eded4 Merge pull request #51 from tree-sitter/single-cr-characters 73fe34a8 Treat single CR characters as whitespace, not as line breaks e01c399d Merge pull request #49 from tree-sitter/wide-chars bc078d26 Use correct include file for g++ f42c1178 Use wide-char version of ctype.h functions 7c0c6839 Merge pull request #48 from tree-sitter/namespace-scanner 5d121bde Anonymize the namespace. 8813bd06 Namespace the scanner. 04fd77ba Merge pull request #47 from tree-sitter/fuzz-fixes dd1c7953 Merge pull request #46 from tree-sitter/bump-tree-sitter 77e92ee3 bump tree-sitter-cli d5ed995b Malformed input can cause an infinite loop here, check for EOF too c6026a80 0.1.0 393b51dc Merge pull request #45 from tree-sitter/new-tree-sitter-features 1a31bb22 Distinguish :foo= from :foo=> using backtracking 923f4799 Update tree-sitter, use backtracking fbe95be1 0.0.4 d1459dba Allow capitalized method names in method calls 65315c11 0.0.3 165417b2 Merge pull request #44 from tree-sitter/distinguish-constants-from-variables 2993d00a Fix typo in operator name 6ae74e18 Restore the use of _terminator in class and module rules 52207edd Add a test for a capitalized keyword argument name 99c86d2d Merge remote-tracking branch 'origin/master' into distinguish-constants-from-variables c0dede8b Fix binary path in index.js 8b3d08a3 Merge pull request #43 from tree-sitter/method-body 51d7e9e3 Add test for class def within dynamically-computed module af5c0874 Distinguish constants from variables 3ca62cd2 Breakout rule for singleton_methods b2ca35ff Merge pull request #41 from tree-sitter/alpha-num-heredoc-words 51abbdeb Unquoted heredoc words can be alpha numeric c7724353 Merge pull request #40 from tree-sitter/conditional-char-literal a6fa066b Capture entire end of file after __END__ c27087ca Whitespace stripping Heredoc with ~ allows indentation too 56e6eadc Produce empty_statement f9810066 Parse destructured left hand sides cf095e6e s/call_argument_list/argument_list_with_parens 179ca032 One additional valid char literal syntax a93a09b0 Allow implicit call 20d77629 Terminator allowed between do and block params a01039df Support extraneous ; 85feca10 Check for heredocs first b280dedd Allow call syntax for operators 92a9f95c Allow space after splat star in certain states cac1f900 Heredoc end word must not be indented unless using - cfa2e86a Valid to define [] as a method that takes no args 1b6ae39d Swap slat start and block ampersand logic 1ac39409 Little more nuance to returning early for % if not in valid state 279c5506 ++tree-sitter-cli 1b538dbc Multiline comments support CRLF and content on first line d0597868 ++tree-sitter-cli for crlf fixes cc689181 do blocks allow optional terminator c2304809 Return early to allow method named % 25c3515d Allow CRLF as valid line ending 3b256db9 for allows _mlhs 8664e3a9 Adjust float regex to allow +/- 73600401 Can assign to TRUE, FALSE, NIL a47b4098 Add a couple more unbalanced delims 3f38498b _ valid after splat star and block amp e418dea3 Move a few things up out of _variable that don't belong ea56af35 0.0.2 81d06f51 Failing test demonstrating ambiguity 640fda25 Merge pull request #39 from tree-sitter/cleanup-char-literal-regex 34a455f4 Use \S to cleanup char literal regex 5f71c72b s/ts_language_ruby_binding/tree_sitter_ruby_binding 8d5cd550 Merge pull request #30 from tree-sitter/literals-via-external-scanner 7895f1cd :arrow_up: tree-sitter-cli 50b488ba Remove c++11 syntax 3f8b7689 Allow parsing of character literals 0ad9d6ad @ not valid at this point anyway b55cecff Add ^= conditional xor operator 355c45e4 Allow other expression after block & 2bd76af4 Fix issue with condition/symbol confusion 0e4a5d58 Fix scanner state error - must have literal stack here c497291c Allow unary for ivars, and still let -@ be a method ad1593df Fake backtracking for parsing symbol keys with no space between values 5044c8b7 Keyword style hash keys can be strings 97f185fd Heredoc word can have _ in it d8780e2d Terminator allowed after class def 6b2c0f97 Opening heredoc word can be preceded by ~ dfcc9ef0 Scan for heredocs before looking for unary/binary minus cb56ca88 Catch another case of mistaken heredoc ending found 1dc8cd4f Other valid minus lookaheads where we don't want unary or binary 293caa3a Handle unary minus vs unary binary ambiguity 2b2a8a6e Allow heredoc end in heredoc content 43935095 Quoted heredocs are special 4afff5ab Backtick can be defined as a method 1b125349 Singleton class can use any expression 486238f3 Return immediately if opening newline is found for heredocs 57c59ba2 ! is a valid operator 05f4054d Need a rule for super now that it is a reserved identifier 1eb9a071 Can't tokenize boolean/nil, breakout boolean to true and false 095763cd Ensure that conditional still allows reserved words af9e05f8 Enable the rest of the reserved words as identifiers ee20f38b Use literal stack in place of heredoc interpolation stack 395281e2 Heredoc end also allowed as last element reference bee8844e Heredocs allowed in multiline array literals 53bb0f11 Allow full _lhs in rest assignment 9e0f9fd0 Make search for heredoc starting linebreak local to each scan pass 59d29fce Updated generated grammar and parser.c c908e805 Only support a few reseved identifiers right now 07bb1b08 Remove need to track def as external 397b82d2 Simplify global variable regex 1a016322 New approach for reserved words as symbol keys 156e8f89 repeat1 is built in! 456f8b53 if, elsif, unless allow full statement 1b0e163c Remove a couple of unnecessary heredoc_ends f0803f6c With interpolation stack in scanner, we can just look for heredoc_end cda3bfe9 Optional terminator after begin allowed 3b41a13c Allow splat arg in rescue 472c61c6 Handle repeating newlines and comments interspersed in hashes ba777289 Don't parse /= as beginning of regex 13f6d1d8 Heredocs after , in arguments_list allowed 43a5a7f6 class allowed as symbol key bd6797ec Superclass can really be any old expression 441e3d45 Everybody loves heredoc whitespacing parsing d326d2df [ also valid after splat 8e07c273 Expand globals regex e87fc8ea Reserved words must be followed by whitespace cce23da4 Allow both /(/ regex and `def /(n)` method definition d699fdc1 Multiple left hand sides can be surrounded in parens da871c36 Allow optional terminator after else e10bd3e1 Logic backwards for / as method name. d077076b Add while, until as reserved words, better matching logic 768c78f6 Relax multiple left hand sides to allow parsing calls in multiple assignment e28f71e8 Fix parse error for method def with parens and ; as terminator 98db1942 Splat star allowed before ::Constant e5647b3a Don't look for heredoc_body_beginning if already looking for interpolation end. 37662329 Fix for leading :: in scope resolution 9599e810 Handle trailing commas on block formal parameters 66581744 Fix optional block argument precedenc with '|' issue 0b01538a Handle unless as pair key, more general handling of reserved words 122e8397 New approach to supporting heredocs and method continuation 6d3aff4e Allow regex to start with ( outside method def 3d246b86 Constants can start with :: 7ad3bf4b Fragile fix for methods named / b08fcb8e Adjust precedence to fix mrhs issues 2062c882 End with semicolons for consistency 0ae48a13 Fix trailing comma parsing with nested method calls 8f57f92a Full statement allowed in heredoc interpolation 5e8e8045 Splat args allowed on rhs of assignment c41b5f11 Fix issue with finding end heredoc word 484bb59b Fix just the 'if' reserved word as key case b58dca2e Failing test for reserved word hash key f6fdabcd Disable mrhs (tests failing) for now 360a90a4 Failing test: method call with paren args 2b67ca38 Test for assignment with pair arguments 3b7db2c2 Additional test for method call with trailing comma fec62cc4 Fix heredoc for statements 10c22d63 Splat arg allowed to be in parens 10c991ff Test heredoc content that starts with '.' 87d5ef40 Rework calls with line breaks and heredoc parsing 23eb50f6 Fix issue with . on start of heredoc body 14fcc3d6 Allow bare multiple right hand sides cb3c5562 Expand recognized globals 83010d4f Local and global variables are valid splat args c2530d66 Allow splat args in when 43fb8b01 Fix error parsing optional params in lambdas 2917290a Floats don't have to have . in them 82f0cf0e Use external scanner for block and splat args to fix method v. operator ambiguity 8ad7dab0 Allow pairs in arrays and collapse up argument_lists f3d63614 Allow symbols to end with '=' 4b543b47 Detect heredoc bodies only after line breaks f3448de0 Regenerate the parser 439669bc Allow hash splat args and s/rest_argument/splat_argument 6ffb75c0 Rework parameters and destructured parameter productions a0381a69 Parse division without spaces 040f5095 Improve TODO for %= parsing fef8d5ec Allow a full _statement in interpolation 6c52a656 Allow destructured formal parameters 03ab2b85 Merge remote-tracking branch 'origin/master' into literals-via-external-scanner 04ed2d81 Parse whitespace sensitive element references vs array arguments 95e3f847 Merge pull request #38 from tree-sitter/more-assignment-operators 76c24bae Parse a few more assignment operators 1a59aef6 Merge remote-tracking branch 'origin/master' into literals-via-external-scanner 7db7d4b6 Merge pull request #37 from tree-sitter/argument-pair-improvements 9044c3ed Collapse up to one pair rule that allows any _arg as the key d0982fa8 Merge pull request #36 from tree-sitter/rest-arguments fba4efc5 Parse rest arguments in method calls 184227a5 Handle forward slash ambiguity c97aebd3 Merge remote-tracking branch 'origin/master' into literals-via-external-scanner 0a4ea1b8 Merge remote-tracking branch 'origin/splats-in-array-literals' into literals-via-external-scanner d2c9e010 Merge pull request #35 from tree-sitter/splats-in-array-literals 6ecdd0cc Handle parsing array literals with rest splat syntax 49203c84 This reverts commit 39a04b631eefb8d32102238ab53b0ee22d9a1cc4. 39a04b63 Also alow &. calls to have linebreaks 349b3146 Merge remote-tracking branch 'origin/master' into literals-via-external-scanner 152925a2 Handle method calls with line breaks e4a1256b Merge pull request #34 from tree-sitter/basic-mrhs 9a8ae87c Basic parsing of multiple right hand sides in assignment 1dba4bac Symbols can be any valid ruby operator f0f59251 Symbols can start with _ ecb367d1 Merge remote-tracking branch 'origin/master' into literals-via-external-scanner 52de1631 Merge pull request #33 from tree-sitter/super-just-a-method 20d99712 Parse super as a method 8bc0bfa7 Handle escaped newlines in external scanner 0ba3714f Test nested interpolation inside heredocs e1a3697e Add support for interpolation within heredocs 9bc42cd6 Move heredoc_end into top_level_statement 95f0d5bd Allow whitespace before closing heredoc word 8580c558 Use local variables instead fddeb69b Heredoc word doesn't need to be upper 390ead73 Updated heredoc tests 1c5ba4b2 Support single and double quoted heredocs 0e9920e5 Bring back unbalanced delimiters, proper interpolation parsing 96a29e9b Merge remote-tracking branch 'origin/master' into literals-via-external-scanner 98e0f907 Sync with latest external scanner API fc8f4d89 Merge pull request #32 from tree-sitter/begin-end-top-level-blocks d3066a28 Parse BEGIN {} and END {} blocks 3b6af133 Add basic heredoc implementation 1c7d0e60 Handle nested literals 32b206b6 Allow _ and digits in undelimited symbols 2a2181b8 Start work on literals that don't allow interpolation 52b2d8ea Add support for chained strings a634494d Merge remote-tracking branch 'origin/master' into literals-via-external-scanner a3d2e46d Fix handling of line breaks preceding strings 472cd8dc Use prerelease tree-sitter-cli 1f2ca5cd Merge pull request #31 from tree-sitter/class-improvements 52265827 Update grammar and parser again 03f8f36a Re-use constant rule for superclass 8911ecfd Include new generated grammar and parser e9a0c009 Add a bit more shape to class and module trees 91fca2be Merge branch 'master' into literals-via-external-scanner e927adf5 Merge pull request #29 from tree-sitter/unify-operators 32d5cab0 Unify the many operator rules into 'binary' and 'unary' 92ab4b07 Make sure we require latest tree-sitter-cli for dev b91950a0 Remove interpolation nodes from test expectations 3a88bd11 Merge pull request #28 from tree-sitter/multiple-assignment 988923ee Parse multiple (lhs) assignments a06117fe Start work on parsing literals via an external scanner b1c4ec45 Merge pull request #27 from tree-sitter/delims-and-other-fixes 3a18aba2 Allow \\\n as line continuation 85e32be4 Small hack to allow stand alone # in interpolated strings, symbols, regexes, subshells. 18aeb791 Fix typo in string/regex body parsing when allowing interpolation 512ee7ac Only arguments in () or [] can have trailing commas 75e64a16 Exception variable can be any lhs, rename rescue exception productions cd009e3f Hack around float to be able to parse `3.times` 7c1baba8 Allow = on the end of method names as attribute setter 3e4770b3 Bring back balanced delimiters for strings, symbols, regex, subshells 7ff76d07 Merge pull request #26 from tree-sitter/back-to-master a608bdf3 Fix modifiers following return/next/yield/break 60a7d3ec Allow symbols that start with @, @@, $ 5884d162 Allow all formal parameter types as unparenthesized lambda arguments 9de00510 Remove _identifier wrapper rule bd37ab32 Unify method_call and method_call_with_do_block 6cbb884a Extract block_parameters rule 41c107d3 Make body statement a grammar rule 4e221718 Avoid epsilon production for _array_items a24dc702 Updated grammar and parser.c 452166a5 Constant's not matching, remove it for now 0446c0cf Only let this be an arg 9bb620e9 Don't talk about functions aa2167ba s/"/' ff4b5639 s/function_call/method_call dc8574e6 Safe navigation operator and block shadow args e08d3042 Super, redo, break, next 4eaec69e Class, module, singletonclass improvements 017b3c3d Improve method parsing, add to primary, short name 2a7df311 Add more to primary, refactor yield/return 4cd18892 Refactor and rename control flow expressions 86c1b603 Fix array as object test name 87912982 Support backref globals in alias, parse ivars, cvars, globals, etc 4e065cd3 Improve undef to take multiple args 3394a2ed Produce single lambda production 7df9d688 Remove regex precedence b61b3290 Flatten _declarations ef1fa11d Temporarily remove unbalanced and nonstandard delims for dev speed 6fe30c68 Move array to _primary 2d72b925 Merge pull request #25 from tree-sitter/expressions-everywhere 74d3d25b When can have comma sep patterns 4882409c Lambdas can use do/end syntax 83871f67 Cases can have expressions 5d3cf0db Cases are expressions, test assignment 12817217 Rework alias and undef f127056f Default prec is zero 9318a013 Support #to_proc style block arguments 0fe32f6c Handle singleton class definitions 85fa794f This prec isn't doing anything dc436f1c Primary expressions include function calls a9a7de1f Primary and lhs expressions can be function calls b5782429 Merge pull request #24 from tree-sitter/block-args 57ed1b3b Additional test for yield with multiple args 94118c73 Remove unused code 218f2677 Allow do/end and {} blocks as arguments 7ba9465d Merge pull request #23 from tree-sitter/reduce-conflicts a584c3bb Give argument_lists lower prec to reduce conflicts 96fab3b5 Merge pull request #22 from tree-sitter/kw-args 2b9ce552 New production names for parameters 0bc6f82b Merge pull request #21 from tree-sitter/kw-args 69c67694 Streamline param productions 3274dc3e Old style hash arg keys must be symbols 400aca5d Merge remote-tracking branch 'origin/master' into kw-args f167a059 Merge pull request #20 from tree-sitter/last-ex a99fdc7c Merge remote-tracking branch 'origin/last-ex' into kw-args e6312b65 Parse keyword params/args 5be1883d New approach to identifier pattern 780e98a3 Symbols can end in ? or ! too, add some tests to validate that adc808ce Only methods can end in ? or !, rename rescue ex d7de9d22 Fix tests with duplicate names 6faf93a4 Just capture var of last exception 18d97b18 Capture last_exception as a stand alone production 3b4c59b6 Merge pull request #19 from tree-sitter/parsing-improvements a814ec95 Parse rescue modifiers 46859a11 Capture last_exception in rescue blocks as production 4000a551 Improved parsing of rescue 7ee1d156 Don't produce then_block productions 393adaae Merge pull request #18 from tree-sitter/tree-sitter-recovery-symbols-fix a0dbcd4b Verify that element assignment works b7665335 Better parsing of element reference 53187e0e Support singleton method definition a8eef43e Better handling of lambda literals and expressions 9837776d Regenerate parser w/ tree-sitter state merging fix bdc6c7fe Don't produce 'condition' production, but add elsif_block 9957e0fc Rewrite string/regexBody to optimize number of lex states a0d61592 Let noneOf just take an array 6999468b New regex parsing f3152d01 Rewrite stringBody grammar 871ffbdc Tokenize bools and nils 517a01d9 Using this for precedence for regex only 44680a74 Focus in on small set of unbalanced delimiters for now 8f010cec Can use = in test name 377f93e5 Finish work to properly handle /= and better regex string handling 179d97ed A few more tests for edge cases 1bf9f9b8 Back to integer ae6c4334 New approach for strings/regexes and comment precedence dbaf4ed8 Remove regex close precedence 3ac60b1b More method invocation tests c2c1a12d A few more tests for comparison and relational 60888076 Regenerate the parser 6d000eb0 s/integer/fixnum 6fe2b8c1 Add math and conditional assignment fcec6635 Fix multiline comments followed by comments 0d86a5d1 Fix multiline comments followed by comments b4b0ef83 Update to tree-sitter with merge state fix ece01149 Use renamed tree-sitter-cli module ff4f6005 Merge pull request #17 from tree-sitter/latest-tree-sitter 459771c2 Tweak handling of line breaks as statement terminators a4881019 Regenerate with latest tree-sitter 8f30f137 Regenerate parser.c 09246521 Use a custom build script instead of hooking in at prepublish cefdc699 Use 'src' instead for gyp ce1cc836 Merge pull request #16 from tree-sitter/function-calls 6ada2cf1 Rebuild. 1aaf669d Identifiers can end in question marks. 3aab88d0 Rebuild. 922b6780 Pull unary plus into its own production. 35c3fadf Correct a test. f5267a91 Rebuild. Apparently. c3479d35 Subscripts associate to the left. 09b500b4 Didn’t mean to leave arg lists on member access. bbaf96c5 Add a test of a function call without parens. 39177979 Test a function call with empty parens. 5a99e512 Interesting test of a nested module. 0c166d7f Function calls. c91c7323 Merge branch 'master' into function-calls 5d97b2a5 Merge pull request #15 from tree-sitter/consolidate-percent-tokens e81b9d68 Put back accidentally deleted test 81ced104 Factor _argument out. 115af341 Replace _call with function_call (sorta). 1114d6ea Merge branch 'master' into consolidate-percent-tokens 2f254103 Make delimiters separate tokens from beginnings of '%' literals 00d13889 Merge pull request #14 from tree-sitter/case-when 679b854f Test a more involved case/when/when/else. a0dabd9e Test case/when/else. fccbc237 Test a trivial case/when. c40cd693 Rebuild. 6697ab3a case is a statement. f2c08ad7 case/when. c633732d Patterns. 5192e1de Fix travis badge url 9dd4d6ba Merge pull request #9 from tree-sitter/end-data 6854a647 Test uninterpreted text at the end of a file. effd1a4d Rebuild. 205f26e1 Ruby sources can optionally end with __END__ & uninterpreted data. 2e5fdaad Merge pull request #4 from tree-sitter/literals 3a98316b Quoted string literals can be chained after quoted and percent strings. 38aa37c2 Test a function with multiple arguments. 0b4f17ea Test a function with a single argument. f1123dfd Test a function with a body. b7a3061b Test parsing of an empty function literal. c89e231e Go back to using `identifier`. dd3120ac Fix the method declaration tests. 6b5278fc Rebuild. 0c808d45 Function literals. c188557a Match parameters under a parameter rule. eb33b05a s/argument_list/formal_parameters/ e7b66359 Test trailing comma. 4ab76144 Test keyword keys. e5901cf1 Test expression keys. a1d0e453 Test empty hashes. f4a815ec Parse hashes. 22c8f117 Test balanced %r with interpolation. c769dd11 Test unbalanced %r with interpolation. 48b92a37 Test balanced %r regexps. c98f0dc4 Test unbalanced percent r regexps thoroughly. 5635a29e Rebuild. 760ea83a Parse balanced interpolated regexps. 25518ae5 Add balanced interpolated patterns for regexps. 344a527d Set literal precedence on the closing token of regexps. 0f80b7f4 Regexps can contain a recursive reference, if one is passed. acfb795a Remove the obsolete comment. c6a5be34 %r with unbalanced delimiters. cb972cbe Go back to using a separate regexBody function. a357baab Test regexps with interpolations. b2387aa0 Regexps can contain interpolations. 9185ebd6 Define a specific precedence for literals. df8b3ad7 Use regexBody to define regex. 0ef6d9b6 Add a helper for regexp bodies. 113796c4 Single code path for balancedStringBody. 86af1ed9 Unwrap. 70893653 Move the comment up a line. 020f9d45 /…/ regular expression literals. 2f33b114 %W/%I. 2b74eb71 Test unbalanced %w/%i arrays. 423c7106 Rebuild. d97c8564 Parse unbalanced %w/%i arrays. c3fccbde Test %i arrays. a59b1e07 %i arrays. 5f217071 Test how we parse arrays. 64be97ad Stub in percent w array parsing. 4495fc2d %x{…}. 8e01bed3 Inline subshells. 75ab9c5d Inline a bunch of rules. 156bd7d2 Rename the balanced rules to reflect their generality. 29cf80c6 Percent symbols. 5b4802f0 Correct some docs. a5b1dffd Compile I guess. b73ee78b Increase the precedence of closing tokens. c3cd64ad Correct a couple of test names. 951417bc Open tokens. 4ce4ce3c Rename prefix to open. fd7bac97 Rename delimiter to close. 2bc9730a Interpolations in double-quoted symbols work. 80ec0bb2 %/%Q strings are prefixed with /%Q?/. 57a400b5 Tokenize the prefixes. 1f8b278e stringBody takes a prefix. 9deba202 Simplify the stringBody method a bit further. 554cdaf9 Simpler code path for string bodies. a3ca772b Replace operatorChars with an operators constant. a058e502 Replace identifierChars() with an identifierPattern constant. ef8d4c37 Remove some redundancies. fde63993 Test :"#{…}". 6c635346 Don’t tokenize %/%Q, %q. ad4c2561 Parse interpolations! :tada: 2656641d %{…}, %Q{…}. 068f174c Extend balancedStringBody to support an inserted production. 9a6d40df Double-quoted symbols. 2a6a6340 Double-quoted strings use stringBody. 1842822a stringBody takes an optional second parameter, a rule to embed in the body of the string. 9bdcd2c9 Array literals can contain trailing commas. ed26fc01 […]. bcce3394 Symbols can be single-quoted. 8a827808 `…`. 94994dca = is a valid delimiter. d7124cee %q{…}, %q(…), %q[…]. 27374fc0 Use the extracted function for %q<…>. b968550a Extract a function for balanced string bodies. ed098814 Parse balanced %q<…> strings. 95909a7d Clarify a test title. 53a8ee8c Pull the unbalanced delimiters out into a constant. e1cf347e One too many strings. 2f789867 Add some missing delimiters. 0eefb392 Add support for a ton of other %q delimiters. 0f01c1b3 '…' strings use the string body helper. 05113d5f %q strings use the string body helper. b3f2a2e3 Add a function to build out a delimited string’s body. 409072ac %q|…| strings. 66af70cb Spaces. 952788a7 Temporarily delete the `interpolation` and `identifier` matches. 089fab6f Try to interpolate strings. 973a5c01 Rephrase the parsing of double-quoted strings with a seq/repeat/choice. 03a52aec Test some double-quoted string escapes. 1ab34b13 Basic support for double-quoted strings. 78242b71 Remove the optionalParens combinator. a20da6b6 Single-quoted string literals. 47130807 Nil literals. 49f8a837 Boolean literals. 4af58347 Float literals. d430d23c Binary integer literals. df3a9a71 Octal integer literals. cf267347 Hex integer literals. ba868970 Integer literals can be prefixed with 0d. 57fef857 Integer literals. af58ac11 Move the symbol test into a literals file. 0dd38322 Extract a grouping for literal parsers. 55cd6ed0 Merge pull request #3 from tree-sitter/expressions 04a03a41 !, ~, and unary +. ed46f210 **. f7733ddb Test unary minus correctly. 4d639ec4 Unary -. 83148ade +, -, *, /, %. 7234ccae <<, >>. 4aee96ac ^, |, &. 09ec0ae3 Comparison operators. 090c651f Relational operators. 5a2a5358 &&, ||. 7ef4aa3f Inclusive & exclusive ranges. 40f0c350 Ternary conditional operator. a2396077 Assignment. 5f55cc77 Test the associativity of and/or. 66fa3c70 `defined?` expressions. dc8c111d `or` expressions. 41bc62ac `and` expressions. bd56da66 Give `not` a precedence. 14e7903d not expressions. 074e1c23 Merge pull request #2 from tree-sitter/statements ac3e2f5a Yield expressions. a69995b7 Return statements don’t need to have values. 292d2747 Return statements. c13b4548 Test a full begin statement. 3973df22 Test begin with rescue with args. ac7b200f begin statements can contain rescue blocks. 02ffa5ad begin statements can contain ensure statements. e932b51a begin statements can contain else blocks. 1743b451 begin statements contain statements. 7e803610 Stub in a begin statement. 8c19e4ac For statements. 96ad77f4 Just commaSep1. bb2c7c64 The lhs is optional. 210da3a0 Refactor primary & lhs. c1e78f4c Pull member access out. cf122a65 Blocks can have multiple variables. 677bd00e Factor variables out of _lhs. ba49bd8c Extract the modifiers out into named productions. 6c013ea6 Merge pull request #1 from tree-sitter/control-flow 2dfc3780 Name elsif’s then block. 94f6f3f1 Name the else block. 2991f0bc Name the then block. 2f72893a Slashes cause these to not be run. 6bfca5fc No wait now it should be parsing the elsifs. ea9bfe54 More equals signs. 443e27f3 I guess this parses elsif now? d2995873 Test single-line ifs. a2abd28b Test if/else. 207244e2 Stub in if statements. 7d5db947 Test that `else` gets parsed as expected. 4ea84a77 Combine then/else. 153d7ecc Test unless/then. cb0742d1 Add unless statements. 5e7f1697 `do` is optional when splitting `while` and `until` across lines. 91da830b Until statements. 3f07ed7d Test a while statement with a body. 08f448ec Add while statements. b33e1f70 Support the vacuous () expression. 67f56733 Subscript expressions are named. 56f4c944 Scope resolution expressions are named. 52301c7d Subscripting. 5ddb5548 Test scope resolution parsing. 16afb3cf Scope resolution. 4ebe6b3a Classes and modules require terminators. 6823a9c3 Lots more operators wooo 214e929e Symbols are expressions. 49c947ce Symbols are either identifier chars or operator chars. 60fabad0 Pull operators out into a function. f0fdadfb Pull the body of identifiers out into a function. ff4cd434 Identifiers are tokens. b30bccbc Test multiple args. ae289982 Test unparenthesized args. adbe46a2 Optional argument lists work out better. 0706fd10 Don’t email. Just don’t. 147b7930 Argument lists are named. 1447e10e Don’t bother with _argument_declaration. 6fc54523 The */& marker is optional. d19d43c8 Move argument_list up beside method_declaration. 3cf479cb Correct the parsing of methods with arguments. 8d2f4aed Parenthesized expressions cannot be empty. 98a73100 Test a class with a body. db8425a5 Test a module with a body. 7d2a0c74 Test a subclass of a namespaced class. 7e2c00c2 Test an empty subclass. 7e86857b Test a method with a body. 4d1e1d59 Add method declarations. 88106242 Class & module declarations. 1f4b4fe2 Factor out compound statements altogether. 859c0101 Define commaSep1 in terms of sep1. e026dbbe Add sep & sep1. a64575bc Add symbols. cbb5e87f Stub in an until statement. fdc8a974 Stub in an unless statement. 66dd9125 Stub in a while statement. ef7d67ab Stub in a conditional statement. 4de1e398 Stub in aliasing. 39bf0f6b Stub in undef. 4ad82037 Parse some basic call stuff. b2a73830 Steal the commaSep function too. c0c66ea4 Steal the commaSep1 function from tree-sitter-javascript. 61bfb070 Multiple comma-separated arguments. 60771f02 Test multiple-line block comments. 72fcb866 Add support for single-line block comments. 459d052d Add empty block comments. e6e76e68 Rebuild apparently. 11408211 Add parenthesized compound statements as a primary expression. 159b0125 Add compound statements back in. 955a19cf Try to fix the indentation. 19ba1bc9 Fix some broken indentation. d168f7a7 Test that comments parse. 95f29773 Add the compiled grammar & parser & binding. ee457174 Rejigger the terminator. 86bfd32b comment is a token. 3c52f85b repeat, not rep. 920ccfcf Comma! 7c7a3d8e Add the repo field to the package. ef831868 Fix the case of the name. 82d2ed8b Fix the version. d30db3f9 Define extras. abfe24ac Define a dubious comment rule. c4ffce2d Define a line break rule. bed33c9f Define the program rule. 7899e52f Define compound statements. 40b2cd83 Stub in statements. 6ac7dba3 Stub in expressions. 8eed8922 Define arguments. b16c008c Define primary expressions. 7f9e652c Define variables. 297969f5 Define identifiers. 12b7ddae Define terminators. cd25b85b Stub in a grammar. 133a38ed Add .travis.yml. 2ef04351 Add package.json. ed52ba8d Add index.js. 4c0cf7fd Add binding.gyp. 53351c5e Add .npmignore. 1fea0992 Basic setup. REVERT: ddf4b779 :robot: REVERT: 704757a5 add a mode to print language names REVERT: a6af59f1 update to clap 3.0.0-rc.7 REVERT: 2d730c55 :art: REVERT: e2a4f797 update dependencies REVERT: a84ebd63 Merge pull request #54 from jesse-c/add-elixir REVERT: 13550bee sort language names alphabetically REVERT: c9e2bf61 sort language names alphabetically REVERT: bae95a11 generate snapshot for Elixir REVERT: ed29063c use "elixir" for the matcher name REVERT: a7ad0dae update to the latest nixpkgs REVERT: 073bb613 use flake if possible REVERT: 04a40bbc Add Elixir REVERT: b69f4879 Merge commit 'b24d8fbd96b9f8966cb725eda06f8b8aadf2c3a0' as 'vendor/tree-sitter-elixir' REVERT: b24d8fbd Squashed 'vendor/tree-sitter-elixir/' content from commit 1b3ecf7 REVERT: 4aa939d3 Merge pull request #53 from BrianHicks/dependabot/cargo/serde-1.0.132 REVERT: e7bce9d9 Bump serde from 1.0.131 to 1.0.132 REVERT: b44c6f7c Merge pull request #52 from BrianHicks/dependabot/cargo/serde_json-1.0.73 REVERT: ea2f0b03 Bump serde_json from 1.0.72 to 1.0.73 REVERT: 2eb49d27 Merge pull request #51 from BrianHicks/dependabot/cargo/serde-1.0.131 REVERT: 5d888045 Bump serde from 1.0.130 to 1.0.131 REVERT: 434fe3c4 log C++ support REVERT: f623ea7d Merge pull request #50 from BrianHicks/release-2.1.0 REVERT: ff7a2415 Merge pull request #49 from BrianHicks/warn-less REVERT: bec8a20f add changelog REVERT: b0a7f3cb bump to 2.1.0 REVERT: 331be63a Merge pull request #48 from BrianHicks/update-deps REVERT: b7222c1b turn off warnings in all external code REVERT: b9283545 update snapshot test for Ruby REVERT: f3955190 update vendored tree-sitter-typescript REVERT: a4e4a011 Squashed 'vendor/tree-sitter-typescript/' changes from d598c967..111b0776 REVERT: a3fb50a7 update vendored tree-sitter-rust REVERT: c7e8db3d Squashed 'vendor/tree-sitter-rust/' changes from a360da0a..e06d078a REVERT: faae5f53 update vendored tree-sitter-ruby REVERT: 4086f63a Squashed 'vendor/tree-sitter-ruby/' changes from 391269d7..888e2e56 REVERT: 04ed6b3a update vendored tree-sitter-javascript REVERT: 4fa020ca Squashed 'vendor/tree-sitter-javascript/' changes from 6ec8014d..fdeb68ac REVERT: e1079ebc update vendored tree-sitter-haskell REVERT: 2425a253 Squashed 'vendor/tree-sitter-haskell/' changes from 30eea3c1..d72f2e42 REVERT: cfb97800 update vendored tree-sitter-elm REVERT: 8da8e598 Squashed 'vendor/tree-sitter-elm/' changes from d32d4436..7ef899bf REVERT: 8cb70b93 make this less repetitious REVERT: f09440a3 add better messages when updating subtrees REVERT: 5f93f1f6 update Nix sources REVERT: 85a1bbf7 Merge pull request #47 from BrianHicks/json-lines REVERT: 3dfe5b87 Merge pull request #39 from BrianHicks/dependabot/cargo/tree-sitter-0.20.1 REVERT: e9701551 :art: REVERT: 168c4b1d update snapshot tests with new version of tree-sitter REVERT: ac65e2a2 add a test for json lines output REVERT: 5ed4cf04 add a json-lines format REVERT: 5f3c2128 silence warnings we can't do anything about REVERT: 32e8c798 Bump tree-sitter from 0.20.0 to 0.20.1 REVERT: e163378f Merge pull request #32 from BrianHicks/dependabot/cargo/cc-1.0.72 REVERT: 7bcaab93 Bump cc from 1.0.71 to 1.0.72 REVERT: f260502a Merge pull request #41 from BrianHicks/dependabot/cargo/serde_json-1.0.72 REVERT: 3a54ff92 Bump serde_json from 1.0.68 to 1.0.72 REVERT: 2c2973dd Merge pull request #46 from ymarco/main REVERT: 175c6ce0 revise instructions for adding languages REVERT: dac33d60 Merge pull request #38 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-16 REVERT: 053cd524 Merge pull request #43 from BrianHicks/dependabot/cargo/anyhow-1.0.51 REVERT: 25d69b69 Merge pull request #44 from BrianHicks/dependabot/cargo/itertools-0.10.3 REVERT: f4dfbccf Merge pull request #45 from ymarco/main REVERT: 95ec6bfd Add cpp support REVERT: d91b16fc Merge commit 'b337e3879c8a5bccfed0e73deeb8cb8d0e2955bc' as 'vendor/tree-sitter-cpp' REVERT: b337e387 Squashed 'vendor/tree-sitter-cpp/' content from commit e8dcc9d REVERT: 36b38729 Bump itertools from 0.10.1 to 0.10.3 REVERT: 276838b1 Bump anyhow from 1.0.44 to 1.0.51 REVERT: c109b99f Bump cachix/install-nix-action from 15 to 16 REVERT: a6353bd7 add cachix instructions REVERT: 8a2cf06a Merge pull request #33 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-15 REVERT: 9b99283c Bump cachix/install-nix-action from 14 to 15 REVERT: 93b331a2 fix errors REVERT: 4d06d6c8 update nixpkgs REVERT: 4a14fd58 Merge pull request #25 from BrianHicks/link-post REVERT: 1ff98888 link the intro blog post REVERT: ff03ad78 Merge pull request #24 from BrianHicks/dependabot/cargo/cc-1.0.71 REVERT: 9361ceee Bump cc from 1.0.70 to 1.0.71 REVERT: 42c82446 bump to 2.0.6 REVERT: 66e00e18 Merge pull request #21 from BrianHicks/walk-fs-parallel REVERT: 733d7719 make the names better REVERT: cf470e20 walk the filesystem in parallel REVERT: aee3d2f5 extract a case on language to language REVERT: cf198588 Merge pull request #20 from BrianHicks/dependabot/cargo/serde_json-1.0.68 REVERT: 69011a86 Bump serde_json from 1.0.67 to 1.0.68 REVERT: f20261bd Merge pull request #19 from BrianHicks/dependabot/cargo/insta-1.8.0 REVERT: 084bab2c Merge pull request #18 from BrianHicks/dependabot/cargo/anyhow-1.0.44 REVERT: c8941245 Bump insta from 1.7.2 to 1.8.0 REVERT: e7ce985d Bump anyhow from 1.0.43 to 1.0.44 REVERT: 19ffc654 Merge pull request #17 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-14 REVERT: ed29eb51 Bump cachix/install-nix-action from 13 to 14 REVERT: 2ee278a1 whoops, update the lock file too REVERT: ea1165ba bump to 2.0.5 REVERT: da151619 Merge pull request #16 from BrianHicks/update-flakes REVERT: 773f624d Merge pull request #15 from BrianHicks/dependabot/cargo/tree-sitter-0.20.0 REVERT: 65bb361c update flake versions REVERT: 692f1b20 fix compilation error for tree-sitter 0.20.0 REVERT: 5221469d Bump tree-sitter from 0.19.5 to 0.20.0 REVERT: 7b473ea2 Merge pull request #14 from BrianHicks/piping-into-things REVERT: c70bca97 bump to 2.0.4 REVERT: 38edcf68 pull in this thing cargo snuck in? REVERT: 92bf2228 don't exit error for a broken pipe REVERT: 32f79b91 Merge pull request #12 from BrianHicks/dependabot/cargo/serde-1.0.130 REVERT: a1f881bc Merge pull request #13 from BrianHicks/dependabot/cargo/cc-1.0.70 REVERT: cf3aaa2a Bump serde from 1.0.129 to 1.0.130 REVERT: e9b9a909 Merge pull request #10 from BrianHicks/dependabot/cargo/serde_json-1.0.67 REVERT: f551813a Bump cc from 1.0.69 to 1.0.70 REVERT: 12203fad Bump serde_json from 1.0.66 to 1.0.67 REVERT: 0a74dbbb Merge pull request #9 from BrianHicks/dependabot REVERT: 14e3fafc set up dependabot for Cargo updates REVERT: 7e8b9f5b bump to 2.0.3 REVERT: 476013ef Merge pull request #8 from BrianHicks/fix-off-by-one REVERT: 5b05e113 fix off-by-one in outputs REVERT: 25e4e716 add an overlay for tree-grepper REVERT: 5ee1612b Merge pull request #7 from BrianHicks/macos-builds REVERT: 64fcd917 remove separate clippy check REVERT: 879c5d50 darwin inputs are needed in the shell too REVERT: 00ea0855 fix formatting in build.rs REVERT: e72d1ada nixfmt on the flake REVERT: 11ff38ff I don't think we need these auth tokens for the no-push steps REVERT: e18350af add separate clippy and rustfmt checks REVERT: 54525477 document why these build values REVERT: 0642bb6d be specific about which macOS builds I want REVERT: 6698ce93 add macos builds REVERT: 4b4449f6 Merge pull request #6 from BrianHicks/flake REVERT: c7eec637 remove the niv sources REVERT: 265b612f add --no-gitignore to TS tests REVERT: aecd7122 only look in examples for Rust REVERT: cfdd6551 add --no-gitignore to Ruby tests REVERT: 1de05bf7 add --no-gitignore to JS tests REVERT: fc2653e6 add --no-gitignore to Haskell tests REVERT: 3a084b77 look in examples for elm tests REVERT: e02b1260 try using nixpkgs-unstable REVERT: cf1f9ed8 upgrade deps REVERT: 7687f57a move the dev dependencies into the flake REVERT: 8cc29918 use flake-compat for default.nix and shell.nix REVERT: 4cb6ddb7 move default.nix to flake REVERT: 6768fc30 initialize a flake from the naersk template REVERT: df7ee96f bump to 2.0.2 REVERT: af9a9ee5 Merge pull request #5 from BrianHicks/anonymous-matches-in-clauses REVERT: ec8625f2 remove unnecessary format! call REVERT: 38443b16 fix up the README to talk about ignored matches REVERT: f712869a clarify the cases we care about for names REVERT: 7f94e9b5 make underscore-ignored matches still work in conditions REVERT: 4a25a366 separate parsing and make filename optional REVERT: d020ab59 Merge pull request #4 from BrianHicks/2.0.1 REVERT: bf186bcd update a couple deps REVERT: 90a98333 bump to 2.0.1 REVERT: 19128c54 Merge pull request #3 from BrianHicks/filetype REVERT: 0ef2cc1f update snapshots REVERT: ed96a40f add file type to JSON output REVERT: 8fbe8dd5 clap errors include a newline REVERT: 8ca4f8e7 document squashing REVERT: 0f735d87 Merge pull request #2 from BrianHicks/buffering REVERT: b61233aa buffer output (seems to be something like a 20% speedup?!) REVERT: 89d18733 Merge pull request #1 from BrianHicks/ci REVERT: 0998b10c move clippy into the default build REVERT: 166dbaee use sorting in the tests REVERT: ed122bb2 add the option to sort the output REVERT: 6e8096b9 use our pkgs instead of gitignore's pinned pkgs REVERT: 4d1cb041 update sources REVERT: 56929f8e add GitHub actions CI REVERT: 77fb7196 turn on checks as part of the build REVERT: f42dc059 upgrade deps REVERT: a01aa580 Squashed 'vendor/tree-sitter-typescript/' content from commit d598c967 REVERT: f13b0ec2 Merge commit 'a01aa58053f8f6ff5bc321566009908f85c93e6d' as 'vendor/tree-sitter-typescript' REVERT: 5908d609 Squashed 'vendor/tree-sitter-rust/' content from commit a360da0a REVERT: ccbb0e69 Merge commit '5908d6099fbf4b58b84cc8c93226cd66224c581d' as 'vendor/tree-sitter-rust' REVERT: 8ec19ffa Squashed 'vendor/tree-sitter-ruby/' content from commit 391269d7 REVERT: 963564ec Merge commit '8ec19ffa34b7db4b1e56a4164e6a7b1cdebbf1b9' as 'vendor/tree-sitter-ruby' REVERT: 7e526483 Squashed 'vendor/tree-sitter-javascript/' content from commit 6ec8014d REVERT: 401f03e9 Merge commit '7e526483722b97493b104d301d0e948a31c5a716' as 'vendor/tree-sitter-javascript' REVERT: 94888ba5 Squashed 'vendor/tree-sitter-haskell/' content from commit 30eea3c1 REVERT: b7f8bacf Merge commit '94888ba58c8f3b50492033c1ce51a07ca12cd485' as 'vendor/tree-sitter-haskell' REVERT: d093a07f Squashed 'vendor/tree-sitter-elm/' content from commit d32d4436 REVERT: 18c232b2 Merge commit 'd093a07f5b3c006f0fe702759485b1fb3397078f' as 'vendor/tree-sitter-elm' REVERT: 644aefea use --squash in all the updates REVERT: da18ae59 add cargo-edit REVERT: 689cef25 remove the tree-grepper cargo wrapper REVERT: c6a20300 document the update command REVERT: bc6f5d5e redo update script to use subtrees REVERT: dbae9dc5 update snapshots with new acceptable diffs REVERT: 0f6fdd56 no more submodules! REVERT: 6292ca4f revise instructions for adding new languages REVERT: 3fdf0c16 remove submodules REVERT: ea9ca37e test TypeScript REVERT: 66264955 correct language name for typescript REVERT: 067241f5 string names should be upper-case REVERT: 2ed9a0a2 test all Rust nodes REVERT: c643089c test all Ruby nodes REVERT: bbf5a352 test javascript output REVERT: deb81fab fix clippy warnings REVERT: c74ef4d5 fix using the wrong language name in matcher REVERT: 8597f478 match all Haskell nodes REVERT: 702c4ec3 match all Elm nodes REVERT: 48ed3076 add a test for pretty JSON REVERT: f1d0b9cb test (un-pretty) JSON output REVERT: 94b99aa4 add our first snapshot test! REVERT: 1c0bb54b make args a parameter as well (and handle failures nicely) REVERT: 459f45fa make try_main take a sink REVERT: 172ff2c7 add a JSON pretty-printer to output REVERT: 507a584f add insta for testing REVERT: 43905464 update README REVERT: 9e1bb159 re-add the rest of the lanaguages REVERT: 2f23ff4e use upper-case meta var, per convention REVERT: 4b35d73e list languages REVERT: 34f41d1a replace this TODO with an explanation REVERT: 36691923 nah, this is fine REVERT: 6e3f8090 remove the 1.0.0 branch REVERT: f4b26cda borrow instead of cloning the name REVERT: 90530133 this just won't be called if there are no matchers REVERT: 20125bed get rid of the other thing we used language for REVERT: d0d20f56 only call language.language() once REVERT: 2b55e972 add a match name if none is provided REVERT: fdd4707e proactively disable underscored captures REVERT: 063e1ed8 precalculate which items to keep or drop REVERT: 641a6717 remove names that start with _ REVERT: 62c049dc use a global allocator REVERT: 894750af clean up imports REVERT: 0469f7d1 get rid of the custom wrapper REVERT: 2e1ef80a rearrange fields to match definition REVERT: 7e63b5a8 write JSON output REVERT: 931b4694 add format argument to the opts REVERT: 68f0913e don't put extra blank lines between match lines REVERT: 3199981b actually format things! REVERT: 1e181f44 refine error message for parse failures REVERT: 408870a2 only print files with matches REVERT: 05e8adc1 capture captures REVERT: 10b85bea extract more information to the match REVERT: e8508063 extract to a sub-struct REVERT: 566e6ef6 initialize the parser per-batch REVERT: fe00e50f extract matches! 🎉 REVERT: 82a2586a 🎨 REVERT: 26040d45 add a note for later REVERT: 9a83408a capture stuff in the query REVERT: dd051a73 parse a tree REVERT: f2414a17 read source to string REVERT: 418fce04 only use one implementation REVERT: 107d4f2a 🎨 REVERT: edc26eb7 implement SingleChoice REVERT: d4ee16bf be more precise in this error message REVERT: 1a6f2e30 finish doing our matching REVERT: fbaf17e1 return a borrow REVERT: ad0b402d clean up clippy warnings REVERT: e896f1e8 wire up the matchers REVERT: fe995613 print some stuff REVERT: af29e39d start pulling out an extractor REVERT: fb1ef123 finish out the sketch of matching REVERT: c5e1c50b separate the code into stages REVERT: 4933e9d9 do filetype match filtering myself REVERT: cbb2a8ba figure out which matcher we want REVERT: 64de569a stop reading for now REVERT: 119c120c combine queries REVERT: 33219dd1 make parsing queries a lot more readable REVERT: 560af235 keep the entry around REVERT: 86544786 read sources REVERT: 0f63e508 print entry paths for debug's sake REVERT: e8307a08 match filetypes REVERT: f94185b1 add an option to avoid doing gitignore REVERT: 2581302b a little more info for PATHS REVERT: 71b6897c create a filesystem walker from the opts REVERT: f1f51e2c add paths to the opts REVERT: bd07a7a6 make error message a little nicer REVERT: 3fce4d4b move queries to a separate method REVERT: fe4c05a2 move parsing to a new module REVERT: 08789bb6 friendly up the error messages a little more REVERT: 765b20d9 add a few nice tests REVERT: 7fb99cbe parse queries REVERT: d481d2d2 oh boy this sure is some parsing work huh REVERT: b189ce6f add Rust to Language REVERT: bf592a76 use ignore to walk directories REVERT: b03d21a7 unwrap the path results REVERT: 66d64048 parse a language from the command line REVERT: b4242659 make error nicer REVERT: 4a3f67b4 add a basic Language implementation REVERT: 1f53c7cc introduce parallelism REVERT: 5ecf145f walk the filesystem REVERT: bd52fdae add an extremely basic CLI interface REVERT: 3fd5f547 move the 1.0.0 source into a separate directory REVERT: 62cfa89a call it 1.0.0 REVERT: facc9c36 add Typescript support REVERT: 197bda1a update roadmap REVERT: 0a0dee82 add hippocratic license REVERT: 29b957d8 update cargo deps REVERT: 129caa48 update sources REVERT: 56745c74 update parsers REVERT: 181d75a4 update cargo deps REVERT: 565976fe move back to main.rs now that there's only one binary REVERT: 33e7fce7 remove tree-grepper-dump REVERT: c61d12eb print node kinds in the JSON output REVERT: cdf01e3f downgrade to avoid a broken version REVERT: 84d8862d update cargo deps REVERT: 52bb9216 update submodules REVERT: f37fe4de turn off warning logspam when building vendored tree-sitter parsers REVERT: 988957e1 update submodules REVERT: f686f3e7 add a script to udpate submodules REVERT: 1f007817 add rust REVERT: 7d5eb9a7 add Haskell support to tree-grepper REVERT: 17e8dac9 add libiconv dependency REVERT: 3765aae3 update package versions REVERT: f55e55eb use submodules instead of subtrees REVERT: 6b6722a6 remove subtrees REVERT: 7b1bd2a7 fix file matcher REVERT: 055330b2 add JavaScript support REVERT: e6c6e3fc use a char instead of a string? thanks, clippy? REVERT: 9a93afbf Merge commit 'd5621bb8035de6d9d21bcbff84efc2a2df3a474a' into main REVERT: d5621bb8 Squashed 'vendor/tree-sitter-ruby/' changes from 5021a6a6..1fa06a9e REVERT: 03bb233c Merge commit 'ea3bf266d0776dc2e3fe757a202bdbf45221b97a' into main REVERT: ea3bf266 Squashed 'vendor/tree-sitter-elm/' changes from 06a8ff7c..117dcf4c REVERT: dae91b20 update languages in the subtrees REVERT: 8814dc45 Merge commit '16a05dabe26c20c98c83474365ac0aedc18b06a4' as 'vendor/tree-sitter-javascript' REVERT: 16a05dab Squashed 'vendor/tree-sitter-javascript/' content from commit 1eee0d3f REVERT: 01d0d46a don't output names that begin with underscores REVERT: 37729b9b group captures in JSON output REVERT: 6b7124bf remove dead Point code REVERT: 6904801f update cargo deps REVERT: 500ac238 update sources REVERT: b20fc892 pass the language so I can actually query Ruby stuff REVERT: 2480b090 add wrapper scripts to make running exploration commands easier REVERT: 1d423444 enable predicate matching by returning text correctly REVERT: a30fa194 make tree-grepper-dump work with multiple languages too REVERT: 020a3399 talk about forwards-compatibility in the docstring REVERT: 9c351d28 parse ruby files REVERT: cbde19c3 Squashed 'vendor/tree-sitter-elm/' changes from 4da453fe..06a8ff7c REVERT: 74089398 Merge commit 'cbde19c3d59ddfb7622d252f55306997d250c335' into main REVERT: ee77aa3c compile tree-sitter-ruby REVERT: 9d1c9bba Squashed 'vendor/tree-sitter-ruby/' content from commit 5021a6a6 REVERT: d32a27f0 Merge commit '9d1c9bbaa226627f94f3a527d3eb671aad8732c0' as 'vendor/tree-sitter-ruby' REVERT: b7c1d570 add a --language flag REVERT: 4922e69b take care of clippy warnings REVERT: a969df5a add more TODOs REVERT: 7f1edd11 move name after row and column REVERT: 7aa9c54c update crates REVERT: 2f06a87c update sources REVERT: 8c8dadc2 fix another off-by-one REVERT: b3476981 fix off-by-one error REVERT: ef592f10 add the minimum possible s-expression dumper REVERT: 7a010a3f move to the bin directory to start separating stuff for multiple binaries REVERT: 97f3c338 update cargo dependencies REVERT: addbca55 update sources REVERT: 62ab05b4 update TODOs REVERT: 36850479 add match names to output REVERT: 5c5900a2 add real JSON output REVERT: a4ca8e8a add a formatter for doing nice formatting things REVERT: 66c28852 rename VisitorBuilder to Gatherer REVERT: d1a539ee use channels to extract our data back out again REVERT: 840b517f move the walking behavior to a visitor pattern REVERT: 58c26334 accept different kinds of formats REVERT: 90af002a handle the paths a little more gracefully REVERT: 0b907e66 only initialize query once REVERT: f30ff20c fix stuff from clippy REVERT: aa7edd0d make writing queries a little nicer REVERT: f19f9d5a put JSON output higher REVERT: 5c5e8788 add the rest of the filter flags I wanted REVERT: ce15ef80 add ignore files REVERT: b927160f add max_filesize REVERT: a9bdaaff call builder methods in the same order config fields are defined REVERT: 2effce68 tiny grammar fix REVERT: a949f664 add some quick benchmarks REVERT: 1d5c2c78 update binary name in README REVERT: 4883dd0c print what the output actually is REVERT: f87f3626 mark the first step as done REVERT: b69d9d21 match on queries REVERT: 67e4eb0c parse each file to a tree-sitter tree REVERT: 3f608d43 don't use a library for handling errors... just exit REVERT: 7ae2521b print out the files we're walking REVERT: decf63eb add TODO for later REVERT: d2e81a39 only match Elm files REVERT: bb21f4de grab the parser and query REVERT: 04e300f1 walk the directories recursively and in parallel REVERT: ee7246ab minor refactor while I'm thinking of it REVERT: 92c14f5a walk using ripgrep's walker instead REVERT: dc279d88 walk the provided directories REVERT: 0b98224f add roadmap stuff about non-Elm languages, as if those exist psh REVERT: 82301841 update cc to 1.0.62 to get the better error message REVERT: 1738512f parse command-line opts REVERT: 18da50af load the tree sitter grammar REVERT: 2c4090ce set up error handling harness REVERT: 3cd59bb6 meta changey thing. Maybe not fine, but seems to work? REVERT: 43076450 add xcbuild to get around cc errors REVERT: 1dae29b1 add tree-sitter dependencies REVERT: f83049cf add script to update subtrees properly REVERT: a31185d7 Squashed 'vendor/tree-sitter-elm/' content from commit 4da453f REVERT: 634ef430 Merge commit 'a31185d78586a84ea284673b023597a1c071f768' as 'vendor/tree-sitter-elm' REVERT: eaebe868 add README REVERT: 36bb1a5a make nix-build do what I want REVERT: 4afd5132 cargo init REVERT: 345a0414 nixify git-subtree-dir: vendor/tree-sitter-ruby git-subtree-split: 888e2e563ed3b43c417f17e57f7e29c39ce9aeea
BrianHicks
added a commit
that referenced
this issue
Jan 18, 2022
d6ccd2d9 Improve highlights query for functions (#73) 94764563 Add fixity keywords to highlights query (#72) 48d00d12 Document tests (#71) b6ec26f1 Add skipping back to C scanner (#65) 86996924 Fix gcc -Wall warnings (#66) cf876e91 A few scanner microoptimizations (#63) 22326f18 scanner.cc -> scanner.c (#64) fe032d47 Updates macOS support after #62 (#61) c21736bf Convert scanner to C for great good (~˘▾˘)~ (#62) 8c97d427 Update patch after #58 (#60) b6849c15 Support c++03 (#58) 94684a97 check for eof in inline_comment skip code (#57) d7978dbf Compile to wasm with patch to web-tree-sitter (UPDATE) (#56) d4c67bb7 Faster Scanner (part 2) (#54) 63528a6c [wip] Faster scanner (#52) 2e6acc02 force parser compilation before testing an example e0da97b2 add timing info to example parsing output 812426dd scanner: replace a `when` chain with a `switch` d0d7e68b add mssing test target 229c8442 update Cargo.toml e847e173 fail cpp on eof d72f2e42 skip initial whitespace instead of consuming it (#48) 6668085e allow % before closing parenthesis :see_no_evil: e4b0a016 allow % before closing parenthesis 717c8174 allow % before closing parenthesis 3a4bd97a support LinearTypes 701e6194 Fix logic error in comment parser bf7d643b fix(macos): latest brew symlink gcc-11 in readme. (#46) acafd11d fix infinite advancing on open quasiquote (#45) f219f42b add missing target for a test case 5a0c996b permit qualified varids for quasiquoters bcd55577 mention `clang++` in readme c3561027 add nvim config snippet for installation from source 30eea3c1 support TransformListComp dbd0f710 allow empty quasiquotes bc85d747 give some advice about gcc in macos 9a43d061 handle quasiquote bodies that start with operator chars correctly 9c1fd425 skip newlines in the scanner a0c1adb5 Improve Haskell highlight queries (#40) 5d9b8c39 mention how to set a compiler for nvim-treesitter 237f4eb4 run GA on PRs adbbb9e9 Merge pull request #38 from lunixbochs/master d3fde2bd add <string> and <iterator> includes for MSVC 004f2709 support UnboxedSums 79a458bf mark NondecreasingIndentation as unsupported 40b0c2f5 support EmptyDataDeriving cabdfb7a support CApiFFI, GHCForeignImportPrim 0e627dd3 support HexFloatLiterals 72202d75 support InterruptibleFFI d985c3d7 support StandaloneKindSignatures ffc08f68 support UnliftedNewtypes 8509d754 make extension list bulleted 5a5efb1e add list of supported extensions 2e33ffa3 set cli version in devDependencies to 0.19.4 8d63249b warn about version requirements 381dca04 remove nonexisting rules from `inline` 1b00b9fb test for line numbers ea3a3f80 bump tree-sitter 26d3daa5 Fix badge. 24cf84ff add HLS to the corpus b2fd1ce9 support all newline types 08ca1429 use `uint32_t` instead of char everywhere in the scanner a9ab7ae1 support OverloadedLabels 73951ead parse `in` in the scanner to disambiguate an edge case 9d4c21c3 allow TH in types 43daff83 unboxed tuples in types 86ff8fa0 allow parenthesized operators as patterns 7488c97b quasiquotes in patterns e810fef7 splices in patterns 7e345c6b allow double dollars for splices fabc78c8 allow signatures on funpats b4877cac allow double-parenthesized constraints ec7d856f allow type operators in imports 16e179f4 allow `else` to end a layout 2a316163 require whitespace after `!` to use it as operator 92515ac2 allow vertical bars to terminate layouts b1133d51 fix bug in layout initialization if the first token starts with `m` e6334c95 relax the requirement for pattern signatures 8673182b end layouts when the next line begins with an operator on leq indent 79f8250c magic hash for literals d81e5507 pattern type signature e10d8cc5 trailing comma for imports 02b00de7 add unboxed tuples 388ab1b0 add type roles 5b62941a allow type equations in classes 3db166a4 consume all newlines before parsing cpp 97150c20 add semantic to the corpus 907592de allow view patterns in record field patterns 4190572e allow implicit parameters in type aliases ad94a794 infix type family equation 5826a39e NamedFieldPuns for expressions f847b920 use unicode class for whitespace 7fb3e57c `deriving via` for instances 6471180d improve operators 5bd57dac allow qualified class in deriving clauses 8266e0f6 small fix 09356fc4 support arbitrarily nested foralls/contexts 4314c842 support consym in simpletype f88d3cf4 add polysemy to the example corpus 4297762d support for QualifiedDo 9e4d84e2 better naming for pattern synonyms 3f1bff2c disallow space in escaped character literal a1fa2185 relax rule for chars 5d2bfee6 tweak naming of modids 001369f0 improve naming of con nodes 3cae5914 fix simpletype to support operators ecc80ee6 rename constrs to constructors 5d5b61f0 fix unicode handling in scanner 9f0b1a39 fix regression about minus operator 3b2ea9f1 ban minus from right sections 6b067dda newtype gadts 3479ce69 add missing BlockArguments expressions 9f266275 test for nested comment 98444460 fix small regression da071bf8 fix tree-sitter config object in package.json c37c68e7 Run GH actions CI on every branch eafe236f Replace travis badge with GH actions badge in README 267da702 rewrite the grammar (#29) 2a0aa1cb Merge pull request #20 from tree-sitter/indent-stack-crash 7e914449 0.13.0 25387f44 :arrow_up: tree-sitter-cli (new ABI version) 98c90316 Add example repos to gitignore 59d929cd Parse 'ʹ' as a char literal d58d4ccb Add pattern_guard rule c4ae83cc Treat as a variable symbol for guard expressions 3a548f07 Regenerate using tree-sitter-cli v 12.7 e2f4fc5f Allow special guard pattern to be parsed as an infix operator application b7e8e4ea Update constructor rules to use regex 28d0d533 Remove comment c24fc531 Merge branch 'master' of github.com:tree-sitter/tree-sitter-haskell 9f752d7b Refactor quasi_quotation 60de1ae0 :arrow_up: tree-sitter-cli, add explicit word token ef49e9ca Add examples directory eb4c2523 Do not alias _import -> import / hidden_import e12758e7 Separate scoped type variables from contexts c2d0c78d Name type constructor export rather than alias ee1ff6c1 Check for empty indent stack 33f07f66 Fix bug in scanner, :tophat: @philipturnbull 2be101d5 Check in grammar 570efdd2 Add script/parse-examples to package.json 6e0607a7 Update pattern synonym 6530bc40 Add parse-examples script 5d6e648a Fix scanner layout bug 0dd2a618 Parse CPP directives as an `extra` e9e43967 Fix quasi-quote parse bug c5915bbc Fix parsing problems involving pragmas, multi-line comments, and comments 41deb048 Corrects flaw in variable_operator that allowed in some cases to match against `--` (empty comment) 3e1b2112 Consuming the newline at the end of a `--` comment in some conditions creates invalid parse states. d5b82014 Shuffle equality constraint, and allow for quoted names in context class position 167e273e Revert pragma parsing -- treat pragmas as an extra 4953b0a5 Fix problem with where layout edge case 2f17c31b Remove C++ -- this is not stable 22375358 Support contexts like `((Y a b) :< c)` 456db068 Specify scoped type variables and context for individual data constructors cd198a9b Change promoted_type_constructor -> quoted_name 8d2ceb9b Add support for XLambdaCase 11a89a59 Support annotated type variables in function declarations a1580e3a Allow for pragmas in gadt constructors dad63e88 Support package qualified imports 43e70c20 Allow for additional where (prior to terminating an existing statement) a76c3909 Allow for zero or more options within ghc options pragma 604540a1 Remove unneeded precedence b1c5911d Generalize annotation pragma type synonym 39d846fc Add dynamic precedence to annotated_type_variable to favor type signature (over kind signature) f3d20ab7 Update scoped type variables to use type_pattern 2efdb5ca Add cpp extra 18cfbe1a Re-enable individual pragma parsing 35ba1424 Further disambiguate between scoped type variables and contexts ce2e90e4 Add test for `module A` exports 89cae2ea Better handling for contexts appearing within scoped type variables ef670662 Allow type synonym declarations with parenthesized type patterns fa0de74d Support primitive constructor and variable identifiers in import declarations 7f407d6c Support type constructors in export lists fe701b0e Correctly handle `-` in problematic positions 7854487a Beef up variable_symbol regex patterns 24c754dc Choice over _type and infix_operator_pattern in class a98b3e3b Re-enable top level function application (for template haskell) 3d061719 Add precedence for type class instance declaration 7c8f7ce1 Clean up of conflicts bfdb8c6c Allow contexts for algebraic datatype constructors e82fc6f3 Capture trailing newline with comma regex 7ee0d736 Allow empty comment 4fb708b7 Add exhuastive tests for type class instance declarations 97973523 Allow for repetitions of atype for non traditional class contexts 175092b7 Allow instances whose class is a promoted variable d8f7416a Unify context with type_pattern 00c44e82 Update constructor symbol to use regexes 65bf61b8 Convert variable symbol production to regex choices e21eeccb Add back equality constraints 10b37008 Simplify and restrict variable / constructor symbols d3efec4e Merge pull request #15 from tree-sitter/restrict-operator-definition ad4083d5 Don't allow '=' to be parsed as an operator 0746128e Add scoped type variables to GADT declarations 648070bb Allow scoped type variables for type class instance declarations c316e04b Allow scoped type variables within algebraic datatype declarations b1248a06 Support strict types in more syntaxes bb9c178c Support constructor and type operators within parenthesized type patterns e88e7f32 :fire: the instance production and :fire: all the (related) conflicts 7d58ef78 Checkin grammar 1cd39ad9 Support type constructor operators as gadt constructors 49e15233 Support kind signatures for GADT declarations 37546dac Support implicit parameter contexts and identifiers c11c335a Use type_pattern for simple_type e338e9a0 Allow multiple functional dependencies 7940c09e Support trailing commas in module export lists b48e6143 Support functional dependencies 6cbaef93 Add associativity to _general_type_constructor f9adf87b Add associativity to constructor_pattern 5564b876 Add repeat for general_type_constructor 1aa9971e Remove list_instance and tuple_instance; combine with list_type and tuple_type f2e0736b Add associativity to algebraic datatype declaration production 183ad7b7 Add precedence to data constructor and instance 3264c925 Add _pattern precedence 11f68387 Save a conflict with atype d0f04158 :fire: conflicts 8a446e56 Prevent conflict with atype 07d4b6d3 Rename infix_type_operator_application -> infix_type_operator_pattern 935ce7f4 Split promoted production into two: promoted type constructor and promoted type operator 5343503f Small tweaks c5c00140 Add instance test case 149fe1bc Removes equality constraint production 3722ff4c Move production rule 851f0548 Collapse scontext and context together 2776b991 Move type family declarations from top level to regular declaration f06ed212 :fire: conflicts, reflowing, commenting pragmas eba39f34 Allow parenthesized type patterns to contain scoped type variables and contexts 17351d52 Allow tupling / list constructors in instances 18f51d1f Allow mixed types within kind signatures ce7bf090 Support ',' as a char literal ac535d42 Label each expression within a list or tuple expression 4d28b85c Support list, tuple and unit constructor within class contexts 4f6902df Allow promoted constructors within class 944cf710 Add more support for type / kind signatures 85114834 Move pragmas corpus examples to corpus-extras 67f914bc Add pragma as an extra e0a44f60 Use type class identifier for parenthesized contexts f3d147d9 Checkin grammar.json and parser aedd5bca Allow kind signatures in type class declarations dd7bcc6c Update class to always use type class identifier 31288e58 Checkin grammar.json a9d363c3 Grammar updates 82a38b96 Add PREC constant for easier identification 2376eb22 Type instance declarations can occur within class declarations b70bf39d Adds choice rule for qualified type class identifier 8f2fabdf Refactor pragma rules f86b2031 Remove top level function application b2b75415 Add type instance declarations 75d2f6d4 :fire: conflicts 4b688c78 Tokenize strings 89a22938 Add associativity 3d59f38a Optional where 18fefac9 Add multi-line string test case fa4ea97e Add additional promoted type synonym test 6363c7f2 Add promoted to _general_constructor group 4e2f7c68 Allow parenthesized_type within simple_types 52f75a60 Allow for expressions in the body of type synonym declarations 284c613d Add view patterns 5896eae2 Support where blocks within do blocks 6b300046 Make function_application only available in top level declaration (for template haskell) d4867898 Merge pull request #13 from tree-sitter/initialize-indent-length-stack 6886fd51 Simplify initialization logic d0f26ea8 Add comment vs pragma test 68e721d9 Check for `--` comment in initialization 1ac43541 Guard against accessing indent length stack before intialization 8f4ed20f Parse a blank file 96b0522e Add additional layout related function declaration tests 446ba54c Add additional pragma tests 7678186a Fix regex pattern and add additional tests 6d1e202e Perform an additional check for closing a layout block 8ebf211b Update layout open brace scanner logic 9e971e7f Fix comment check d48c29e6 Correct size check 6b881fcd Add initialize indent length support 29cc49d6 wip 270fa138 Add type class instance declaration tricky case d462fb08 Type class instance declarations have optional where 4d9c58b3 Perform check for terminating ')' for parenthesized expression after mark-end fb4f3bdc Allow where clause at alternative level of a case expression 2fbb2416 Add parenthesized_context production c04fd4d3 Add `|` to constructor operator symbols b2319cd3 Support fields within GADTs 575dd3ef Add support for GADTs 7e36277c Allow scoped type variables in type synonyms 9db6abda Add support for primitive constructors bb0ce0cd Remove conflict 9f4a114c Simplify funlhs and add strict pattern 8955f43f Surround function guards with function body e4afee44 Add test case for pragma within field declaration 603c68a7 Allow pragmas in field declarations 861c9687 Add type constructor operator pattern ba0afd65 Support operators within parenthesized type productions 6a90839b Allow for empty labeled patterns a01769ff Group by constructor pattern when possible for funlhs productions ee947f9d Remove associativity on _a_pattern production 7e99b5f7 Parse type families 708f1cc7 Allow parenthesized expressions in type applications 351d5daa Rework char production as single regex 259cb6f1 Check in grammar 4847e752 Support splices f2083c84 Guard where we pop the stack 15865c84 Allow repetitions of case guard patterns 7758c2db Check in grammar 68a82501 Add annotation pragma 8f0c0e5a Allow parenthesized patterns within contexts 4519fe32 Allow for single constructor class constraints 0fa35772 Match against `|` in variable operators 640ce1cd Support type signatures with multiple contexts 654f4b5e Allow type synonym declarations to have contexts 4356fb54 Add file_header_pragma choice group 8d430fdf Update choice for file-header pragmas 7019d19d Allow more flexible regex for OPTIONS_GHC pragma 1af1f870 Add annotated type variable production for type class declarations 2aee8483 Support default signatures in type class declarations cd12b57f Allow equality constraints within type class instance declaration contexts 69b1b5a9 Allow for partially applied infix operator applications 1ec2018c Revise parenthesized_type_constructor to more general form 3a31a3ce Add check for closing parenthesized expression 0943c262 Support list type and tuple type in simple class productions ff5cd97c Support qualified constructor operators 816d3dd2 Allow nested parenthesized type constructors 549e154b Add handling for i edge case 5372fdcc Add more general support for promoted constructors c976770e Allow for scontexts with multiple type constructors c3b8cb1d Add test cases for record wild cards, named field puns, and mixed field patterns 8bd89694 Add record wild cards bfbc7c6c Add named field puns 5e868c31 Add qualified constructor composition test cases c02fbd92 Check in parser b9a52cb4 Merge branch 'master' of github.com:tree-sitter/tree-sitter-haskell ef115e2c Add composition with qualified names tests dc5325a0 Add type application tests 4810b4e3 Add todo for resolving ambiguity 46ca930f Support type applications 4958196f Move constructor pattern from lpat to a_pattern 35ff68bc Add prec to class, simplify qualified constructor identifier 8ee32e18 More cleanup bdf5eb80 Review qualified constructor operator f2323ddc Review qualified constructor identifier 20468dab Review qualified variable identifier da226d46 Simplify qualified type class identifier 386da901 Revise qualified type constructor identifier 7578dbb0 Revise conflicts e0fe174d Remove _a_pattern associativity 69bcbab3 Add external qualified module dot symbol 0e715439 Revise qualified module identifier b0064310 0.11.0 5493c880 :arrow_up: tree-sitter-cli fdaea4c9 Test for errant condition when we serialize the scanner a3094a53 Take care for -> and pop the stack if something has been pushed onto the stack 30821261 Only pop the indenth length stack when layout closing symbols are valid dea9bd73 Check for end of file for isolated sequences 4f384c7f Better disambiguate equality constraint lhs vs rhs 8e2d5fa6 Make equality constraints more general 92dbca68 Support equality constraints 762b0024 Scoped type variables come before contexts 1c7c4b97 Format for consistency ee5aa206 Add lambda_head production bd0c5638 We don't need to do this operation (we can fall through to the while) 35835afb Add isolated_sequence helper function 4523f7ae Support nested let expressions 5a11ea8c Ignore test repos for now c3349887 Update scanner watch to also run tests 84a4e215 Add _statement 5ce1e610 Refactor to _statements d4fc8dd4 Re-add conflict ed2c905c Organize conflicts d342910a Disambiguate conflict between type variable identifiers from variable identifiers c359adb4 Update associativity for top level declarations because of optional terminal 4cf09ec8 Semicolon is optional in last position f5ab36ba Use terminal production 676d03cc Support promoted constructors within simple contexts e5cc05e2 Rename parenthesized_instance -> parenthesized_type_constructor 9586f67d Support kind signatures 70610ede Support type level operators and promoted constructors 28db8e0a Remove indirection cb272f28 FIx type exports and add test case f460ef18 Support stand alone deriving instances 702ecc8b Updating names to protect the innocent 560de24c Support multi param type class instances b7b88f86 Allow for type keyword in module export lists 0e4b591e Support multi param type classes 2cafab61 Add rules pragma 03c1396a Add overlapping, overlappable, overlaps, and incoherent pragmas f2421461 Support pattern synonyms and complete pragma d4a231d6 Add no-unpack pragma 36970b3b Add unpack pragma 2383ea0c Support SPECIALIZE instance pragmas 19922ac9 Trailing declaration within `{...}` does not require terminating semicolon 61a3d1bc Not seperated by commas 4c37977d Support SPECIALIZE NOLINE / INLINE pragmas 9374a6ae Add line pragma bd037384 Add optional CONLIKE support dfcb64ba Add inlinable pragma 85ccb348 Add minimal pragma 98ceb6a9 Add scoped type variable example for multiple variables b47cf95c Support lists of strings in deprecrated and warning pragmas c050c834 Support scoped type variables b47fda6c Separate type signature tests from function declarations 3351ec7d Support UK alternate spelling for specialize pragma fcfab6ee Add line pragma 6335f01e Support phase control for inline and noinline pragmas 212837be Add deprecated pragma 7233eef2 Add warning pragma eb872b2b Add include pragma e85285b2 Add support pragmas fc2bbb38 Add support for OPTIONS_GHC pragmas 795e5d25 Add additional quasi quote example; update regex 8e5d4764 Add qualified infix operator test 79d9fd35 Reflow test 3baa6243 Update left and right operator sections to use qualified operators b181e515 Add qualified infix constructor identifier 41230f9c Add qualified infix variable operator production bda11f1d Add ~ variable symbol 81fb54af Add support for quasi quotation and tests baa724cb Add missing symbols 0cee8b16 :fire: unnecessary inline 44d4f14f Add '>>=' and '=<<' bind pattern examples 424b0267 Move production b1499ed5 Update variable symbols to include `=` for `=<<` 50d9b707 Add missing symbols for character symbols 7d41f28e :fire: unused productions f462cac5 Add lambda examples with infix operator applications 33839cae Update operator section productions to be more specific a1c0324f :fire: function_body associativity 5944ca31 Change infix operator application associativity and add expression associativity bba5c380 Inline expressions for labeled_update (subtly different from labeled construction and removes a conflict) a126d2b4 :fire: redundant production from list comprehensions 4be4ec6a Introduce _type_pattern a6b4f7e5 Necessary conflicts for now b497a239 Remove conflicts c2696d00 Remove lambda_head production 9ad3593e Relax regex for multi-line comments 568d75da Add tests for language pragmas 730a13d1 Add inline, no-inline, and specialization pragma tests f10a328e Update comment regex to exclude pragmas be07fc87 Update queued closed brace count upon first detecting layout close condition 67a8297c Tighten up scanner's check for comment f0548457 Update spec for specialization pragmas to include function types 8251ee0a Match strings 1d3db143 Correct do statement (allow empty do block {}) a5323adc Add pragma group to declarations 315d839d Add inline pragma b705b77e Add no inline pragma 0a7d82fd Add specialization pragma f15fec88 Add language pragma support 0e878ce1 Add constructor pattern rule d39fb28c Add left associativity to infix operator application 750f2ab6 Update tests for variable / constructor operator c1b46cdc Better define variable and constructor operators 00fb2023 :fire: space dc5c1b7d Rework grammar 2100329c Add WIP not to README 96b7dc0a Add _general_declaration production 7287afd8 Remove unnecessary conflicts 33a7e33b Repeat choice of variable symbols 8e953853 Allow for multiple type identifiers in field declarations 0c1a9e7f Add splat to variable symbols 514857b8 Check in parser 052437b5 Reinforce sequence of variable symbols to not conflict with constructor symbols b377e7e3 Allow ':' as an extra variable symbol (when not in first position) a7693ab5 :fire: qualified variable and qualified variable symbol productions d5eea7fe Add parenthesized constructor symbol production 3c473d9d Allow constructor symbols in import specs c3c2224d :fire: qualified type constructor production 0cd7c173 Newline 3b80521f Improve import alias options 2ea88456 Parse field updates 92e21c24 Remove function declaration with field update test case for now 049212d3 Remove let from statement edd0519a Let grammar related changes also corrected this tree 1b4b0147 Add additional test case for function declarations with `let` cdbd8797 Watch scanner changes and only node-gyp build 01ee480b Detect `in` in let productions 0fe1f72b Correct error in let production e85ecd26 :fire: unnecessary precedence 1c16f3c9 Parse right operator sections 34250598 Parse left operator sections 21da1c0b Parse let declarations within do blocks 4d77ffbe Allow function application within do blocks d14a2079 Add function declaration with guards test 93dc7c56 Add function guard parse support 4505f681 Add otherwise production ba839de3 :fire: unused code e2079f81 Add case tests 8cd6195f Add alternatives for case statements b319566a Add wildcard to constructed values 6556deb7 Add guards a8672bdd Add case statements 77f9f187 Parse let bindings with and without `{..}` cbf338a5 Add conflict for function application and expression 5b36f319 Parse let expressions d874955a Restrict layout semicolon when curly braces are used d03e1372 Add multie function declaration where clause e5b9e0c5 Add function application with list comprehension test case f7078df3 Add arithmetic sequence / list comprehension example 3a8e5a87 Add list / tuple generator list comprehension test example 33f5d238 Add list comprehension test with two generators a296327d Add simple list comprehension test 8d6a4964 Update list_comprehension precedence 81797edb Add list comprehensions 026a58ce Fix bugs in external scanner 7ef7648a Update patterns for npm watch 4e9b02ed 0.0.2 acadaa2f Bump to tree-sitter-cli 0.9 d522e96a Add support for arithmetic sequences e4542bd0 Update float literal rule 82a171ee Add unit example 349c7517 Produce a single parenthesized expression node eef56a9c Identify the function identifier 89ef4490 Check in parser 3721d19a Update difference between parenthesized and parenthesized_expression 9df30a6f Revise conflicts f7a13e12 Update if statement to also choice on layout semicolon 5feca06a Update name 9184bd37 Update expression rule da48048a Update statement 3489ef04 Use type constructor alias rule 98e0ea78 Extract lhs group 6707b31f Use terminal rule a0b10543 Back to :green_heart: feb0c004 Subdivide constructor into hidden rules 94447b5c Add conflicts 9b72e1bd Add function_application 069adc16 Add layout_expression dd2e6d21 Remove _empty from _expression 8e83b3dd Add 1 precedence to irrefutable bf771fe6 Update function_body to not include '=' bbe21073 Add nested if statement tests 7102d5d9 Add conflicts for function head, expression, statement and tuple 91adebee Add right associativity to algebraic datatypes d8518b1c Use statement as the default rule for if statement clauses 4790252f Remove left associativity from if statements 93b0e400 Parenthesized should contain statements 82ba9caf Function body should repeat statements (which include expressions) 8c10ab36 Update parenthesized_expression name 0fcf6657 Add right associativity to imports ed45f7d3 Add optional empty for if statements 6f8f2385 Update condition name f9bc53bb Add statements corpus 4edd73ee Add conflict for expression and function_head 928c3f9a Make statement a choice 720e5d84 Add right precedence to function body 3fe681aa Remove _identifier and _literal from top level declaration 9ccdac09 Add if_statement 918e494c Add empty rule ce51f1c0 Add variable symbol and qualified variable symbol to _variable be0dc65a Allow variable symbols to match against `(<=)` operators 61727989 Adds conflict between variable and extra variable symbols 0a687dc4 Simplify where rule b1cb47ce Add higher precedence to negative literal rule 03b15290 Add extra variable symbol (isolates '=' from the stock variable symbols) ddcd641d Add higher precedence to strict modifier 0572529f Add function_identifier rule ee9479dd Add type class declaration with multiple operators tests b7f8fdf8 Removes right associativity for declarations 8886922c Removes left associativity for function head productions c8731fb2 Use optional in list productions fafde53b Make declarations optional in where productions e6d6daec Rebuild grammar when external scanner changes 8e12ad6d Add where to expression 4a7d2009 Update type class instance declaration tests 705634f8 Update test class declaration tests 42bdef80 Update module declaration tests ecbffa1b Update import declaration tests 86d6039b Update function declarations a828826f Update foreign declaration tests 1e292e82 Update declaration tests c693801e Remove conflicts :tada: fec3c555 Use updated _type rule 493b0a6c One constructor rule to rule them all 73e9ecb3 Add literals and primary literals 231a643f Use expression in place of type 7947018b Add precedence to context c7563229 Remove parenthesized constructor c0d80f1d Remove type rule in favor of constructor 81c6afd3 Use function identifier alias 570d88d5 Use identifier rule 2157cc35 Add binary rule 74af71e9 Add as, wildcard, parenthesized expression, irrefutable and identifier rules to expression d47e3525 Update label to field label bea3982b Rename as pattern; use expression f890111a Remove pattern 80a570c4 Remove parenthesized pattern 0f4a7d2b Remove list pattern 43645472 Add parenthesized expression ab04bd0f Use expression in place of function pattern c92da62b Rename irrefutable b69f1909 Remove function pattern and label pattern f6837630 Update field labels 37607b47 Use expression for function body 9ca3efb0 Use expression rule for function head 13319cbb Add named qualified node for imports 460e3adf Add import alias 688b3c76 Add hidden import specification 5bbfc683 Remove unnecessary constraint e89ff4de :fire: simple_type and general_constructor 9ee26bbb Remove general_constructor d570e166 Update tests to use constructor d7930e21 Check in parser 4c70eec5 Add conflict for constructor and label 84604f05 Use constructor in the type class instance rule c79a7fbe Use constructor in the type class rule 8b57f313 Replace simple type with constructor in algebraic datatype dd6b315b Update type synonym to use constructor (remove simple type) 3028af39 Add left precedence to constructor b4d4bca6 Replace class with constructor 5f3ded66 Remove class rule 6ad34f44 Update newtype tests e626f3d8 Temporarily add conflict for constructor identifier and type constructor rules cef9bf84 Add prec to labels ff25ae7c Replace new_constructor with constructor 2845030b Update constructor rule to be general constructor production ffc316d6 Update tests with label_pattern ec51f3c3 Add label_pattern 4697b4f5 Add where rule d45bbcde Remove general_declarations, resolve to a single declarations rule 0818ab16 Remove expression from top level declaration; add literals 0851ed3c Add nested tuple / irrefutable pattern test case 1cb12a16 Add negative literal test case to irrefutable pattern tests 52b0a7c1 Add simple irrefutable pattern rule and test 0c37f30a Add additional test case for list destructured parenthesized patterns 8e6d7a41 Allow arbitrary nesting of list destructuring for parenthesized patterns 19cd135e Add list parenthesized pattern test case 8293a863 Add list pattern for function declarations e92264a6 Add negative literal example for tuple pattern test case e1f0c67a Add parenthesized pattern example within tuple pattern test case edae54c1 Reflow rule 2f436c7c Add another tuple pattern case 6146cfde Add conflict between simple_type and general_constructor 65daf8c4 Allow general constructors to include literals 0717b88f Update general constructor to have higher precedence 2af90653 :fire: unused rules dc0ebedc Add tuple pattern 9fb28f00 Add list constructor to function patterns 113f2c24 Allow general constructors in a function body d7451ef4 Make variable and constructor symbols have right precedence f0b9a070 Give as_pattern right precedence 134a7ff2 Give general constructors right precedence 9eeae1c6 Make _pattern have right precedence 32e6f047 Parse parenthesized patterns with list contstructor 108829d6 Extract _pattern 9c3bdad4 Add constructor operator test within parenthesized expressions b1b3d09f Add parenthesized pattern tests 60b8b406 Switch to _variable_symbol f876d1b9 Remove _symbol 6e55012a Reflow special characters f9c267ce Specialize constructor and variable symbols 9995d8d6 Simplify variable and constructor symbols c6fde48e Add parenthesized_pattern e0242ca5 Remove duplicate line dc874b0a Remove precedence on function_pattern c29d06ef :nail_care: 5c5d9fad Add as_pattern in function declarations bfb93fad Remove unnecessary repeat ba4d5e98 Add symbol group 6d1e97f8 Add function declaration test for simple constructors 1ebba943 Parse function declarations with multiple labels 015ca334 Remove redundant test ac69f9a5 Update type class instance declarations tests 81c54579 Update type class declarations tests be755c31 Update function declarations tests 424d6fc6 Update foreign declarations tests bb9d6073 Update expressions tests 3b140096 Update general declaration tests e8a1eae0 Check in the parser 591cb10b Add conflicts 617b51e7 Parse functions with labels d53cf68e Update function_rhs -> function_body d4614958 Update function_lhs -> function_head 2bb675e5 Add identifier to top level declarations d228fa64 Rename abstract_pattern to function_pattern 3eb96209 Rename function_binding to function_declaration aa3b78bd Add labels and label rule b4b84b0a Use type rule c54912eb Rename and enhance variable group 85561341 Add generic type constructor group 799fb7e8 Replace function_type with generic type rule 20a02e82 Add named rules for tuple, list and parenthesized constructor b8d1d1b0 Add unit, list, function and tupling constructors 7f5efcc3 Remove module identifier from general list of identifiers a4896a3d Remove list, tuple and function type constructors from constructor pattern 16e34172 Add left precedence for constructor_identifier 8a3e416f Remove TODO (fixed) 27404265 Add _type_constructors rule 99ff53ee Update qualified type constructor 59bb0afa Update import declaration tests ccfb6846 Remove choice 76d42d1e Add qualified_variable_symbol 745adee6 Add qualified_variable_identifier 727e05d5 Seperate variable / constructor regex from their named rules e7bf2207 Function binding is a top level declaration 4e8056b9 Specify module identifier for imports 05da12da Parse literals as function parameters 40762648 Parse _ (wildcard) in function parameters 64e9e56b Seperate test case bc48c036 Parse a@(Just a) style function parameters 6b7df1af Add named function_lhs and function_rhs nodes 8dd33afe Rename function -> function_binding 7b115521 Don't include type signature as part of a function declaration cec91ee9 Add beginnings of function parsing a011f2ac Add npm-watch configuration d1ea5d80 Use type_variable alias for function type variable identifiers 01d73d80 No repeat for name of function in type signature f5b7e401 Add left precedence for constructor symbol 24dac459 Add right precedence for variable symbol b673e59c Add right precedence for simple_type fd5d191a :nail_care: collapse to one line ba8061b7 Use general_declaration rule a4227824 Update type class instance declaration tests 39acdf4b Update type class declaration tests 8f409f28 Add foreign export declarations 85171d6a Add foreigin imports with safety 3f632fce Add simple foreign import declarations 945f61f2 Parse default declarations 06b51076 Merge pull request #1 from tree-sitter/layout-rules fae431c5 Merge branch 'master' into layout-rules 34f34d0a Update type class tests bec9509e Add prec for simple_type 5c656dfb Add prec for identifier ea66eb5e Update function_type 271b9902 Update type_signature to use repeat instead of repeat1 cf343dc5 Remove trailing comma 9e33a813 Add general_declarations 8b3eecea Update remaining tests 5220531b Update algebraic datatypes with variables tests 05ab9085 Update algebraic datatypes with variables tests 021ad91b Update newtype with deriving tests 8bceeb73 Update newtype tests acae1164 Update type synonym tests e477d4c9 Move fields definition fad3e4df Add missing declarations for module declarations tests 41f98c92 Update module_body -> declarations 507df0bc :arrow_up: tree-sitter-cli 5158f7b8 Remove trailing commas 6dc38fa6 Make module declaration optional, update some tests 3fead3bb Start work on handling layout 585ec965 Add rule for instance declarations 765c25b1 Add comment for type class instance bodies 46b64780 Parse type class instances with bodies 525cd76e Parse type class instances with contexts 89556d71 Move type class declarations tests to their own file 67ee7ae0 Parse simple type class instances 1dc06f18 :fire: class from reserved identifiers e7396cd1 :fire: instance from reserved keywords 511f9976 Support contexts for newtype declarations 28848fd7 Update fixity test 50d3369b Parse constructor symbols in fixity declarations 9013ad6b Parse variable operator fixity declarations 6a7745e3 Remove fixity related keywords from reserved identifier list 9ecd087d Parse type class declarations with bodies 64b94ca3 Handle `a -> b -> c` type signatures with `_type` a0c85b5d Parse contexts of the form `Show (a b)` 4fc527c4 Test type class declaration contexts with multiple constraints 4c5ab7ea Parse type class declaration contexts 8f10992e Parse multi-param type classes 0ff53e53 Remove precedent 3a0a0caa Parse simple type class declarations caa3f53d Simplify constructor identifier regex 9ef9de87 :fire: comments be1ef91f Parse `(->)` as the function constructor 3c3642f1 Parse `(,,)` as multi-arity tuple constructor bb66d81a Parse `(,)` as a tuple constructor e6ede03b Parse `()` as the unit type constructor 20b5b050 :nail_care: space 9378f8f1 Temporarily remove identifier from top level statement 9fd7d9b4 Parse multiple classes within a single context 42f8deca Parse multiple mixed strict and non-strict type variables in data constructors 4b16fb30 Parse multiple type variables for data constructors 80e79610 Parse simple contexts for algebraic datatypes f7a2d851 :fire: 'deriving' from reserved identifiers c79efa73 Parse newtype declarations with deriving instances f01c892b Parse deriving instances for algebraic datatypes 6e557531 Rename import_declaration -> import dabe3971 Rename export_declaration -> export 9ba79f2f Rename module_export_declarations -> module_exports e653c22b Alias type constructors and type variables 83465750 Remove reserved_identifier from identifiers list 6bc04fb1 Parse data constructors with strict type variables 6e85cd2c Parse strict fields for data constructors fd77859b Test multiple constructors with fields ef461fba Test datatypes with multiple simple constructors 05979933 Add `constructor` node to AST a969bb3a Test datatype with multiple fields containing mix of multiple type variables and single type variable a0402b0a Test datatype with multiple single fields 206cf523 :fire: unnecessary precedent for comments aa59eb66 Parse fields as individual field nodes ea7805be Test datatypes whose constructor's record field contains multiple type variables 470e3f8f Parse datatypes whose constructor contains a record field 8c4eed87 Rename labeled_fields -> fields db9abf42 Test datatype without explicit constructors 78f3b0c7 Parse simple algebraic datatypes 4118a148 Parse labeled fields within newtype declarations 569b207b Relax newtype identifier constraints d74a7f50 Parse newtypes whose rhs is `Foo { unFoo :: Bar }` d1caab3b Parse newtypes whose rhs are two constructor identifiers, or constructor and variable identifier 088b862f :fire: `newtype` from reserved identifiers 3c2d8fb9 Parse newtypes 276c7851 Bump parser 1bf64d7a Update type synonym to use simple type f24d1944 Parse `[]` constructor 24563ec0 Parse simple types f81131eb Rename type_statement -> type_synonym d14bebc4 Add top level declaration rule 94d64325 :fire: 'type' keyword from reserved_identifiers 8aaedcee Parse simple type statements 7469d495 Move module and import declarations into individual test files a23c3a02 Test qualified imports with hiding and 'as' befad23e :nail_care: for accuracy 806a602b Test qualified import without 'as' with non-empty import specification 2002229a Test qualified import with alias and empty import specification 117e8e22 Test qualified import with empty import specification 2222b39b Test empty import specification 94be6232 Test import declaration with 'as' without 'qualified' c8915f94 Distinguish between qualified import using 'as' and without f781918d Parse import declarations with 'hiding' 1290b930 Test qualified import with import specification a8e297bb Parse simple qualified import declarations 861f2e5f Test import declaration with constructors and functions 18872baa Test import declaration with functions 1a61a843 Parse constructors or functions within import specifications 7f168bd0 :nail_care: space 0473dc51 Rename nested module -> hierarchy 385685cc Parse import declaration with optional specification 0ec68272 Update reserved identifier test b62f2e05 Add simple import declaration test 1177c624 Update export names 697fea85 :fire: import from reserved identifier list b206106f Add module identifier to identifiers 45ccd5e7 Parse simple import declarations c6d31447 Use commaSep1 combinator 267f8dcd Rename module_exports -> module_export_declaration bc20e1a3 Rename export -> export_declaration 5ecf71de Bump parser e8a0e991 Add module with fully qualified exports test 9cb02f1c Add module with empty exports test 5a40c341 Parse individual exports b0722a87 Add individual export rule dbde9b5a Update module_export -> module_exports c22f3c31 Match module exports and module body c0e445f8 Match module declarations b9923fca Match reserved identifiers 699c0f2d Match constructor identifiers cdcf1944 Match variable identifiers 6421d40d Update todo 5b0a71bb Add vertical tab to gap characters 40d67148 Identify vertical tabs 7f672fa2 Add .gitattributes 2f9ca4c0 Add .npmignore 6be520bc Update test script to not use examples 429aeeac Add travis config file efe88897 Don't wrap each literal or comment with statement 3a5c75d3 Add comment, space and newline to extras 5016f81f Parse single line and multi line comments 9ff11b36 Literals rename 10591627 Extract char literals tests into separate file 482938d5 Add string literals tests b54eed95 Add string_literal efcffb63 Add character literals tests 216aedd4 Parse character literals 51736e9a Alignment 28323349 Rename decimalDigit to digit 8f055d3e Add float literals with exponent tests bd00a8d2 Add literals.txt corpus test file da51d807 Generate grammar with number literals 540376ec Seperate octal_literal, hexidecimal_literal, float_literal and integer_literal 75c8c6a7 Add initial grammar.js and generated parser 97d8ae7b Add binding.gyp 04c56a25 Add LICENSE 0a3dcadb Add package.json 6fc2c8df Add package-lock.json to gitignore 24938d13 Add README 5f19460e Add .gitignore REVERT: 6c266a6e Merge pull request #71 from talbergs/main REVERT: 7c06a648 fixed language ordering in build script REVERT: a3af90d5 fixed coding style REVERT: b5fb1943 Merge pull request #72 from BrianHicks/dependabot/cargo/clap-3.0.9 REVERT: a4f0b547 Bump clap from 3.0.7 to 3.0.9 REVERT: bec3fd87 Added PHP support to documentation. REVERT: 3a0f91a0 Accept PHP test snap REVERT: 4cb22367 Added PHP REVERT: 3459f36f Merge commit '291c533dd976044ff7e411fdd43b123f57bb385e' as 'vendor/tree-sitter-php' REVERT: 291c533d Squashed 'vendor/tree-sitter-php/' content from commit 57f8554 REVERT: 5ddc06ef Merge pull request #70 from BrianHicks/dependabot/cargo/serde_json-1.0.75 REVERT: 02691987 Bump serde_json from 1.0.74 to 1.0.75 REVERT: 4382f116 Merge pull request #69 from BrianHicks/dependabot/cargo/clap-3.0.7 REVERT: eb0680a3 Bump clap from 3.0.6 to 3.0.7 REVERT: 63856a4b Merge pull request #68 from BrianHicks/dependabot/cargo/clap-3.0.6 REVERT: 625249b8 Bump clap from 3.0.5 to 3.0.6 REVERT: 92e2901f Merge pull request #67 from BrianHicks/dependabot/cargo/clap-3.0.5 REVERT: b995a7ca Merge pull request #66 from BrianHicks/dependabot/cargo/insta-1.10.0 REVERT: c11d4317 Bump clap from 3.0.4 to 3.0.5 REVERT: ac011407 Bump insta from 1.9.0 to 1.10.0 REVERT: 21b7eca6 Merge pull request #65 from BrianHicks/dependabot/cargo/clap-3.0.4 REVERT: 5745df8e Bump clap from 3.0.1 to 3.0.4 REVERT: 11805f50 Merge pull request #64 from BrianHicks/dependabot/cargo/clap-3.0.1 REVERT: 4bef2a5b Bump clap from 3.0.0 to 3.0.1 REVERT: 8fe818ee Merge pull request #63 from BrianHicks/dependabot/cargo/serde-1.0.133 REVERT: 9dec8abf Bump serde from 1.0.132 to 1.0.133 REVERT: ee915ff9 Merge pull request #62 from BrianHicks/dependabot/cargo/clap-3.0.0 REVERT: fa1be5c8 Merge pull request #61 from BrianHicks/dependabot/cargo/serde_json-1.0.74 REVERT: 9bfd9031 Bump clap from 3.0.0-rc.11 to 3.0.0 REVERT: 1f724b39 Bump serde_json from 1.0.73 to 1.0.74 REVERT: 9fc7b839 Merge pull request #59 from BrianHicks/dependabot/cargo/clap-3.0.0-rc.11 REVERT: f163068f Merge pull request #60 from BrianHicks/dependabot/cargo/tree-sitter-0.20.2 REVERT: 52a0bc63 Bump tree-sitter from 0.20.1 to 0.20.2 REVERT: 1f601bea Bump clap from 3.0.0-rc.9 to 3.0.0-rc.11 REVERT: 73009384 Merge pull request #58 from BrianHicks/dependabot/cargo/clap-3.0.0-rc.9 REVERT: d2641be2 Bump clap from 3.0.0-rc.7 to 3.0.0-rc.9 REVERT: c73bf223 Merge pull request #57 from BrianHicks/dependabot/cargo/insta-1.9.0 REVERT: 2e3a546e Merge pull request #56 from BrianHicks/dependabot/cargo/anyhow-1.0.52 REVERT: 6f97c386 Bump insta from 1.8.0 to 1.9.0 REVERT: 0197a2b8 Bump anyhow from 1.0.51 to 1.0.52 REVERT: c03607a5 update version to 2.2.0 REVERT: b57b87e7 Merge pull request #55 from BrianHicks/updates REVERT: b2648e63 how did this get undone? it is a mystery. REVERT: 639220b3 update vendored tree-sitter-typescript REVERT: 0703f617 Squashed 'vendor/tree-sitter-typescript/' changes from 111b0776..ddf4b779 REVERT: 6e76b2a1 update vendored tree-sitter-rust REVERT: d865c3ec Squashed 'vendor/tree-sitter-rust/' changes from e06d078a..d045b04b REVERT: 75b28f9e update vendored tree-sitter-ruby REVERT: 80c2df97 Squashed 'vendor/tree-sitter-ruby/' changes from 888e2e56..ddf4b779 REVERT: 16dc5510 update vendored tree-sitter-elm REVERT: 6a0a0fda Squashed 'vendor/tree-sitter-elm/' changes from 7ef899b..15d1278 REVERT: 4c8ceaa3 tree-sitter-elixir uses main as the main branch REVERT: 365819b3 update changelog REVERT: ddf4b779 :robot: REVERT: 704757a5 add a mode to print language names REVERT: a6af59f1 update to clap 3.0.0-rc.7 REVERT: 2d730c55 :art: REVERT: e2a4f797 update dependencies REVERT: a84ebd63 Merge pull request #54 from jesse-c/add-elixir REVERT: 13550bee sort language names alphabetically REVERT: c9e2bf61 sort language names alphabetically REVERT: bae95a11 generate snapshot for Elixir REVERT: ed29063c use "elixir" for the matcher name REVERT: a7ad0dae update to the latest nixpkgs REVERT: 073bb613 use flake if possible REVERT: 04a40bbc Add Elixir REVERT: b69f4879 Merge commit 'b24d8fbd96b9f8966cb725eda06f8b8aadf2c3a0' as 'vendor/tree-sitter-elixir' REVERT: b24d8fbd Squashed 'vendor/tree-sitter-elixir/' content from commit 1b3ecf7 REVERT: 4aa939d3 Merge pull request #53 from BrianHicks/dependabot/cargo/serde-1.0.132 REVERT: e7bce9d9 Bump serde from 1.0.131 to 1.0.132 REVERT: b44c6f7c Merge pull request #52 from BrianHicks/dependabot/cargo/serde_json-1.0.73 REVERT: ea2f0b03 Bump serde_json from 1.0.72 to 1.0.73 REVERT: 2eb49d27 Merge pull request #51 from BrianHicks/dependabot/cargo/serde-1.0.131 REVERT: 5d888045 Bump serde from 1.0.130 to 1.0.131 REVERT: 434fe3c4 log C++ support REVERT: f623ea7d Merge pull request #50 from BrianHicks/release-2.1.0 REVERT: ff7a2415 Merge pull request #49 from BrianHicks/warn-less REVERT: bec8a20f add changelog REVERT: b0a7f3cb bump to 2.1.0 REVERT: 331be63a Merge pull request #48 from BrianHicks/update-deps REVERT: b7222c1b turn off warnings in all external code REVERT: b9283545 update snapshot test for Ruby REVERT: a4e4a011 Squashed 'vendor/tree-sitter-typescript/' changes from d598c967..111b0776 REVERT: f3955190 update vendored tree-sitter-typescript REVERT: c7e8db3d Squashed 'vendor/tree-sitter-rust/' changes from a360da0a..e06d078a REVERT: a3fb50a7 update vendored tree-sitter-rust REVERT: 4086f63a Squashed 'vendor/tree-sitter-ruby/' changes from 391269d7..888e2e56 REVERT: faae5f53 update vendored tree-sitter-ruby REVERT: 04ed6b3a update vendored tree-sitter-javascript REVERT: 4fa020ca Squashed 'vendor/tree-sitter-javascript/' changes from 6ec8014d..fdeb68ac REVERT: e1079ebc update vendored tree-sitter-haskell REVERT: 2425a253 Squashed 'vendor/tree-sitter-haskell/' changes from 30eea3c1..d72f2e42 REVERT: 8da8e598 Squashed 'vendor/tree-sitter-elm/' changes from d32d4436..7ef899bf REVERT: cfb97800 update vendored tree-sitter-elm REVERT: 8cb70b93 make this less repetitious REVERT: f09440a3 add better messages when updating subtrees REVERT: 5f93f1f6 update Nix sources REVERT: 85a1bbf7 Merge pull request #47 from BrianHicks/json-lines REVERT: 3dfe5b87 Merge pull request #39 from BrianHicks/dependabot/cargo/tree-sitter-0.20.1 REVERT: e9701551 :art: REVERT: 168c4b1d update snapshot tests with new version of tree-sitter REVERT: ac65e2a2 add a test for json lines output REVERT: 5ed4cf04 add a json-lines format REVERT: 5f3c2128 silence warnings we can't do anything about REVERT: 32e8c798 Bump tree-sitter from 0.20.0 to 0.20.1 REVERT: e163378f Merge pull request #32 from BrianHicks/dependabot/cargo/cc-1.0.72 REVERT: 7bcaab93 Bump cc from 1.0.71 to 1.0.72 REVERT: f260502a Merge pull request #41 from BrianHicks/dependabot/cargo/serde_json-1.0.72 REVERT: 3a54ff92 Bump serde_json from 1.0.68 to 1.0.72 REVERT: 2c2973dd Merge pull request #46 from ymarco/main REVERT: 175c6ce0 revise instructions for adding languages REVERT: dac33d60 Merge pull request #38 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-16 REVERT: 053cd524 Merge pull request #43 from BrianHicks/dependabot/cargo/anyhow-1.0.51 REVERT: 25d69b69 Merge pull request #44 from BrianHicks/dependabot/cargo/itertools-0.10.3 REVERT: f4dfbccf Merge pull request #45 from ymarco/main REVERT: 95ec6bfd Add cpp support REVERT: d91b16fc Merge commit 'b337e3879c8a5bccfed0e73deeb8cb8d0e2955bc' as 'vendor/tree-sitter-cpp' REVERT: b337e387 Squashed 'vendor/tree-sitter-cpp/' content from commit e8dcc9d REVERT: 36b38729 Bump itertools from 0.10.1 to 0.10.3 REVERT: 276838b1 Bump anyhow from 1.0.44 to 1.0.51 REVERT: c109b99f Bump cachix/install-nix-action from 15 to 16 REVERT: a6353bd7 add cachix instructions REVERT: 8a2cf06a Merge pull request #33 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-15 REVERT: 9b99283c Bump cachix/install-nix-action from 14 to 15 REVERT: 93b331a2 fix errors REVERT: 4d06d6c8 update nixpkgs REVERT: 4a14fd58 Merge pull request #25 from BrianHicks/link-post REVERT: 1ff98888 link the intro blog post REVERT: ff03ad78 Merge pull request #24 from BrianHicks/dependabot/cargo/cc-1.0.71 REVERT: 9361ceee Bump cc from 1.0.70 to 1.0.71 REVERT: 42c82446 bump to 2.0.6 REVERT: 66e00e18 Merge pull request #21 from BrianHicks/walk-fs-parallel REVERT: 733d7719 make the names better REVERT: cf470e20 walk the filesystem in parallel REVERT: aee3d2f5 extract a case on language to language REVERT: cf198588 Merge pull request #20 from BrianHicks/dependabot/cargo/serde_json-1.0.68 REVERT: 69011a86 Bump serde_json from 1.0.67 to 1.0.68 REVERT: f20261bd Merge pull request #19 from BrianHicks/dependabot/cargo/insta-1.8.0 REVERT: 084bab2c Merge pull request #18 from BrianHicks/dependabot/cargo/anyhow-1.0.44 REVERT: c8941245 Bump insta from 1.7.2 to 1.8.0 REVERT: e7ce985d Bump anyhow from 1.0.43 to 1.0.44 REVERT: 19ffc654 Merge pull request #17 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-14 REVERT: ed29eb51 Bump cachix/install-nix-action from 13 to 14 REVERT: 2ee278a1 whoops, update the lock file too REVERT: ea1165ba bump to 2.0.5 REVERT: da151619 Merge pull request #16 from BrianHicks/update-flakes REVERT: 773f624d Merge pull request #15 from BrianHicks/dependabot/cargo/tree-sitter-0.20.0 REVERT: 65bb361c update flake versions REVERT: 692f1b20 fix compilation error for tree-sitter 0.20.0 REVERT: 5221469d Bump tree-sitter from 0.19.5 to 0.20.0 REVERT: 7b473ea2 Merge pull request #14 from BrianHicks/piping-into-things REVERT: c70bca97 bump to 2.0.4 REVERT: 38edcf68 pull in this thing cargo snuck in? REVERT: 92bf2228 don't exit error for a broken pipe REVERT: 32f79b91 Merge pull request #12 from BrianHicks/dependabot/cargo/serde-1.0.130 REVERT: a1f881bc Merge pull request #13 from BrianHicks/dependabot/cargo/cc-1.0.70 REVERT: cf3aaa2a Bump serde from 1.0.129 to 1.0.130 REVERT: e9b9a909 Merge pull request #10 from BrianHicks/dependabot/cargo/serde_json-1.0.67 REVERT: f551813a Bump cc from 1.0.69 to 1.0.70 REVERT: 12203fad Bump serde_json from 1.0.66 to 1.0.67 REVERT: 0a74dbbb Merge pull request #9 from BrianHicks/dependabot REVERT: 14e3fafc set up dependabot for Cargo updates REVERT: 7e8b9f5b bump to 2.0.3 REVERT: 476013ef Merge pull request #8 from BrianHicks/fix-off-by-one REVERT: 5b05e113 fix off-by-one in outputs REVERT: 25e4e716 add an overlay for tree-grepper REVERT: 5ee1612b Merge pull request #7 from BrianHicks/macos-builds REVERT: 64fcd917 remove separate clippy check REVERT: 879c5d50 darwin inputs are needed in the shell too REVERT: 00ea0855 fix formatting in build.rs REVERT: e72d1ada nixfmt on the flake REVERT: 11ff38ff I don't think we need these auth tokens for the no-push steps REVERT: e18350af add separate clippy and rustfmt checks REVERT: 54525477 document why these build values REVERT: 0642bb6d be specific about which macOS builds I want REVERT: 6698ce93 add macos builds REVERT: 4b4449f6 Merge pull request #6 from BrianHicks/flake REVERT: c7eec637 remove the niv sources REVERT: 265b612f add --no-gitignore to TS tests REVERT: aecd7122 only look in examples for Rust REVERT: cfdd6551 add --no-gitignore to Ruby tests REVERT: 1de05bf7 add --no-gitignore to JS tests REVERT: fc2653e6 add --no-gitignore to Haskell tests REVERT: 3a084b77 look in examples for elm tests REVERT: e02b1260 try using nixpkgs-unstable REVERT: cf1f9ed8 upgrade deps REVERT: 7687f57a move the dev dependencies into the flake REVERT: 8cc29918 use flake-compat for default.nix and shell.nix REVERT: 4cb6ddb7 move default.nix to flake REVERT: 6768fc30 initialize a flake from the naersk template REVERT: df7ee96f bump to 2.0.2 REVERT: af9a9ee5 Merge pull request #5 from BrianHicks/anonymous-matches-in-clauses REVERT: ec8625f2 remove unnecessary format! call REVERT: 38443b16 fix up the README to talk about ignored matches REVERT: f712869a clarify the cases we care about for names REVERT: 7f94e9b5 make underscore-ignored matches still work in conditions REVERT: 4a25a366 separate parsing and make filename optional REVERT: d020ab59 Merge pull request #4 from BrianHicks/2.0.1 REVERT: bf186bcd update a couple deps REVERT: 90a98333 bump to 2.0.1 REVERT: 19128c54 Merge pull request #3 from BrianHicks/filetype REVERT: 0ef2cc1f update snapshots REVERT: ed96a40f add file type to JSON output REVERT: 8fbe8dd5 clap errors include a newline REVERT: 8ca4f8e7 document squashing REVERT: 0f735d87 Merge pull request #2 from BrianHicks/buffering REVERT: b61233aa buffer output (seems to be something like a 20% speedup?!) REVERT: 89d18733 Merge pull request #1 from BrianHicks/ci REVERT: 0998b10c move clippy into the default build REVERT: 166dbaee use sorting in the tests REVERT: ed122bb2 add the option to sort the output REVERT: 6e8096b9 use our pkgs instead of gitignore's pinned pkgs REVERT: 4d1cb041 update sources REVERT: 56929f8e add GitHub actions CI REVERT: 77fb7196 turn on checks as part of the build REVERT: f42dc059 upgrade deps REVERT: a01aa580 Squashed 'vendor/tree-sitter-typescript/' content from commit d598c967 REVERT: f13b0ec2 Merge commit 'a01aa58053f8f6ff5bc321566009908f85c93e6d' as 'vendor/tree-sitter-typescript' REVERT: 5908d609 Squashed 'vendor/tree-sitter-rust/' content from commit a360da0a REVERT: ccbb0e69 Merge commit '5908d6099fbf4b58b84cc8c93226cd66224c581d' as 'vendor/tree-sitter-rust' REVERT: 8ec19ffa Squashed 'vendor/tree-sitter-ruby/' content from commit 391269d7 REVERT: 963564ec Merge commit '8ec19ffa34b7db4b1e56a4164e6a7b1cdebbf1b9' as 'vendor/tree-sitter-ruby' REVERT: 7e526483 Squashed 'vendor/tree-sitter-javascript/' content from commit 6ec8014d REVERT: 401f03e9 Merge commit '7e526483722b97493b104d301d0e948a31c5a716' as 'vendor/tree-sitter-javascript' REVERT: 94888ba5 Squashed 'vendor/tree-sitter-haskell/' content from commit 30eea3c1 REVERT: b7f8bacf Merge commit '94888ba58c8f3b50492033c1ce51a07ca12cd485' as 'vendor/tree-sitter-haskell' REVERT: d093a07f Squashed 'vendor/tree-sitter-elm/' content from commit d32d4436 REVERT: 18c232b2 Merge commit 'd093a07f5b3c006f0fe702759485b1fb3397078f' as 'vendor/tree-sitter-elm' REVERT: 644aefea use --squash in all the updates REVERT: da18ae59 add cargo-edit REVERT: 689cef25 remove the tree-grepper cargo wrapper REVERT: c6a20300 document the update command REVERT: bc6f5d5e redo update script to use subtrees REVERT: dbae9dc5 update snapshots with new acceptable diffs REVERT: 0f6fdd56 no more submodules! REVERT: 6292ca4f revise instructions for adding new languages REVERT: 3fdf0c16 remove submodules REVERT: ea9ca37e test TypeScript REVERT: 66264955 correct language name for typescript REVERT: 067241f5 string names should be upper-case REVERT: 2ed9a0a2 test all Rust nodes REVERT: c643089c test all Ruby nodes REVERT: bbf5a352 test javascript output REVERT: deb81fab fix clippy warnings REVERT: c74ef4d5 fix using the wrong language name in matcher REVERT: 8597f478 match all Haskell nodes REVERT: 702c4ec3 match all Elm nodes REVERT: 48ed3076 add a test for pretty JSON REVERT: f1d0b9cb test (un-pretty) JSON output REVERT: 94b99aa4 add our first snapshot test! REVERT: 1c0bb54b make args a parameter as well (and handle failures nicely) REVERT: 459f45fa make try_main take a sink REVERT: 172ff2c7 add a JSON pretty-printer to output REVERT: 507a584f add insta for testing REVERT: 43905464 update README REVERT: 9e1bb159 re-add the rest of the lanaguages REVERT: 2f23ff4e use upper-case meta var, per convention REVERT: 4b35d73e list languages REVERT: 34f41d1a replace this TODO with an explanation REVERT: 36691923 nah, this is fine REVERT: 6e3f8090 remove the 1.0.0 branch REVERT: f4b26cda borrow instead of cloning the name REVERT: 90530133 this just won't be called if there are no matchers REVERT: 20125bed get rid of the other thing we used language for REVERT: d0d20f56 only call language.language() once REVERT: 2b55e972 add a match name if none is provided REVERT: fdd4707e proactively disable underscored captures REVERT: 063e1ed8 precalculate which items to keep or drop REVERT: 641a6717 remove names that start with _ REVERT: 62c049dc use a global allocator REVERT: 894750af clean up imports REVERT: 0469f7d1 get rid of the custom wrapper REVERT: 2e1ef80a rearrange fields to match definition REVERT: 7e63b5a8 write JSON output REVERT: 931b4694 add format argument to the opts REVERT: 68f0913e don't put extra blank lines between match lines REVERT: 3199981b actually format things! REVERT: 1e181f44 refine error message for parse failures REVERT: 408870a2 only print files with matches REVERT: 05e8adc1 capture captures REVERT: 10b85bea extract more information to the match REVERT: e8508063 extract to a sub-struct REVERT: 566e6ef6 initialize the parser per-batch REVERT: fe00e50f extract matches! 🎉 REVERT: 82a2586a 🎨 REVERT: 26040d45 add a note for later REVERT: 9a83408a capture stuff in the query REVERT: dd051a73 parse a tree REVERT: f2414a17 read source to string REVERT: 418fce04 only use one implementation REVERT: 107d4f2a 🎨 REVERT: edc26eb7 implement SingleChoice REVERT: d4ee16bf be more precise in this error message REVERT: 1a6f2e30 finish doing our matching REVERT: fbaf17e1 return a borrow REVERT: ad0b402d clean up clippy warnings REVERT: e896f1e8 wire up the matchers REVERT: fe995613 print some stuff REVERT: af29e39d start pulling out an extractor REVERT: fb1ef123 finish out the sketch of matching REVERT: c5e1c50b separate the code into stages REVERT: 4933e9d9 do filetype match filtering myself REVERT: cbb2a8ba figure out which matcher we want REVERT: 64de569a stop reading for now REVERT: 119c120c combine queries REVERT: 33219dd1 make parsing queries a lot more readable REVERT: 560af235 keep the entry around REVERT: 86544786 read sources REVERT: 0f63e508 print entry paths for debug's sake REVERT: e8307a08 match filetypes REVERT: f94185b1 add an option to avoid doing gitignore REVERT: 2581302b a little more info for PATHS REVERT: 71b6897c create a filesystem walker from the opts REVERT: f1f51e2c add paths to the opts REVERT: bd07a7a6 make error message a little nicer REVERT: 3fce4d4b move queries to a separate method REVERT: fe4c05a2 move parsing to a new module REVERT: 08789bb6 friendly up the error messages a little more REVERT: 765b20d9 add a few nice tests REVERT: 7fb99cbe parse queries REVERT: d481d2d2 oh boy this sure is some parsing work huh REVERT: b189ce6f add Rust to Language REVERT: bf592a76 use ignore to walk directories REVERT: b03d21a7 unwrap the path results REVERT: 66d64048 parse a language from the command line REVERT: b4242659 make error nicer REVERT: 4a3f67b4 add a basic Language implementation REVERT: 1f53c7cc introduce parallelism REVERT: 5ecf145f walk the filesystem REVERT: bd52fdae add an extremely basic CLI interface REVERT: 3fd5f547 move the 1.0.0 source into a separate directory REVERT: 62cfa89a call it 1.0.0 REVERT: facc9c36 add Typescript support REVERT: 197bda1a update roadmap REVERT: 0a0dee82 add hippocratic license REVERT: 29b957d8 update cargo deps REVERT: 129caa48 update sources REVERT: 56745c74 update parsers REVERT: 181d75a4 update cargo deps REVERT: 565976fe move back to main.rs now that there's only one binary REVERT: 33e7fce7 remove tree-grepper-dump REVERT: c61d12eb print node kinds in the JSON output REVERT: cdf01e3f downgrade to avoid a broken version REVERT: 84d8862d update cargo deps REVERT: 52bb9216 update submodules REVERT: f37fe4de turn off warning logspam when building vendored tree-sitter parsers REVERT: 988957e1 update submodules REVERT: f686f3e7 add a script to udpate submodules REVERT: 1f007817 add rust REVERT: 7d5eb9a7 add Haskell support to tree-grepper REVERT: 17e8dac9 add libiconv dependency REVERT: 3765aae3 update package versions REVERT: f55e55eb use submodules instead of subtrees REVERT: 6b6722a6 remove subtrees REVERT: 7b1bd2a7 fix file matcher REVERT: 055330b2 add JavaScript support REVERT: e6c6e3fc use a char instead of a string? thanks, clippy? REVERT: 9a93afbf Merge commit 'd5621bb8035de6d9d21bcbff84efc2a2df3a474a' into main REVERT: d5621bb8 Squashed 'vendor/tree-sitter-ruby/' changes from 5021a6a6..1fa06a9e REVERT: 03bb233c Merge commit 'ea3bf266d0776dc2e3fe757a202bdbf45221b97a' into main REVERT: ea3bf266 Squashed 'vendor/tree-sitter-elm/' changes from 06a8ff7c..117dcf4c REVERT: dae91b20 update languages in the subtrees REVERT: 8814dc45 Merge commit '16a05dabe26c20c98c83474365ac0aedc18b06a4' as 'vendor/tree-sitter-javascript' REVERT: 16a05dab Squashed 'vendor/tree-sitter-javascript/' content from commit 1eee0d3f REVERT: 01d0d46a don't output names that begin with underscores REVERT: 37729b9b group captures in JSON output REVERT: 6b7124bf remove dead Point code REVERT: 6904801f update cargo deps REVERT: 500ac238 update sources REVERT: b20fc892 pass the language so I can actually query Ruby stuff REVERT: 2480b090 add wrapper scripts to make running exploration commands easier REVERT: 1d423444 enable predicate matching by returning text correctly REVERT: a30fa194 make tree-grepper-dump work with multiple languages too REVERT: 020a3399 talk about forwards-compatibility in the docstring REVERT: 9c351d28 parse ruby files REVERT: cbde19c3 Squashed 'vendor/tree-sitter-elm/' changes from 4da453fe..06a8ff7c REVERT: 74089398 Merge commit 'cbde19c3d59ddfb7622d252f55306997d250c335' into main REVERT: ee77aa3c compile tree-sitter-ruby REVERT: 9d1c9bba Squashed 'vendor/tree-sitter-ruby/' content from commit 5021a6a6 REVERT: d32a27f0 Merge commit '9d1c9bbaa226627f94f3a527d3eb671aad8732c0' as 'vendor/tree-sitter-ruby' REVERT: b7c1d570 add a --language flag REVERT: 4922e69b take care of clippy warnings REVERT: a969df5a add more TODOs REVERT: 7f1edd11 move name after row and column REVERT: 7aa9c54c update crates REVERT: 2f06a87c update sources REVERT: 8c8dadc2 fix another off-by-one REVERT: b3476981 fix off-by-one error REVERT: ef592f10 add the minimum possible s-expression dumper REVERT: 7a010a3f move to the bin directory to start separating stuff for multiple binaries REVERT: 97f3c338 update cargo dependencies REVERT: addbca55 update sources REVERT: 62ab05b4 update TODOs REVERT: 36850479 add match names to output REVERT: 5c5900a2 add real JSON output REVERT: a4ca8e8a add a formatter for doing nice formatting things REVERT: 66c28852 rename VisitorBuilder to Gatherer REVERT: d1a539ee use channels to extract our data back out again REVERT: 840b517f move the walking behavior to a visitor pattern REVERT: 58c26334 accept different kinds of formats REVERT: 90af002a handle the paths a little more gracefully REVERT: 0b907e66 only initialize query once REVERT: f30ff20c fix stuff from clippy REVERT: aa7edd0d make writing queries a little nicer REVERT: f19f9d5a put JSON output higher REVERT: 5c5e8788 add the rest of the filter flags I wanted REVERT: ce15ef80 add ignore files REVERT: b927160f add max_filesize REVERT: a9bdaaff call builder methods in the same order config fields are defined REVERT: 2effce68 tiny grammar fix REVERT: a949f664 add some quick benchmarks REVERT: 1d5c2c78 update binary name in README REVERT: 4883dd0c print what the output actually is REVERT: f87f3626 mark the first step as done REVERT: b69d9d21 match on queries REVERT: 67e4eb0c parse each file to a tree-sitter tree REVERT: 3f608d43 don't use a library for handling errors... just exit REVERT: 7ae2521b print out the files we're walking REVERT: decf63eb add TODO for later REVERT: d2e81a39 only match Elm files REVERT: bb21f4de grab the parser and query REVERT: 04e300f1 walk the directories recursively and in parallel REVERT: ee7246ab minor refactor while I'm thinking of it REVERT: 92c14f5a walk using ripgrep's walker instead REVERT: dc279d88 walk the provided directories REVERT: 0b98224f add roadmap stuff about non-Elm languages, as if those exist psh REVERT: 82301841 update cc to 1.0.62 to get the better error message REVERT: 1738512f parse command-line opts REVERT: 18da50af load the tree sitter grammar REVERT: 2c4090ce set up error handling harness REVERT: 3cd59bb6 meta changey thing. Maybe not fine, but seems to work? REVERT: 43076450 add xcbuild to get around cc er…
BrianHicks
added a commit
that referenced
this issue
Jan 31, 2022
e8e8e8dc document why module block is optional (#205) 595f30e5 Merge pull request #203 from resolritter/export 891bcc59 regenerate parser 360252fe use export_statement when exporting expressions 54931b39 Merge pull request #201 from kraftwerk28/fix-template-literal-type d863bcbc Remove intersection/union types from `_type` dfaf3d14 Add intersection/union types to `_primary_type` 111b0776 Merge pull request #196 from hendrikvanantwerpen/fix-build-reproducability-and-ci-check 37e3bf26 Fix incorrect file changes being reported cc745b77 Merge pull request #194 from hendrikvanantwerpen/check-generated-files-in-ci 53543d6c Add a CI step that checks whether the generated files are up-to-date. 11f8f151 Merge pull request #192 from ruricolist/master 7f98ac62 Check in generated files 666c6948 Resolve more ternary ambiguities 537a7e5e Remove known failures that can now be parsed 3bf02c07 Handle ? as an optional argument (not ternary) 4cf6a2c0 Update to fdeb68a and resolve conflicts bc7625c4 Update tree-sitter-javascript to 4a2f9ea b3b5d844 Support ternary_qmark and reorganize external scanner 1517cffa Factor out scan_template_chars 6aac031a Merge pull request #190 from ruricolist/master 42a5efb0 Update tree-sitter-javascript to 2cc5803 5f904154 Merge pull request #188 from IWANABETHATGUY/fix/template-literal a4b1bb6d fix: 🐛 template-literal-type with infer type d9c8be8e Improve grammar for query writing (#187) ef6ee5b3 Merge pull request #186 from tree-sitter/loosen-ts-deps 1fd39885 Loosen Rust crate's tree-sitter dependency 78f2f772 Merge pull request #185 from Luni-4/update-0.20 85389c38 Merge pull request #163 from rmagatti/add-override-modifier 557319ec Formatting 31a1f45f Add test for override modifier 7d1714b8 0.20 aa8a3282 Define a precedence instead of conflict e4b66984 Merge from master 6596da54 Remove generated files 3383cebe Add more predefined and literal types (#184) b00d5a59 Merge pull request #183 from resolritter/typeof c16a41e4 regenerate parser a6985c59 fix typeof according to typescript rules 74a27488 Have special semicolon rules for method definitions (#182) d08f57f2 Merge pull request #138 from resolritter/template_literal 59783113 regenerate the parser 3b58ba1c fix string_fragment 012ea5ad implement "mapped type 'as' clauses" 7d5f7c08 implement template literal types 98ef3117 Merge pull request #135 from resolritter/class_syntax 7579fd0b Merge pull request #181 from tree-sitter/mj-no-bindings 20ab8341 git-ignore files that would be generated by a direct call to 'tree-sitter generate'. 4d958959 Require tree-sitter >= 0.19.3, which provides the --no-bindings option. af8df994 regenerate the parser 7d5ddbad Disable node and rust bindings generation in tsx/ and typescript/ when running 'npm run build'. f1797800 support more of the class syntax 83816f56 Update package.json to include the repository key (#178) 0012d38f Use only a single seq 9b04a3ff Updates after running yarn install and yarn build 6fda5326 Merge branch 'tree-sitter:master' into add-override-modifier d598c967 Merge pull request #175 from rattrayalex/patch-1 1dcaf325 Fix link to TS spec e2abf5f6 Update with master dea62064 Merge branch 'master' into add-override-modifier fd08586b Merge pull request #172 from tree-sitter/mj-latest-js 83bd2519 Regenerate files 8168089e Update test expectations 17ba2409 Use latest tree-sitter-javascript (commit 2c5b138) 54e14fc1 Build files 2468c345 Merge from master 5f550c66 Parser changes post-build f636c3a3 Fix ordering for public_field_definition 30e1b08a Merge pull request #168 from tree-sitter/mj-use-js-ae9bc67 e28fe968 Merge pull request #170 from tree-sitter/mj-issue-template 426cac3b Add GitHub issue templates, similar to what we now have for tree-sitter-javascript 8ca0bacd Regenerate files, which didn't pick up the correct version of tree-sitter-javascript. Just editing package.json followed by 'npm install' didn't work. I had to manually run: npm install github:tree-sitter/tree-sitter-javascript#ae9bc67 a7eda67f Merge pull request #167 from tree-sitter/mj-use-js-ae9bc67 80383c0b Use the latest javascript grammar 8a81a63a Add override modifier 28e757a2 Fix hard break in PR template 4c20b547 Merge pull request #159 from tree-sitter/exports 8e4e2fff Regenerate parser files 2877a6a9 Use tree-sitter-javascript commit 40a1427 which extends support for 'export'. 968e50f2 support extended export syntax d0c78578 Merge pull request #158 from tree-sitter/pr-template 0d7bc40f Adding the same PR template as for tree-sitter-javascript 82916165 Merge pull request #152 from tree-sitter/catch-unknown fbf581cf Regenerate parsers cad2b85f Add support for type annotation on exception in catch clause (#142). 1e4aee4e Merge pull request #153 from tree-sitter/tuple-type-trailing-comma 4c5e5221 Regenerate parsers 79a4906a Tolerate trailing commas in tuple type (#143) 47416ef0 Merge pull request #146 from returntocorp/nathan/destructured-functions f3749fae Merge remote-tracking branch 'origin/master' into nathan/destructured-functions 6d6480c4 Merge pull request #151 from returntocorp/nathan/keyof-precedence d7c0ad63 Merge remote-tracking branch 'origin/master' into nathan/keyof-precedence a85dfb3f Support keyof on a parenthesized type; fix precedences 9c617748 Fix lookup type precedence (#150) bbff668b Merge pull request #145 from returntocorp/nathan/type-only-exports d110704d Merge remote-tracking branch 'origin/master' into nathan/type-only-exports 6b305ac9 Merge remote-tracking branch 'origin/master' into nathan/destructured-functions 89e720e3 Use GHA on all pull requests (#147) 6199b042 Disable automatic semicolon insertion at end of object patterns 17605937 Add tsx generated files 3455d4d9 Parse type-only exports 3e897ea5 rust: 0.19.0 7e119621 Update queries to reflect grammar changes 892494dd Fix nested module structure after regenerating with 0.19 be5e1aa3 Remove stray log file 6231a793 0.19.0 ac5dac11 Upgrade Tree-sitter, Tree-sitter-javascript, use named precedences 543cbe44 Add Rust package (#133) d659f9df Generalize type queries and tuple types fa65017f 0.16.3 da72060c Support "infer" types (#124) c17fe899 Fix ambiguity between function signature and function declaration (#126) 2ac62b3d Regenerate parser.c for tsx (#129) 2d1c7d5c Support decorators on abstract classes (#127) a3a4bece bump tree-sitter-javascript (#123) 9f3b30ef :fire: travis.yml 5cf8d106 Put GH actions badge in README e378b9a3 Add GH actions config 2be27f30 Regenerate parsers 49cc3dfd Merge remote-tracking branch 'resolritter/rework_typeof' 8fe48c40 Merge remote-tracking branch 'resolritter/this_in_type_predicate' 2097b39c Merge remote-tracking branch 'resolritter/conditional_types_2' 9f753347 Merge remote-tracking branch 'resolritter/tuple_rest_types_mixed' ae132c06 Merge remote-tracking branch 'resolritter/as_expression_intersection' f552d354 Merge remote-tracking branch 'resolritter/optional_properties' bbceca79 use more general construct names for tuple type members 9645120d support labeled tuple elements ada1521c support non_null_assertion in the LHS of augmented assignments (#119) b9d79c5b support signature modifiers on mapped types dc15f060 support optional types inside of tuples ec20ae07 support rest types inside of tuple types 32cf33e9 fix precedence order for as_expressions 2d835642 support extended syntax field signatures on mapped types c6d56e7d designate type_predicate_annotation as its own rule f80e913d add conditional types and its tests 7e5e2354 extract type_predicates as a type with special treatment d7965b8e Regenerate parser for "else_clause" (#110) 35f6be1a allow "this" in type assertions 85cc247c refine keyof/typeof and its tests 73afadbd Add colon (':') to list of lookahead tokens that disable automatic (#94) 83447159 Add support for readonly array types ('readonly x[]') (#90) e72fdf62 Support type arguments in self-closing jsx elements. (#92) 0d8c7d65 Add support for definite assignment assertions (#86) 767165ad Add support for assertion functions (#88) 07a12bdf Update for latest tree-sitter-javascript (take 2) (#85) 5a38a5bd Merge pull request #83 from tree-sitter/tag-types 32525dfd Tag type annotations 220ae17f resolve generic types in index type queries (#78) d8c2f014 tags: Add a class reference for new expressions 0d8f76dd Fix parsing of 'new' expressions with type arguments f289f293 Add tags query 4b8e9dc2 Bump tree-sitter-cli, update queries ebd10b47 :arrow_up: tree-sitter-cli a80ef555 Regenerate with latest tree-sitter-javascript b90e74b7 :arrow_up: tree-sitter-cli aa950f58 Regenerate with latest tree-sitter-javascript 40320d8e :arrow_up: tree-sitter 53b9ca35 Fix fields on numbers in literal_type 441ba1ce Regenerate node-types 3c3f2d22 0.16.1 7a5dee3a Load parsers w/ node as part of 'npm test' b32e4870 Merge pull request #76 from daviwil/fix-native-requires 29fdc2ac Fix native require paths in TypeScript grammar 4f4b30c5 0.16.0 13b35c16 Simplify parse-examples script 1e86f0c3 :arrow_up: tree-sitter to 0.16 e8e3df9c 0.15.2 97f01a4e Tweak automatic semicolon rules inside of object types 3684243a Regenerate binding files w/ latest tree-sitter dff1928d Use tree-sitter-javascript's JSX highlighting in TSX and Flow b4303878 Add missing keywords to highlight query ee5afbf1 Remove property sheets 2dcbc038 Add syntax highlighting queries b78bfd8a Allow readonly as a property name 2573038b :arrow_up: tree-sitter-cli c5144ebf Bring back call_signature node, just in object types ab9ab6cc Regenerate with latest tree-sitter-javascript ac12c3cc Add tree-sitter-cli config back to package.json b4103e0b Rename mapped_type -> mapped_type_clause cbe2da92 Update to latest tree-sitter-javascript, add fields de62bdd5 :arrow_up: tree-sitter 812b9c0c 0.15.1 09991249 Fix paths to native modules 4e197bd8 0.15.0 55982016 :arrow_up: tree-sitter-cli 4dd102c0 actually delete tsx/examples/desktop 14b3e85a Merge pull request #71 from tree-sitter/add-mapped-type 273a6bea add mapped type and test 39a4ffb0 Update .gitattributes 90661d45 0.14.0 d90b6290 Merge pull request #68 from nathansobo/ns-as/tsx-type-arguments 5c030837 Remove inadvertently checked-in directory that shadows example repo b2042cac Don't use includes in binding.gyp 4e44d270 Build on Node 10 on Travis 4312b355 Include common scanner.h in both custom scanners to avoid extra symbols d5bf4ea4 Fix names in TSX node bindings f43018b8 Fix require entrypoints 59b7c6d0 Fix invalid JSON 9782475a Fix package.json scripts 7bb54d15 Use source.tsx as root scope name to match Atom 1a9fa33b Provide require entrypoints for both TS and TSX grammars 232f9460 Eliminate duplication of custom scanner code 503bd676 Fix tests a9f2ef76 Regenerate a64d54f5 Fix file types 9281d0c3 Fix names in tsx/scanner.c 948e1284 Define ts and tsx grammars in subfolders based on a common helper efadfa16 Support type arguments in JSX opening elements 1db421fb Update to new highlighting property sheet API 7d1d6733 :arrow_up: tree-sitter-javascript, tree-sitter-cli 61bedf6c Merge pull request #63 from tree-sitter/highlight-properties cf94dcd2 Merge branch 'master' into highlight-properties dc29f18f Don't parse example files on appveyor e275df5e :arrow_up: tree-sitter-cli 47d3013a Merge pull request #67 from tree-sitter/flow-import-type 1f0a60ca Merge pull request #66 from tree-sitter/fix-upstream-js-issues f40c43d8 Support type/typeof in import/export specifier cf61f7ec Add more import/export tests with types 4c702a0b Remove unused previous bfa53e40 Override formal parameter to get grammar buildable again c23fbcb3 git ignore .node-version e73036f7 Add a property sheet for syntax highlighting f5794e5d Add tree-sitter keyword to package.json f92843cd 0.13.6 9fb24bf0 Regenerate w/ latest tree-sitter-javascript 4be460fd 0.13.5 73eb1b3e Handle flow-style module.exports declarations 483a8dac Add predefined_type node in index_signature f757b8c2 Use npm as a test example too, but ignore 9400c0b4 0.13.4 a6c05adf Use type_identifier in type_parameter 01415844 0.13.3 78562f6d Regenerate w/ latest tree-sitter-javascript ddb0bf76 0.13.2 c7771965 Merge pull request #61 from tree-sitter/more-type-identifiers 0f25bbc6 Differentiate type identifiers from other identifiers more consistently 7dc69173 0.13.1 b5da301c Parse escape sequences in strings e90fa8ed 0.13.0 089bc23c :arrow_up: tree-sitter (new ABI version) 44050fd6 0.12.0 b18f011d :arrow_up: tree-sitter-cli 499d46dc Don't tokenize template chars in error recovery mode 1042832e Merge pull request #60 from 314eter/external-template-char 286106d2 Scan series of template chars 9ab65ab2 Use external for template chars 5da76e8d Merge pull request #59 from tree-sitter/parse-stats 6bee1acc Print out some basic parse stats 900f9c20 Merge pull request #57 from tree-sitter/parse-examples 35c74f93 Back to trying our hard reset cbb7d1ba Try to actually remove the submodule 0a102af5 Still broken 9e75e82a Remove debugging 2d284614 Some more troubleshooting 70bb7a8c Troubleshooting build 80bd93eb Use variable ebbeaf57 Clone instead of submodule dd3e2ea1 Don't need to depend on npm 0e270a23 One known failure for mis-parsing comments a8aaf9b1 s/ambient_function/function_signature 64766995 Fix to allow !: props a6d77971 Port over tree-sitter-javascript fix for `;` 5dcb41d5 Allow async ambient function defs cfa715e7 Allow using a test.ts file without committing it 8ec539b9 Wire up example parsing to CI fce7f1a9 Parse example repo and track failures 6dc4f9c6 Bring in changes from tree-sitter-javascript and bump cli e3bd00f0 0.11.0 81cb5d09 :arrow_up: tree-sitter-cli 7a7d47a6 :arrow_up: tree-sitter-cli b2e17655 0.7.0 46729d9f :arrow_up: tree-sitter b0124ad7 0.6.2 3f6f7d0d Regenerate grammar 1297e3c5 Don't count example files in language stats b5859f49 0.6.1 b1a88f55 Parse 1 example file from the TypeScript repo on CI bdc672df Fix handling of JSX vs generic types ambiguity be0c26d3 Merge pull request #55 from tree-sitter/jsx-fixes 7e77ebb1 bump tree-sitter-js b6a36c20 Fix tests 5532ef1c Regenerate grammar 253f96c2 0.6.0 5a8075b5 Regenerate with latest tree-sitter 4a348daa Merge pull request #54 from tree-sitter/bump-tree-sitter f33016cd 0.5.1 fc03b695 Regenerate grammar 463aa4e3 Bump javascript fdb536a4 Regenerate grammar and bump tree-sitter-cli to 0.8.6 4e39083a Merge remote-tracking branch 'origin/master' into bump-tree-sitter 6a0347f5 Add package-lock file db95f8d1 Bump to 0.8.2 428e09a1 0.5.0 7e76db2d Update parser.h for new lexer API a0c7bfe3 Include parser.h with angle brackets in external scanner 0abbd3b2 0.4.4 b14989c7 Regenerate with latest tree-sitter-javascript ca8a5b96 0.4.3 ee9104d7 Allow trailing commas in type args, type params 54a778b4 0.4.2 f5ba4b90 Add tests to npmignore aa35640d Merge pull request #53 from tree-sitter/mb-flow-class-declarations 6562506c Support flow's ambient class declarations w/ commas 12ed64c5 Simplify class_body definition 9f5c7fac 0.4.1 8cb04f53 Remove unnecessary inline qualifier 429b295f Merge pull request #51 from tree-sitter/negative-numbers-in-literal-types 74bd0cf4 Merge remote-tracking branch 'origin/master' into lookup-types 076f5924 Alias _number to unary_expression 30f3e4da Merge pull request #52 from tree-sitter/optional-abstract b8978ca3 add test c39b7764 abstract is allowed once before or after readonly, static is disjoint from abstract 2aa67819 update test 853aa9a7 allow negative and positively signed numbers in literal types cdf5ad09 Merge pull request #50 from tree-sitter/lookup-types 6774feab Merge remote-tracking branch 'origin/master' into lookup-types e45546f7 Merge remote-tracking branch 'origin/master' into lookup-types 4d41d60c Add test 9c96c6cb Add a test c25ee164 Merge pull request #49 from tree-sitter/reserved-identifiers-in-index-signatures b92183a1 Allow reserved identifiers in index signatures 8bb4039b Merge pull request #48 from tree-sitter/definition-precedence 2ad008b5 Add test 14c69cb1 Remove unneeded method definition precedence 346c5c65 Merge pull request #47 from tree-sitter/bump-scanner b39ed75c rename to typescript scanner 2d3e74fa Bring scanner changes over from javascript 7dbc6f9e Regenerate typescript grammar f33ce15c Merge pull request #46 from tree-sitter/this-reserved-identifier 697dbd2f Remove this from optional_parameter bf9a9d57 add test 83259f53 Allow this in parameters edc853fc Allow this to be parameter 0cf43d57 Merge pull request #45 from tree-sitter/abstract-method-signature 4636bff0 Remove async and add optional ? to abstract_method_signature bc7c4f94 Merge pull request #44 from tree-sitter/interface-extends-clause d1c55f2e Add a test and collapse clauses 3f228237 Allow extends clauses to contain comma-separated list of expressions or type references b3bdbd77 Merge pull request #43 from tree-sitter/update-method-signature cd6d59b2 add test a4bccdb3 Allow ?, get, set, *, and async in method signatures 37324d8a Merge pull request #42 from tree-sitter/optional-union-pipe b716a370 Allow union types to have one field 0be7492c Remove unecessary aliases since they aren't erased and add test 8dc5dbb0 allow optional pipe in front of intersection and union d2655a27 Regenerate grammar ad195d55 Merge pull request #41 from tree-sitter/typescript-fixes 68909cab Regenerate grammar 15f1a071 regenerate grammar c6ce9e19 Allow async arrow functions d4bb48b0 Merge pull request #40 from tree-sitter/typescript-fixes aacf795b Fix tests 74dac141 Add default_type support c289ee2d Allow parameters to have accessibility and readonly modifiers c0a7f3c0 Add conflict between member expression and nested type identifier 5ed0c199 trailing commas in formal parameters a207b1c4 Allow abstract classes as declarations 7c528f99 Bump parser for decorators in export statements 72b9fe71 Merge pull request #39 from tree-sitter/decorators e0fc4947 Merge remote-tracking branch 'origin/master' into decorators ef8f151d Add decorators to method definitions, classes, property definitions, and parameters daf13231 Merge pull request #38 from tree-sitter/reserved-identifier-in-required-parameters 453b44cd Allow reserved identifiers in required parameters 3f7c5ab6 update import declaration tests 3832d5b7 Add import/export to reserved words ac121c1a move import alias b449ce32 Bump tree-sitter-javascript for visible computed property names 5f142f55 Bump tree-sitter-javascript and regenerate parser 37458efa Bump tree-sitter-javascript and regenerate parser e575a5d8 bump tree-sitter-cli ddff0d6b Fix handling of nested_identifier/member_expression ambiguity c0f206ca 0.2.0 63cffbd8 Regenerate with latest tree-sitter 37ff685f Merge pull request #37 from tree-sitter/optional-trailing-semicolons 2fbb3523 Add optional trailing semicolons to method definitions 98bb5eb9 Merge pull request #36 from tree-sitter/semicolon-after-method-definition 57316324 Allow semicolons after method definitions 78409917 Merge pull request #35 from tree-sitter/non-optional-statement-block 1ab116d8 update corpus 78871717 update the grammar 8e3991ac wip - require a statement block in a method definition 185ad4d1 Revert "Merge pull request #34 from tree-sitter/statement-block" e4afe4ed Merge pull request #34 from tree-sitter/statement-block e0799868 Statement block isn't optional in method definition 03cfd03e Allow automatic semicolons to be inserted before comments 36e0de4b Remove hidden `_parameter` rule b1ecd5e7 Add appveyor badge to readme [skip ci] 002b46fd Add appveyor.yml 55d5b48c Merge pull request #32 from tree-sitter/new-expression-naming cc837083 Update to reflect latest expression naming in tree-sitter-javascript 6d44526e 0.1.0 e5952a2e :arrow_up: tree-sitter-cli 1d4fd56f Merge pull request #31 from tree-sitter/new-tree-sitter-api 57f308b5 Bump tree-sitter-cli version 2e1651e1 Rework naming of type identifiers, generic types 9d73b7c5 Remove separate ambient versions of rules fdfa10cf Update to use latest JS grammar, latest tree-sitter af8b9373 Merge pull request #30 from tree-sitter/external-comma-scanner a297c5c6 Update parser b39ae42f Update tree-sitter-cli dependency version aa0c4bb2 Migrate tests from gramamr_test/ to corpus/ bdb321c3 Match comma in external scanner 56d41bd9 Merge pull request #29 from tree-sitter/additional-updates 7c313772 Update grammar to not swallow module reserved identifier 3afca114 Merge pull request #28 from tree-sitter/fix-parse-errors c0e57912 Update method_definition rule f58099ec Add module to reserved identifier list; allow reserved identifiers for var declarations 6e36ba7a :fire: unused rule b2a02dac :fire: ambient method declaration, and add abstract method definition 09c30d56 Function call is choice between arguments and template string 6a1c9841 Add abstract class rule db84fe0b Allow public, private, protected to be reserved identifiers; add precedence to accessibility modifier rule to prevent collision with reserved keyword 9f3f561b Add type to reserved identifier list c849b32b Add namespace to reserved identifier list 742bd9db Add conflict for interface declaration and reserved identifier (interface is now added to reserved identifier list) 69c8d123 :fire: unnecessary conflict 092518c6 Add declare to the list of reserved identifiers b6267a4c Allow for top level 'abstract' statements 7846a59e Update 'async' to use 'reserved_identifier' rule 71fc3dc5 Allow arrow functions to have parameter named 'async' 27fd9fe5 Use JavaScript grammar's bitwise operator rule cf087a9a Allow with statements in ambient module declarations 687dffef Allow finally statements in ambient module declarations 0e64f88a Support catch statements in ambient module declarations ff43a7f1 Allow try statements in ambient module declarations 580719bc Support throw statements in ambient module declarations fe200516 Allow switch statements in ambient module declarations c3491cfa Allow return statements in ambient module declarations 48ca92a3 Fix number test 7ca8f687 One statement to rule them all! 710b4fbd Allow numbers in ambient module declarations e804a9a8 Allow if statements in ambient module declarations e49decda Allow for and for in statements in ambient module declarations be4e0984 Match do while statements in ambient modules b730dbb4 Match debugger statements in ambient modules 0e24144d Allow ambient modules to contain continue statements 30f345a9 Allow ambient modules to contain break statements 0f3e6587 Allow ambiet module declarations with no module body c43bd6a1 Extract common _module for module and internal_module rules cdc55411 Allow internal modules (namespace) c092cdf3 Fix unbalanced = e36defd2 Allow import alias statements within modules 591567a6 Allow as expressions with template strings 4a335b02 Merge branch 'master' into fix-parse-errors 8a6082ee Avoid creating spurious automatic semicolon tokens in module bodies 2ebdfbdc Reflow parens 1e068267 Allow type annotations with empty type parameter d1aa2cc1 Add empty element for arrays ea9e4e07 Add '>>>' bitwise operator 91ae3839 Match typeof and member access involving module keyword 2d63aa28 Add module typeof expression test 5a8e66fd Add typeof expressions test c7b81dfc Update tests for ambient function a126058d Allow anonymous class assignments 62289999 Match anonymous classes in typeof expressions 0e38dcc3 :fire: unnecessary rules in typescript _expression 29f7c7eb Update function rule aaea5eb2 Update function_call 874e3a52 Return ambient function definition 7fa59f6d Add function_call to _expression 322bd197 Add function rule to _expression; add type_op 1c3ad037 Move super to _expression e3ac709b Allow ambient module declarations to include A.B (_entity_name) 2ddab1da :fire: ambient_function from tests a3d1fd60 Remove ambient_function, use existing function rule 6ed0accd Allow optional assignment for ambient variable declarations 2de64b05 Add super member access test example ad63f660 Accessibility modifier precedes everything 1bad1feb Import aliases can be top level expression statements 5626ef9b Allow exports of import aliases 8b48005b Add get, set and splat properties for ambient method declarations bee32e0f Update sequence order of 'abstract' keyword in public field definition 083b5e18 Allow properties to be abstract 0d9512d5 Add abstract class test with concrete and ambient method definitions ccfaa65b Add optional abstract to ambient method declarations a821a3ab Add optional abstract for method definitions 0d2d8601 Style change 541de002 Make precedent rules consistently capitalized c3071ea4 Merge pull request #27 from tree-sitter/call-signatures 4c6edbdc Add call signatures to generators and arrow functions fc465ff3 Merge pull request #26 from tree-sitter/bump-tree-sitter 57c23057 bump tree-sitter-cli d1aeff7e Merge pull request #25 from tree-sitter/external-scanner 62da7f1b Allow _automatic_semicolon after type_body 13141979 Update tree-sitter to use external scanner 0aac5865 pin to master js branch 94425776 Merge pull request #24 from tree-sitter/index-type-query 51d09173 bump to interpolation 43aeaa7b Add type query and index type query tests bc793fa2 Merge pull request #23 from tree-sitter/more-typescript-fixes d9d9911d update package.json 3f292330 Add abstract classes b03bff31 Add global namespace declarations cacd1621 Move modifiers out of propertyName b51e6662 Add test for property_name_identifier 18ab1f48 Move ambientDeclaration choice to a function 69be8005 export interfaces in namespaces aa31668d update tree-sitter-javascript 4cdc02d9 Merge pull request #22 from tree-sitter/non-null-assertion-op c348230f Regenerate parser.c 133b9f60 Merge remote-tracking branch 'origin/master' into non-null-assertion-op 2d9c2939 Merge pull request #21 from tree-sitter/import-require-clause 9ab52bfc Merge pull request #20 from tree-sitter/function-call-arguments 42766969 Merge pull request #19 from tree-sitter/ambient-type-declarations a53a6762 Add non-null assertion op b9bd1478 Add legacy import require clause a6b25471 Add test 802321e0 Add type arguments to function calls 0ea34a0e Remove ambient_namespace_element from tests f2bf42fd Add more ambient declarations to ambient_export_declaration 0825056b add type alias declarations to namespace declarations e0b0b56e Add ambient export function declarations dc9f14b3 Hide entity_name 2c0a040f Add support for as expressions and type assertions 1974303c Allow accessibility modifiers as pair keys e98f9e5b Make default keyword optional for ambient function exports 88b9d4a4 Add ambient function declarations to modules 61f5f0db Add support for ambient module declarations, newlines in interface declarations, and add a test for predefined types as identifiers in function types c8c5149f Support ambient type alias declarations f18d6967 Merge pull request #18 from tree-sitter/readonly-property-signatures 75d5cfa0 Replace ambient_property_member with ambient_method_declaration 415cbf61 Replace ambient_class with class 503c2f9c update test aaf6b0ef Move readonly out of accessibility modifier c35e7cdd Merge remote-tracking branch 'origin/master' into readonly-property-signatures 621cd1c4 Merge pull request #17 from tree-sitter/export-assignments 7e72fafe update test f5de2909 Update grammar 5c5a195c Make accessibility_modifier noder visible 9d540fd6 Add readonly property signatures 0625232f Merge pull request #15 from tree-sitter/typeof a6a0dc40 Add export assignments ef2d1ab2 Merge remote-tracking branch 'origin/master' into typeof e1913ded Merge pull request #16 from tree-sitter/crlf 008da5e9 Add typeof types 4e7e9fb1 regenerate grammar ac90fec3 Update to crlf tokens 3fec7039 Merge pull request #14 from tree-sitter/allow-predefined-types-as-identifiers a0496449 Merge remote-tracking branch 'origin/master' into allow-predefined-types-as-identifiers 8498267d update parser.c 93eba61f Merge pull request #13 from tree-sitter/bump-tree-sitter-cli cb59980b allow predefined types to be identifiers 706cf7bf Regenerate parser.c 470b459e Merge pull request #12 from tree-sitter/rest-tail-destructuring 100c94cd rest-tail-destructuring is on master 76d5bbf4 Bump tree-sitter-cli 11ff0320 pin to rest-tail-destructuring branch 0f1a034d Merge pull request #11 from tree-sitter/literal-types a2f06d89 Add flow type parameter constraint syntax 7daecf90 Replace optional_string_parameter and required_string_parameter with literal_type a808160d Merge pull request #10 from tree-sitter/flow-exact-object-types 2f53ea41 Add export default tests 16b821fa Allow exporting arbitrary expressions 84d5948c update grammar 7ec82ab9 Merge remote-tracking branch 'origin/master' into flow-exact-object-types dfe3b4d8 Merge pull request #9 from tree-sitter/ambient-declarations 06919f92 Pin to master branch 1ea9aeb1 Allow arbitrary expressions to be exported by default as well c32c5dff Allow ambient classes and functions to be exported 160fcd52 Add flow exact object types b5837c53 Regenerate parser.c c1fa6d44 Remove ambient_constructor 31087571 Add ambient declarations tests b3f08b72 Add a terminator after index_signature in _ambient_class_body_element 65dc79a5 Add declarations.txt 7916b71d Add ambient declarations f5aa8387 Fix up tests afbea3f1 Update grammar.json and parser.c 9ee45240 Rename interface_extends_clause to extends_clause 36953a22 Override class_heritage for implements clause 6559d0e1 Add lexical_declaration to _declaration override 879575dd Override variable_declarator for type annotations 2f0d44c0 Add type_reference be8a5290 Add an array_type, _type conflict instead 5cc60e21 Specify right associativity in '_type' cceba56e Remove existential types test 39fde6df Merge pull request #7 from tree-sitter/this-and-existential-types 7082228a Merge pull request #6 from tree-sitter/interface-declarations 51325be0 Add this and existential types a4b31a5a Add constructor types 0abe28e7 Merge pull request #3 from tree-sitter/flow-import-type 8dc4c1ac Merge pull request #2 from tree-sitter/flow-maybe-types ae327871 Merge pull request #1 from tree-sitter/add-call-signature ef44c294 Add support for interface-declarations 193797c2 Add enum declarations 46295a2a Add support for type alias declarations de82cc22 Remove export override and add test 27bdd004 Support import typeof statements 8c31d029 Add import type statements 5ec947cb Add optional type to import statements 07527047 Add tests 1c8ab7c7 Add flow maybe types 80b8bdfc Bump tree-sitter-javascript to master 784e4c25 Simplify type_member_list 66834191 Add support for function types 467e5a79 Add call_signature to parse parameters/parenthesized expressions with optional types 0cb2f909 Add type annotations in parenthesized expressions a26f7872 Move optional type annotations to variable_declarator d6523a8e Fix tree-sitter-javascript require path 93cc8a17 Remove benchmarks folder 3a0d9420 Not sure how that got there 4380c667 Fix license 0247bc2b Add README f8cce728 Add package.json 2b89134a Override JS pattern instead of formal_parameter, add tests 82dc36c8 Start work on typescript grammar that extends the JS one REVERT: 6c266a6e Merge pull request #71 from talbergs/main REVERT: 7c06a648 fixed language ordering in build script REVERT: a3af90d5 fixed coding style REVERT: b5fb1943 Merge pull request #72 from BrianHicks/dependabot/cargo/clap-3.0.9 REVERT: a4f0b547 Bump clap from 3.0.7 to 3.0.9 REVERT: bec3fd87 Added PHP support to documentation. REVERT: 3a0f91a0 Accept PHP test snap REVERT: 4cb22367 Added PHP REVERT: 3459f36f Merge commit '291c533dd976044ff7e411fdd43b123f57bb385e' as 'vendor/tree-sitter-php' REVERT: 291c533d Squashed 'vendor/tree-sitter-php/' content from commit 57f8554 REVERT: 5ddc06ef Merge pull request #70 from BrianHicks/dependabot/cargo/serde_json-1.0.75 REVERT: 02691987 Bump serde_json from 1.0.74 to 1.0.75 REVERT: 4382f116 Merge pull request #69 from BrianHicks/dependabot/cargo/clap-3.0.7 REVERT: eb0680a3 Bump clap from 3.0.6 to 3.0.7 REVERT: 63856a4b Merge pull request #68 from BrianHicks/dependabot/cargo/clap-3.0.6 REVERT: 625249b8 Bump clap from 3.0.5 to 3.0.6 REVERT: 92e2901f Merge pull request #67 from BrianHicks/dependabot/cargo/clap-3.0.5 REVERT: b995a7ca Merge pull request #66 from BrianHicks/dependabot/cargo/insta-1.10.0 REVERT: c11d4317 Bump clap from 3.0.4 to 3.0.5 REVERT: ac011407 Bump insta from 1.9.0 to 1.10.0 REVERT: 21b7eca6 Merge pull request #65 from BrianHicks/dependabot/cargo/clap-3.0.4 REVERT: 5745df8e Bump clap from 3.0.1 to 3.0.4 REVERT: 11805f50 Merge pull request #64 from BrianHicks/dependabot/cargo/clap-3.0.1 REVERT: 4bef2a5b Bump clap from 3.0.0 to 3.0.1 REVERT: 8fe818ee Merge pull request #63 from BrianHicks/dependabot/cargo/serde-1.0.133 REVERT: 9dec8abf Bump serde from 1.0.132 to 1.0.133 REVERT: ee915ff9 Merge pull request #62 from BrianHicks/dependabot/cargo/clap-3.0.0 REVERT: fa1be5c8 Merge pull request #61 from BrianHicks/dependabot/cargo/serde_json-1.0.74 REVERT: 9bfd9031 Bump clap from 3.0.0-rc.11 to 3.0.0 REVERT: 1f724b39 Bump serde_json from 1.0.73 to 1.0.74 REVERT: 9fc7b839 Merge pull request #59 from BrianHicks/dependabot/cargo/clap-3.0.0-rc.11 REVERT: f163068f Merge pull request #60 from BrianHicks/dependabot/cargo/tree-sitter-0.20.2 REVERT: 52a0bc63 Bump tree-sitter from 0.20.1 to 0.20.2 REVERT: 1f601bea Bump clap from 3.0.0-rc.9 to 3.0.0-rc.11 REVERT: 73009384 Merge pull request #58 from BrianHicks/dependabot/cargo/clap-3.0.0-rc.9 REVERT: d2641be2 Bump clap from 3.0.0-rc.7 to 3.0.0-rc.9 REVERT: c73bf223 Merge pull request #57 from BrianHicks/dependabot/cargo/insta-1.9.0 REVERT: 2e3a546e Merge pull request #56 from BrianHicks/dependabot/cargo/anyhow-1.0.52 REVERT: 6f97c386 Bump insta from 1.8.0 to 1.9.0 REVERT: 0197a2b8 Bump anyhow from 1.0.51 to 1.0.52 REVERT: c03607a5 update version to 2.2.0 REVERT: b57b87e7 Merge pull request #55 from BrianHicks/updates REVERT: b2648e63 how did this get undone? it is a mystery. REVERT: 639220b3 update vendored tree-sitter-typescript REVERT: 0703f617 Squashed 'vendor/tree-sitter-typescript/' changes from 111b0776..ddf4b779 REVERT: 6e76b2a1 update vendored tree-sitter-rust REVERT: d865c3ec Squashed 'vendor/tree-sitter-rust/' changes from e06d078a..d045b04b REVERT: 75b28f9e update vendored tree-sitter-ruby REVERT: 80c2df97 Squashed 'vendor/tree-sitter-ruby/' changes from 888e2e56..ddf4b779 REVERT: 16dc5510 update vendored tree-sitter-elm REVERT: 6a0a0fda Squashed 'vendor/tree-sitter-elm/' changes from 7ef899b..15d1278 REVERT: 4c8ceaa3 tree-sitter-elixir uses main as the main branch REVERT: 365819b3 update changelog REVERT: ddf4b779 :robot: REVERT: 704757a5 add a mode to print language names REVERT: a6af59f1 update to clap 3.0.0-rc.7 REVERT: 2d730c55 :art: REVERT: e2a4f797 update dependencies REVERT: a84ebd63 Merge pull request #54 from jesse-c/add-elixir REVERT: 13550bee sort language names alphabetically REVERT: c9e2bf61 sort language names alphabetically REVERT: bae95a11 generate snapshot for Elixir REVERT: ed29063c use "elixir" for the matcher name REVERT: a7ad0dae update to the latest nixpkgs REVERT: 073bb613 use flake if possible REVERT: 04a40bbc Add Elixir REVERT: b69f4879 Merge commit 'b24d8fbd96b9f8966cb725eda06f8b8aadf2c3a0' as 'vendor/tree-sitter-elixir' REVERT: b24d8fbd Squashed 'vendor/tree-sitter-elixir/' content from commit 1b3ecf7 REVERT: 4aa939d3 Merge pull request #53 from BrianHicks/dependabot/cargo/serde-1.0.132 REVERT: e7bce9d9 Bump serde from 1.0.131 to 1.0.132 REVERT: b44c6f7c Merge pull request #52 from BrianHicks/dependabot/cargo/serde_json-1.0.73 REVERT: ea2f0b03 Bump serde_json from 1.0.72 to 1.0.73 REVERT: 2eb49d27 Merge pull request #51 from BrianHicks/dependabot/cargo/serde-1.0.131 REVERT: 5d888045 Bump serde from 1.0.130 to 1.0.131 REVERT: 434fe3c4 log C++ support REVERT: f623ea7d Merge pull request #50 from BrianHicks/release-2.1.0 REVERT: ff7a2415 Merge pull request #49 from BrianHicks/warn-less REVERT: bec8a20f add changelog REVERT: b0a7f3cb bump to 2.1.0 REVERT: 331be63a Merge pull request #48 from BrianHicks/update-deps REVERT: b7222c1b turn off warnings in all external code REVERT: b9283545 update snapshot test for Ruby REVERT: a4e4a011 Squashed 'vendor/tree-sitter-typescript/' changes from d598c967..111b0776 REVERT: f3955190 update vendored tree-sitter-typescript REVERT: c7e8db3d Squashed 'vendor/tree-sitter-rust/' changes from a360da0a..e06d078a REVERT: a3fb50a7 update vendored tree-sitter-rust REVERT: 4086f63a Squashed 'vendor/tree-sitter-ruby/' changes from 391269d7..888e2e56 REVERT: faae5f53 update vendored tree-sitter-ruby REVERT: 04ed6b3a update vendored tree-sitter-javascript REVERT: 4fa020ca Squashed 'vendor/tree-sitter-javascript/' changes from 6ec8014d..fdeb68ac REVERT: e1079ebc update vendored tree-sitter-haskell REVERT: 2425a253 Squashed 'vendor/tree-sitter-haskell/' changes from 30eea3c1..d72f2e42 REVERT: 8da8e598 Squashed 'vendor/tree-sitter-elm/' changes from d32d4436..7ef899bf REVERT: cfb97800 update vendored tree-sitter-elm REVERT: 8cb70b93 make this less repetitious REVERT: f09440a3 add better messages when updating subtrees REVERT: 5f93f1f6 update Nix sources REVERT: 85a1bbf7 Merge pull request #47 from BrianHicks/json-lines REVERT: 3dfe5b87 Merge pull request #39 from BrianHicks/dependabot/cargo/tree-sitter-0.20.1 REVERT: e9701551 :art: REVERT: 168c4b1d update snapshot tests with new version of tree-sitter REVERT: ac65e2a2 add a test for json lines output REVERT: 5ed4cf04 add a json-lines format REVERT: 5f3c2128 silence warnings we can't do anything about REVERT: 32e8c798 Bump tree-sitter from 0.20.0 to 0.20.1 REVERT: e163378f Merge pull request #32 from BrianHicks/dependabot/cargo/cc-1.0.72 REVERT: 7bcaab93 Bump cc from 1.0.71 to 1.0.72 REVERT: f260502a Merge pull request #41 from BrianHicks/dependabot/cargo/serde_json-1.0.72 REVERT: 3a54ff92 Bump serde_json from 1.0.68 to 1.0.72 REVERT: 2c2973dd Merge pull request #46 from ymarco/main REVERT: 175c6ce0 revise instructions for adding languages REVERT: dac33d60 Merge pull request #38 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-16 REVERT: 053cd524 Merge pull request #43 from BrianHicks/dependabot/cargo/anyhow-1.0.51 REVERT: 25d69b69 Merge pull request #44 from BrianHicks/dependabot/cargo/itertools-0.10.3 REVERT: f4dfbccf Merge pull request #45 from ymarco/main REVERT: 95ec6bfd Add cpp support REVERT: d91b16fc Merge commit 'b337e3879c8a5bccfed0e73deeb8cb8d0e2955bc' as 'vendor/tree-sitter-cpp' REVERT: b337e387 Squashed 'vendor/tree-sitter-cpp/' content from commit e8dcc9d REVERT: 36b38729 Bump itertools from 0.10.1 to 0.10.3 REVERT: 276838b1 Bump anyhow from 1.0.44 to 1.0.51 REVERT: c109b99f Bump cachix/install-nix-action from 15 to 16 REVERT: a6353bd7 add cachix instructions REVERT: 8a2cf06a Merge pull request #33 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-15 REVERT: 9b99283c Bump cachix/install-nix-action from 14 to 15 REVERT: 93b331a2 fix errors REVERT: 4d06d6c8 update nixpkgs REVERT: 4a14fd58 Merge pull request #25 from BrianHicks/link-post REVERT: 1ff98888 link the intro blog post REVERT: ff03ad78 Merge pull request #24 from BrianHicks/dependabot/cargo/cc-1.0.71 REVERT: 9361ceee Bump cc from 1.0.70 to 1.0.71 REVERT: 42c82446 bump to 2.0.6 REVERT: 66e00e18 Merge pull request #21 from BrianHicks/walk-fs-parallel REVERT: 733d7719 make the names better REVERT: cf470e20 walk the filesystem in parallel REVERT: aee3d2f5 extract a case on language to language REVERT: cf198588 Merge pull request #20 from BrianHicks/dependabot/cargo/serde_json-1.0.68 REVERT: 69011a86 Bump serde_json from 1.0.67 to 1.0.68 REVERT: f20261bd Merge pull request #19 from BrianHicks/dependabot/cargo/insta-1.8.0 REVERT: 084bab2c Merge pull request #18 from BrianHicks/dependabot/cargo/anyhow-1.0.44 REVERT: c8941245 Bump insta from 1.7.2 to 1.8.0 REVERT: e7ce985d Bump anyhow from 1.0.43 to 1.0.44 REVERT: 19ffc654 Merge pull request #17 from BrianHicks/dependabot/github_actions/cachix/install-nix-action-14 REVERT: ed29eb51 Bump cachix/install-nix-action from 13 to 14 REVERT: 2ee278a1 whoops, update the lock file too REVERT: ea1165ba bump to 2.0.5 REVERT: da151619 Merge pull request #16 from BrianHicks/update-flakes REVERT: 773f624d Merge pull request #15 from BrianHicks/dependabot/cargo/tree-sitter-0.20.0 REVERT: 65bb361c update flake versions REVERT: 692f1b20 fix compilation error for tree-sitter 0.20.0 REVERT: 5221469d Bump tree-sitter from 0.19.5 to 0.20.0 REVERT: 7b473ea2 Merge pull request #14 from BrianHicks/piping-into-things REVERT: c70bca97 bump to 2.0.4 REVERT: 38edcf68 pull in this thing cargo snuck in? REVERT: 92bf2228 don't exit error for a broken pipe REVERT: 32f79b91 Merge pull request #12 from BrianHicks/dependabot/cargo/serde-1.0.130 REVERT: a1f881bc Merge pull request #13 from BrianHicks/dependabot/cargo/cc-1.0.70 REVERT: cf3aaa2a Bump serde from 1.0.129 to 1.0.130 REVERT: e9b9a909 Merge pull request #10 from BrianHicks/dependabot/cargo/serde_json-1.0.67 REVERT: f551813a Bump cc from 1.0.69 to 1.0.70 REVERT: 12203fad Bump serde_json from 1.0.66 to 1.0.67 REVERT: 0a74dbbb Merge pull request #9 from BrianHicks/dependabot REVERT: 14e3fafc set up dependabot for Cargo updates REVERT: 7e8b9f5b bump to 2.0.3 REVERT: 476013ef Merge pull request #8 from BrianHicks/fix-off-by-one REVERT: 5b05e113 fix off-by-one in outputs REVERT: 25e4e716 add an overlay for tree-grepper REVERT: 5ee1612b Merge pull request #7 from BrianHicks/macos-builds REVERT: 64fcd917 remove separate clippy check REVERT: 879c5d50 darwin inputs are needed in the shell too REVERT: 00ea0855 fix formatting in build.rs REVERT: e72d1ada nixfmt on the flake REVERT: 11ff38ff I don't think we need these auth tokens for the no-push steps REVERT: e18350af add separate clippy and rustfmt checks REVERT: 54525477 document why these build values REVERT: 0642bb6d be specific about which macOS builds I want REVERT: 6698ce93 add macos builds REVERT: 4b4449f6 Merge pull request #6 from BrianHicks/flake REVERT: c7eec637 remove the niv sources REVERT: 265b612f add --no-gitignore to TS tests REVERT: aecd7122 only look in examples for Rust REVERT: cfdd6551 add --no-gitignore to Ruby tests REVERT: 1de05bf7 add --no-gitignore to JS tests REVERT: fc2653e6 add --no-gitignore to Haskell tests REVERT: 3a084b77 look in examples for elm tests REVERT: e02b1260 try using nixpkgs-unstable REVERT: cf1f9ed8 upgrade deps REVERT: 7687f57a move the dev dependencies into the flake REVERT: 8cc29918 use flake-compat for default.nix and shell.nix REVERT: 4cb6ddb7 move default.nix to flake REVERT: 6768fc30 initialize a flake from the naersk template REVERT: df7ee96f bump to 2.0.2 REVERT: af9a9ee5 Merge pull request #5 from BrianHicks/anonymous-matches-in-clauses REVERT: ec8625f2 remove unnecessary format! call REVERT: 38443b16 fix up the README to talk about ignored matches REVERT: f712869a clarify the cases we care about for names REVERT: 7f94e9b5 make underscore-ignored matches still work in conditions REVERT: 4a25a366 separate parsing and make filename optional REVERT: d020ab59 Merge pull request #4 from BrianHicks/2.0.1 REVERT: bf186bcd update a couple deps REVERT: 90a98333 bump to 2.0.1 REVERT: 19128c54 Merge pull request #3 from BrianHicks/filetype REVERT: 0ef2cc1f update snapshots REVERT: ed96a40f add file type to JSON output REVERT: 8fbe8dd5 clap errors include a newline REVERT: 8ca4f8e7 document squashing REVERT: 0f735d87 Merge pull request #2 from BrianHicks/buffering REVERT: b61233aa buffer output (seems to be something like a 20% speedup?!) REVERT: 89d18733 Merge pull request #1 from BrianHicks/ci REVERT: 0998b10c move clippy into the default build REVERT: 166dbaee use sorting in the tests REVERT: ed122bb2 add the option to sort the output REVERT: 6e8096b9 use our pkgs instead of gitignore's pinned pkgs REVERT: 4d1cb041 update sources REVERT: 56929f8e add GitHub actions CI REVERT: 77fb7196 turn on checks as part of the build REVERT: f42dc059 upgrade deps REVERT: a01aa580 Squashed 'vendor/tree-sitter-typescript/' content from commit d598c967 REVERT: f13b0ec2 Merge commit 'a01aa58053f8f6ff5bc321566009908f85c93e6d' as 'vendor/tree-sitter-typescript' REVERT: 5908d609 Squashed 'vendor/tree-sitter-rust/' content from commit a360da0a REVERT: ccbb0e69 Merge commit '5908d6099fbf4b58b84cc8c93226cd66224c581d' as 'vendor/tree-sitter-rust' REVERT: 8ec19ffa Squashed 'vendor/tree-sitter-ruby/' content from commit 391269d7 REVERT: 963564ec Merge commit '8ec19ffa34b7db4b1e56a4164e6a7b1cdebbf1b9' as 'vendor/tree-sitter-ruby' REVERT: 7e526483 Squashed 'vendor/tree-sitter-javascript/' content from commit 6ec8014d REVERT: 401f03e9 Merge commit '7e526483722b97493b104d301d0e948a31c5a716' as 'vendor/tree-sitter-javascript' REVERT: 94888ba5 Squashed 'vendor/tree-sitter-haskell/' content from commit 30eea3c1 REVERT: b7f8bacf Merge commit '94888ba58c8f3b50492033c1ce51a07ca12cd485' as 'vendor/tree-sitter-haskell' REVERT: d093a07f Squashed 'vendor/tree-sitter-elm/' content from commit d32d4436 REVERT: 18c232b2 Merge commit 'd093a07f5b3c006f0fe702759485b1fb3397078f' as 'vendor/tree-sitter-elm' REVERT: 644aefea use --squash in all the updates REVERT: da18ae59 add cargo-edit REVERT: 689cef25 remove the tree-grepper cargo wrapper REVERT: c6a20300 document the update command REVERT: bc6f5d5e redo update script to use subtrees REVERT: dbae9dc5 update snapshots with new acceptable diffs REVERT: 0f6fdd56 no more submodules! REVERT: 6292ca4f revise instructions for adding new languages REVERT: 3fdf0c16 remove submodules REVERT: ea9ca37e test TypeScript REVERT: 66264955 correct language name for typescript REVERT: 067241f5 string names should be upper-case REVERT: 2ed9a0a2 test all Rust nodes REVERT: c643089c test all Ruby nodes REVERT: bbf5a352 test javascript output REVERT: deb81fab fix clippy warnings REVERT: c74ef4d5 fix using the wrong language name in matcher REVERT: 8597f478 match all Haskell nodes REVERT: 702c4ec3 match all Elm nodes REVERT: 48ed3076 add a test for pretty JSON REVERT: f1d0b9cb test (un-pretty) JSON output REVERT: 94b99aa4 add our first snapshot test! REVERT: 1c0bb54b make args a parameter as well (and handle failures nicely) REVERT: 459f45fa make try_main take a sink REVERT: 172ff2c7 add a JSON pretty-printer to output REVERT: 507a584f add insta for testing REVERT: 43905464 update README REVERT: 9e1bb159 re-add the rest of the lanaguages REVERT: 2f23ff4e use upper-case meta var, per convention REVERT: 4b35d73e list languages REVERT: 34f41d1a replace this TODO with an explanation REVERT: 36691923 nah, this is fine REVERT: 6e3f8090 remove the 1.0.0 branch REVERT: f4b26cda borrow instead of cloning the name REVERT: 90530133 this just won't be called if there are no matchers REVERT: 20125bed get rid of the other thing we used language for REVERT: d0d20f56 only call language.language() once REVERT: 2b55e972 add a match name if none is provided REVERT: fdd4707e proactively disable underscored captures REVERT: 063e1ed8 precalculate which items to keep or drop REVERT: 641a6717 remove names that start with _ REVERT: 62c049dc use a global allocator REVERT: 894750af clean up imports REVERT: 0469f7d1 get rid of the custom wrapper REVERT: 2e1ef80a rearrange fields to match definition REVERT: 7e63b5a8 write JSON output REVERT: 931b4694 add format argument to the opts REVERT: 68f0913e don't put extra blank lines between match lines REVERT: 3199981b actually format things! REVERT: 1e181f44 refine error message for parse failures REVERT: 408870a2 only print files with matches REVERT: 05e8adc1 capture captures REVERT: 10b85bea extract more information to the match REVERT: e8508063 extract to a sub-struct REVERT: 566e6ef6 initialize the parser per-batch REVERT: fe00e50f extract matches! 🎉 REVERT: 82a2586a 🎨 REVERT: 26040d45 add a note for later REVERT: 9a83408a capture stuff in the query REVERT: dd051a73 parse a tree REVERT: f2414a17 read source to string REVERT: 418fce04 only use one implementation REVERT: 107d4f2a 🎨 REVERT: edc26eb7 implement SingleChoice REVERT: d4ee16bf be more precise in this error message REVERT: 1a6f2e30 finish doing our matching REVERT: fbaf17e1 return a borrow REVERT: ad0b402d clean up clippy warnings REVERT: e896f1e8 wire up the matchers REVERT: fe995613 print some stuff REVERT: af29e39d start pulling out an extractor REVERT: fb1ef123 finish out the sketch of matching REVERT: c5e1c50b separate the code into stages REVERT: 4933e9d9 do filetype match filtering myself REVERT: cbb2a8ba figure out which matcher we want REVERT: 64de569a stop reading for now REVERT: 119c120c combine queries REVERT: 33219dd1 make parsing queries a lot more readable REVERT: 560af235 keep the entry around REVERT: 86544786 read sources REVERT: 0f63e508 print entry paths for debug's sake REVERT: e8307a08 match filetypes REVERT: f94185b1 add an option to avoid doing gitignore REVERT: 2581302b a little more info for PATHS REVERT: 71b6897c create a filesystem walker from the opts REVERT: f1f51e2c add paths to the opts REVERT: bd07a7a6 make error message a little nicer REVERT: 3fce4d4b move queries to a separate method REVERT: fe4c05a2 move parsing to a new module REVERT: 08789bb6 friendly up the error messages a little more REVERT: 765b20d9 add a few nice tests REVERT: 7fb99cbe parse queries REVERT: d481d2d2 oh boy this sure is some parsing work huh REVERT: b189ce6f add Rust to Language REVERT: bf592a76 use ignore to walk directories REVERT: b03d21a7 unwrap the path results REVERT: 66d64048 parse a language from the command line REVERT: b4242659 make error nicer REVERT: 4a3f67b4 add a basic Language implementation REVERT: 1f53c7cc introduce parallelism REVERT: 5ecf145f walk the filesystem REVERT: bd52fdae add an extremely basic CLI interface REVERT: 3fd5f547 move the 1.0.0 source into a separate directory REVERT: 62cfa89a call it 1.0.0 REVERT: facc9c36 add Typescript support REVERT: 197bda1a update roadmap REVERT: 0a0dee82 add hippocratic license REVERT: 29b957d8 update cargo deps REVERT: 129caa48 update sources REVERT: 56745c74 update parsers REVERT: 181d75a4 update cargo deps REVERT: 565976fe move back to main.rs now that there's only one binary REVERT: 33e7fce7 remove tree-grepper-dump REVERT: c61d12eb print node kinds in the JSON output REVERT: cdf01e3f downgrade to avoid a broken version REVERT: 84d8862d update cargo deps REVERT: 52bb9216 update submodules REVERT: f37fe4de turn off warning logspam when building vendored tree-sitter parsers REVERT: 988957e1 update submodules REVERT: f686f3e7 add a script to udpate submodules REVERT: 1f007817 add rust REVERT: 7d5eb9a7 add Haskell support to tree-grepper REVERT: 17e8dac9 add libiconv dependency REVERT: 3765aae3 update package versions REVERT: f55e55eb use submodules instead of subtrees REVERT: 6b6722a6 remove subtrees REVERT: 7b1bd2a7 fix file matcher REVERT: 055330b2 add JavaScript support REVERT: e6c6e3fc use a char instead of a string? thanks, clippy? REVERT: 9a93afbf Merge commit 'd5621bb8035de6d9d21bcbff84efc2a2df3a474a' into main REVERT: d5621bb8 Squashed 'vendor/tree-sitter-ruby/' changes from 5021a6a6..1fa06a9e REVERT: 03bb233c Merge commit 'ea3bf266d0776dc2e3fe757a202bdbf45221b97a' into main REVERT: ea3bf266 Squashed 'vendor/tree-sitter-elm/' changes from 06a8ff7c..117dcf4c REVERT: dae91b20 update languages in the subtrees REVERT: 8814dc45 Merge commit '16a05dabe26c20c98c83474365ac0aedc18b06a4' as 'vendor/tree-sitter-javascript' REVERT: 16a05dab Squashed 'vendor/tree-sitter-javascript/' content from commit 1eee0d3f REVERT: 01d0d46a don't output names that begin with underscores REVERT: 37729b9b group captures in JSON output REVERT: 6b7124bf remove dead Point code REVERT: 6904801f update cargo deps REVERT: 500ac238 update sources REVERT: b20fc892 pass the language so I can actually query Ruby stuff REVERT: 2480b090 add wrapper scripts to make running exploration commands easier REVERT: 1d423444 enable predicate matching by returning text correctly REVERT: a30fa194 make tree-grepper-dump work with multiple languages too REVERT: 020a3399 talk about forwards-compatibility in the docstring REVERT: 9c351d28 parse ruby files REVERT: cbde19c3 Squashed 'vendor/tree-sitter-elm/' changes from 4da453fe..06a8ff7c REVERT: 74089398 Merge commit 'cbde19c3d59ddfb7622d252f55306997d250c335' into main REVERT: ee77aa3c compile tree-sitter-ruby REVERT: 9d1c9bba Squashed 'vendor/tree-sitter-ruby/' content from commit 5021a6a6 REVERT: d32a27f0 Merge commit '9d1c9bbaa226627f94f3a527d3eb671aad8732c0' as 'vendor/tree-sitter-ruby' REVERT: b7c1d570 add a --language flag REVERT: 4922e69b take care of clippy warnings REVERT: a969df5a add more TODOs REVERT: 7f1edd11 move name after row and column REVERT: 7aa9c54c update crates REVERT: 2f06a87c update sources REVERT: 8c8dadc2 fix another off-by-one REVERT: b3476981 fix off-by-one error REVERT: ef592f10 add the minimum possible s-expression dumper REVERT: 7a010a3f move to the bin directory to start separating stuff for multiple binaries REVERT: 97f3c338 update cargo dependencies REVERT: addbca55 update sources REVERT: 62ab05b4 update TODOs REVERT: 36850479 add match names to output REVERT: 5c5900a2 add real JSON output REVERT: a4ca8e8a add a formatter for doing nice formatting things REVERT: 66c28852 rename VisitorBuilder to Gatherer REVERT: d1a539ee use channels to extract our data back out again REVERT: 840b517f move the walking behavior to a visitor pattern REVERT: 58c26334 accept different kinds of formats REVERT: 90af002a handle the paths a little more gracefully REVERT: 0b907e66 only initialize query once REVERT: f30ff20c fix stuff from clippy REVERT: aa7edd0d make writing queries a little nicer REVERT: f19f9d5a put JSON output higher REVERT: 5c5e8788 add the rest of the filter flags I wanted REVERT: ce15ef80 add ignore files REVERT: b927160f add max_filesize REVERT: a9bdaaff call builder methods in the same order config fields are defined REVERT: 2effce68 tiny grammar fix REVERT: a949f664 add some quick benchmarks REVERT: 1d5c2c78 update binary name in README REVERT: 4883dd0c print what the output actually is REVERT: f87f3626 mark the first step as done REVERT: b69d9d21 match on queries REVERT: 67e4eb0c parse each file to a tree-sitter tree REVERT: 3f608d43 don't use a library for handling errors... just exit REVERT: 7ae2521b print out the files we're walking REVERT: decf63eb add TODO for later REVERT: d2e81a39 only match Elm files REVERT: bb21f4de grab the parser and query REVERT: 04e300f1 walk the directories recursively and in parallel REVERT: ee7246ab minor refactor while I'm thinking of it REVERT: 92c14f5a walk using ripgrep's walker instead REVERT: dc279d88 walk the provided directories REVERT: 0b98224f add roadmap stuff about non-Elm languages, as if those exist psh REVERT: 82301841 update cc to 1.0.62 to get the better error message REVERT: 1738512f parse command-line opts REVERT: 18da50af load the tree sitter grammar REVERT: 2c4090ce set up error handling harness REVERT: 3cd59bb6 meta changey thing. Maybe not fine, but seems to work? REVERT: 43076450 add xcbuild to get around cc errors REVERT: 1dae29b1 add tree-sitter dependencies REVERT: f83049cf add script to update subtrees properly REVERT: a31185d7 Squashed 'vendor/tree-sitter-elm/' content from commit 4da453f REVERT: 634ef430 Merge commit 'a31185d78586a84ea284673b023597a1c071f768' as 'vendor/tree-sitter-elm' REVERT: eaebe868 add README REVERT: 36bb1a5a make nix-build do what I want REVERT: 4afd5132 cargo init REVERT: 345a0414 nixify git-subtree-dir: vendor/tree-sitter-typescript git-subtree-split: e8e8e8dc2745840b036421b4e43286750443cb13
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
We should hypothetically be able to support any language in the list at https://tree-sitter.github.io/tree-sitter/#available-parsers. Instructions for contributing are in the README at https://github.com/BrianHicks/tree-grepper#supported-languages
The text was updated successfully, but these errors were encountered: