tree-sitter 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +29 -8
- data/Rakefile +19 -4
- data/ext/tree-sitter/Makefile +24 -0
- data/ext/tree-sitter/document.c +149 -0
- data/ext/tree-sitter/document.h +17 -0
- data/ext/tree-sitter/extconf.rb +55 -15
- data/ext/tree-sitter/node.c +300 -0
- data/ext/tree-sitter/node.h +34 -0
- data/ext/tree-sitter/out/document.o +0 -0
- data/ext/tree-sitter/out/get_changed_ranges.o +0 -0
- data/ext/tree-sitter/out/language.o +0 -0
- data/ext/tree-sitter/out/lexer.o +0 -0
- data/ext/tree-sitter/out/libruntime.a +0 -0
- data/ext/tree-sitter/out/node.o +0 -0
- data/ext/tree-sitter/out/parser.o +0 -0
- data/ext/tree-sitter/out/python/parser.c +65600 -0
- data/ext/tree-sitter/out/python/parser.o +0 -0
- data/ext/tree-sitter/out/python/scanner.cc +164 -0
- data/ext/tree-sitter/out/python/scanner.o +0 -0
- data/ext/tree-sitter/out/stack.o +0 -0
- data/ext/tree-sitter/out/string_input.o +0 -0
- data/ext/tree-sitter/out/tree.o +0 -0
- data/ext/tree-sitter/out/utf16.o +0 -0
- data/ext/tree-sitter/out/utf8proc.o +0 -0
- data/ext/tree-sitter/tree-sitter.c +4 -109
- data/ext/tree-sitter/tree-sitter.h +4 -0
- data/ext/tree-sitter/tree-sitter/LICENSE +7 -0
- data/ext/tree-sitter/tree-sitter/README.md +13 -13
- data/ext/tree-sitter/tree-sitter/appveyor.yml +24 -0
- data/ext/tree-sitter/tree-sitter/docs/Gemfile +2 -0
- data/ext/tree-sitter/tree-sitter/docs/Gemfile.lock +239 -0
- data/ext/tree-sitter/tree-sitter/docs/_config.yml +1 -0
- data/ext/tree-sitter/tree-sitter/docs/_layouts/table-of-contents.html +74 -0
- data/ext/tree-sitter/tree-sitter/docs/creating-parsers.md +360 -0
- data/ext/tree-sitter/tree-sitter/docs/css/style.css +13 -0
- data/ext/tree-sitter/tree-sitter/docs/index.md +10 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/PRESUBMIT.py +10 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/buildbot/aosp_manifest.xml +466 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/buildbot/buildbot_run.py +91 -30
- data/ext/tree-sitter/tree-sitter/externals/gyp/gyp +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/gyptest.py +3 -3
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/MSVSNew.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/MSVSSettings.py +11 -5
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/MSVSSettings_test.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/MSVSUtil.py +18 -15
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/MSVSVersion.py +53 -20
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/__init__.py +4 -6
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/__init__.pyc +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/common.py +69 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/common.pyc +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/flock_tool.py +6 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/__init__.pyc +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/analyzer.py +569 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/android.py +133 -111
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/cmake.py +3 -3
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/eclipse.py +112 -22
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/gypd.py +3 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/make.py +45 -14
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/make.pyc +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/msvs.py +170 -98
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/ninja.py +300 -71
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/ninja_test.py +12 -9
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/xcode.py +46 -12
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/xcode.pyc +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/input.py +379 -335
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/input.pyc +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/input_test.py +7 -7
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/mac_tool.py +94 -3
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/msvs_emulation.py +131 -40
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/simple_copy.py +46 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/win_tool.py +28 -5
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/xcode_emulation.py +185 -88
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/xcode_emulation.pyc +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/xcode_ninja.py +268 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/xcodeproj_file.py +53 -46
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/xcodeproj_file.pyc +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions-bare/gyptest-bare.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions-depfile/depfile.gyp +25 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions-depfile/gyptest-all.py +20 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions-depfile/input.txt +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions-none/gyptest-none.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions/gyptest-all.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions/gyptest-default.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions/gyptest-generated-header.py +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions/src/subdir1/program.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions/src/subdir3/generate_main.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/additional-targets/gyptest-additional.py +8 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/common.gypi +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/gyptest-analyzer.py +356 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/subdir/subdir.gyp +36 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/subdir/subdir2/subdir2.gyp +15 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/subdir2/subdir.gyp +18 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/subdir2/subdir.includes.gypi +9 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test.gyp +113 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test2.gyp +25 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test2.includes.gypi +13 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test2.includes.includes.gypi +9 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test2.toplevel_includes.gypi +15 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test3.gyp +77 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test4.gyp +80 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test5.gyp +25 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/32or64.c +13 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/file.in +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-host-multilib.py +32 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-make-functions.py +24 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-noalias.py +21 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-settings-list.py +24 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-settings.py +24 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-space-filenames.py +19 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/hello.c +12 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/hello.gyp +15 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/host_32or64.gyp +38 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/make_functions.gyp +31 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/settings-list.gyp +18 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/settings.gyp +18 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/space_filenames.gyp +18 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/writefile.c +18 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/assembly/src/program.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/build-option/gyptest-build.py +11 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/build-option/hello.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/builddir/src/prog1.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/builddir/src/subdir2/prog2.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/builddir/src/subdir2/subdir3/prog3.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/builddir/src/subdir2/subdir3/subdir4/prog4.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/builddir/src/subdir2/subdir3/subdir4/subdir5/prog5.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/cflags/cflags.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/cflags/gyptest-cflags.py +15 -55
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/compilable/src/program.cpp +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/{compiler.gyp → compiler-exe.gyp} +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/compiler-shared-lib.gyp +16 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/gyptest-compiler-env-toolchain.py +78 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/gyptest-compiler-env.py +9 -11
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/gyptest-compiler-global-settings.py +5 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/my_nm.py +8 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/my_readelf.py +8 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/elseif.gyp +43 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/elseif_bad1.gyp +20 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/elseif_bad2.gyp +22 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/elseif_bad3.gyp +23 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/elseif_conditions.gypi +15 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/gyptest_elseif.py +33 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/program.cc +10 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/basics/configurations.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/basics/gyptest-configurations.py +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/inheritance/configurations.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/inheritance/duplicates.gyp +27 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/inheritance/duplicates.gypd.golden +12 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/inheritance/gyptest-duplicates.py +34 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/inheritance/gyptest-inheritance.py +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/target_platform/front.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/x64/configurations.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/copies/gyptest-all.py +3 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/copies/gyptest-default.py +3 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/copies/gyptest-samedir.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/copies/gyptest-slash.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/copies/gyptest-updir.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/cxxflags/cxxflags.cc +4 -4
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/cxxflags/cxxflags.gyp +0 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/cxxflags/gyptest-cxxflags.py +13 -33
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/defines-escaping/defines-escaping.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/defines/defines.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/dependencies/gyptest-extra-targets.py +2 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/dependencies/gyptest-lib-only.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/dependency-copy/src/file1.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/dependency-copy/src/file2.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/empty-target/empty-target.gyp +12 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/empty-target/gyptest-empty-target.py +18 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/errors/dependency_cycle.gyp +23 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/errors/file_cycle0.gyp +17 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/errors/file_cycle1.gyp +13 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/errors/gyptest-errors.py +10 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/exclusion/hello.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/external-cross-compile/src/program.cc +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/actions/subdir1/program.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/gyptest-copies.py +3 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/rules/subdir1/program.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/src/prog1.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/src/subdir2/deeper/deeper.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/src/subdir2/prog2.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/src/subdir3/prog3.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/gyp-defines/gyptest-multiple-values.py +2 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/hello/hello.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/hello/hello2.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/home_dot_gyp/src/printfoo.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/include_dirs/src/includes.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/include_dirs/src/subdir/subdir_includes.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/intermediate_dir/gyptest-intermediate-dir.py +2 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/TestApp/Images.xcassets/AppIcon.appiconset/Contents.json +58 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/TestApp/Images.xcassets/image.imageset/Contents.json +23 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain.png +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain@2x.png +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain@3x.png +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/test-assets-catalog.gyp +45 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/test-crosscompile.gyp +47 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/test.gyp +0 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/tool_main.cc +7 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ActionExtension/ActionViewController.h +9 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ActionExtension/ActionViewController.m +31 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ActionExtension/Info.plist +42 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ActionExtension/MainInterface.storyboard +63 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/AppDelegate.h +12 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/AppDelegate.m +19 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/Base.lproj/Main.storyboard +25 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/Images.xcassets/LaunchImage.launchimage/Contents.json +51 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/Info.plist +32 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/ViewController.h +11 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/ViewController.m +24 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/main.m +13 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/extension.gyp +85 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-app-ios-assets-catalog.py +57 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-app-ios.py +7 -7
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-archs.py +22 -70
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-crosscompile.py +34 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-extension.py +28 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-watch.py +36 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-xcode-ninja.py +25 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchApp/Images.xcassets/AppIcon.appiconset/Contents.json +62 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchApp/Images.xcassets/LaunchImage.launchimage/Contents.json +24 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchApp/Info.plist +35 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchApp/Interface.storyboard +15 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/AppDelegate.h +12 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/AppDelegate.m +19 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/Base.lproj/Main.storyboard +25 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/Images.xcassets/LaunchImage.launchimage/Contents.json +51 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/Info.plist +32 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/ViewController.h +11 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/ViewController.m +24 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/main.m +13 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchKitExtension/Images.xcassets/MyImage.imageset/Contents.json +20 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchKitExtension/Info.plist +38 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchKitExtension/InterfaceController.h +10 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchKitExtension/InterfaceController.m +25 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchKitExtension/MainInterface.storyboard +63 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/watch.gyp +105 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/lib/TestGyp.py +349 -46
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/lib/TestMac.py +73 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/lib/TestWin.py +101 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/library/gyptest-shared.py +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/library/gyptest-static.py +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/library/src/program.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/link-dependency/gyptest-link-dependency.py +23 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/link-dependency/main.c +7 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/link-dependency/mymalloc.c +12 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/link-dependency/test.gyp +37 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/link-objects/base.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/TestApp/Images.xcassets/AppIcon.appiconset/Contents.json +58 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/TestApp/Images.xcassets/image.imageset/Contents.json +23 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain.png +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain@2x.png +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain@3x.png +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/test-assets-catalog.gyp +43 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_a.cc +8 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_a.h +10 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_b.cc +8 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_b.h +10 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_c.cc +11 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_d.cc +11 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/test-archs-multiarch.gyp +20 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/test-dependencies.gyp +92 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/test-valid-archs.gyp +28 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/clang-cxx-library/libc++.cc +2 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/clang-cxx-library/libstdc++.cc +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-action-envvars.py +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-app-assets-catalog.py +120 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-app-error.py +2 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-app.py +8 -20
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-archs.py +39 -33
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-cflags.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-clang-cxx-library.py +3 -4
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-global-settings.py +7 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-installname.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-ldflags-passed-to-libtool.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-ldflags.py +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-libraries.py +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-libtool-zero.py +26 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-loadable-module-bundle-product-extension.py +31 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-loadable-module.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-objc-gc.py +24 -18
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-postbuild-copy-bundle.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-postbuild-fail.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-prefixheader.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-rpath.py +5 -4
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-strip.py +13 -5
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-swift-library.py +62 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-type-envvars.py +3 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-xcode-env-order.py +2 -6
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-xcode-support-actions.py +25 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/libtool-zero/mylib.c +7 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/{errors/duplicate_basenames.gyp → mac/libtool-zero/test.gyp} +6 -4
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/loadable-module-bundle-product-extension/src.cc +7 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/loadable-module-bundle-product-extension/test.gyp +24 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/swift-library/Info.plist +28 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/swift-library/file.swift +9 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/swift-library/test.gyp +21 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_bundle_executable.sh +1 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_bundle_loadable_module.sh +1 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_bundle_shared_library.sh +1 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_check_sdkroot.sh +47 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_nonbundle_executable.sh +2 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_nonbundle_loadable_module.sh +1 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_nonbundle_none.sh +1 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_nonbundle_shared_library.sh +1 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_nonbundle_static_library.sh +1 -2
- data/ext/tree-sitter/tree-sitter/{out/Release/linker.lock → externals/gyp/test/mac/xcode-support-actions/source.c} +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/xcode-support-actions/test.gyp +26 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make/main.cc +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make/noload/main.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/ar/gyptest-make_global_settings_ar.py +123 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/ar/make_global_settings_ar.gyp +29 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/basics/gyptest-make_global_settings.py +2 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/bar.cc +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/foo.c +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/gyptest-make_global_settings.py +48 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/make_global_settings.gyp +22 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/my_nm.py +8 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/my_readelf.py +8 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/ld/gyptest-make_global_settings_ld.py +130 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/ld/make_global_settings_ld.gyp +29 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/many-actions/gyptest-many-actions-unsorted.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/buildevents/gyptest-ninja-warnings.py +2 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/config_attrs/hello.c +2 -2
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/external_builder/hello.cpp +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/filters/gyptest-filters-2010.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/list_excluded/hello.cpp +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/multiple_actions_error_handling/action_fail.py +7 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/multiple_actions_error_handling/action_succeed.py +7 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/multiple_actions_error_handling/actions.gyp +40 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/multiple_actions_error_handling/gyptest.py +26 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/props/hello.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/shared_output/hello.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/shared_output/there/there.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/uldi2010/hello.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/multiple-targets/gyptest-all.py +0 -3
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/multiple-targets/gyptest-default.py +0 -3
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/multiple-targets/src/prog1.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/multiple-targets/src/prog2.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/action-rule-hash/gyptest-action-rule-hash.py +32 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/action-rule-hash/subdir/action-rule-hash.gyp +29 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/action-rule-hash/subdir/emit.py +13 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/action_dependencies/gyptest-action-dependencies.py +3 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/chained-dependency/chained.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/chained-dependency/gyptest-chained-dependency.py +4 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/empty-and-non-empty-duplicate-name/gyptest-empty-and-non-empty-duplicate-name.py +23 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/empty-and-non-empty-duplicate-name/subdir/included.gyp +19 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/empty-and-non-empty-duplicate-name/test.gyp +19 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/normalize-paths-win/gyptest-normalize-paths.py +4 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/normalize-paths-win/normalize-paths.gyp +12 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/solibs_avoid_relinking/gyptest-solibs-avoid-relinking.py +5 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/use-console/foo.bar +5 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/use-console/gyptest-use-console.py +29 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/use-console/use-console.gyp +60 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/no-cpp/gyptest-no-cpp.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/product/hello.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/prune_targets/gyptest-prune-targets.py +3 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/gyptest-dirname.py +17 -3
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/src/subdir/a/b/c.gencc +2 -5
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/src/subdir/foo/bar/baz.gencc +2 -5
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/src/subdir/input-rule-dirname.gyp +62 -14
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/src/subdir/main.cc +2 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/src/subdir/nodir.gencc +8 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-rebuild/src/main.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-use-built-dependencies/gyptest-use-built-dependencies.py +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/gyptest-all.py +7 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/gyptest-default.py +7 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/actions.gyp +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/special-variables.gyp +0 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir1/program.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir2/both_rule_and_action_input.gyp +50 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir2/program.c +12 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir3/program.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir4/build-asm.gyp +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir4/program.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/gyptest-shared.py +27 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/gyptest-static.py +29 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/src/double-shared.gyp +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/src/double-static.gyp +1 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/src/prog1.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/src/prog2.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/src/prog3.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-target-name-different-directory/gyptest-all.py +5 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/sibling/gyptest-all.py +6 -3
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/sibling/gyptest-relocate.py +6 -3
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/sibling/src/prog1/prog1.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/sibling/src/prog2/prog2.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/standalone-static-library/prog.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/subdirectory/gyptest-SYMROOT-all.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/subdirectory/gyptest-SYMROOT-default.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/subdirectory/src/prog1.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/subdirectory/src/subdir/prog2.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/subdirectory/src/subdir/subdir2/prog3.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/toolsets/main.cc +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/toplevel-dir/gyptest-toplevel-dir.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/toplevel-dir/src/sub1/prog1.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/toplevel-dir/src/sub2/prog2.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/gyptest-commands-repeated-multidir.py +23 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/repeated_multidir/dir_1/test_1.gyp +13 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/repeated_multidir/dir_2/test_2.gyp +13 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/repeated_multidir/main.gyp +16 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/repeated_multidir/print_cwd_basename.py +10 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/repeated_multidir/repeated_command_common.gypi +25 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/latelate/src/program.cc +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/command-quote/command-quote.gyp +0 -5
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/command-quote/subdir/and/another/in-subdir.gyp +0 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention-cdecl.def +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention-fastcall.def +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention-stdcall.def +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention-vectorcall.def +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention.cc +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention.gyp +66 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/enable-enhanced-instruction-set.cc +28 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/enable-enhanced-instruction-set.gyp +68 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/floating-point-model-fast.cc +19 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/floating-point-model-precise.cc +19 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/floating-point-model-strict.cc +19 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/floating-point-model.gyp +43 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/enable-winrt/dllmain.cc +30 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/enable-winrt/enable-winrt.gyp +39 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/generator-output-different-drive/prog.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-cl-calling-convention.py +22 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-cl-enable-enhanced-instruction-set.py +44 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-cl-floating-point-model.py +22 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-base-address.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-enable-winrt.py +35 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-pdb-no-output.py +25 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-pdb-output.py +0 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-profile.py +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-restat-importlib.py +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-safeseh.py +40 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-shard.py +3 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-macro-targetext.py +26 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-macro-targetfilename.py +32 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-macro-targetpath.py +30 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-midl-excluded.py +22 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-midl-includedirs.py +21 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-midl-rules.py +4 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-ml-safeseh.py +22 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-system-include.py +21 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-excluded/bad.idl +6 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-excluded/copy-file.py +11 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-excluded/idl-excluded.gyp +58 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-excluded/program.cc +7 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-includedirs/hello.cc +7 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-includedirs/idl-includedirs.gyp +26 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-includedirs/subdir/bar.idl +13 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-includedirs/subdir/foo.idl +14 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-rules/Window.idl +9 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-rules/basic-idl.gyp +67 -42
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-rules/idl_compiler.py +17 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/large-pdb/main.cc +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/linker-flags/pdb-output.gyp +13 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/linker-flags/safeseh.gyp +47 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/linker-flags/safeseh_hello.cc +11 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/linker-flags/safeseh_zero.asm +10 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/linker-flags/update_pgd.py +3 -3
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/ml-safeseh/a.asm +10 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/ml-safeseh/hello.cc +11 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/ml-safeseh/ml-safeseh.gyp +24 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/precompiled/hello.c +1 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/shard/hello.cc +7 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/shard/shard.gyp +11 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/shard/shard_ref.gyp +41 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/system-include/bar/header.h +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/system-include/common/commonheader.h +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/system-include/foo/header.h +0 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/system-include/main.cc +4 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/system-include/test.gyp +26 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/vs-macros/containing-gyp.gyp +0 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/vs-macros/input-output-macros.gyp +0 -1
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/vs-macros/targetext.gyp +59 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/vs-macros/targetfilename.gyp +59 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/vs-macros/targetpath.gyp +59 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/win-tool/copies_readonly_files.gyp +29 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/win-tool/gyptest-win-tool-handles-readonly-files.py +55 -0
- data/ext/tree-sitter/tree-sitter/externals/gyp/tools/emacs/gyp.el +36 -13
- data/ext/tree-sitter/tree-sitter/externals/gyp/tools/pretty_sln.py +4 -3
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/CMakeLists.txt +4 -2
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/MANIFEST +3 -3
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/Makefile +11 -6
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/NEWS.md +69 -0
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/README.md +4 -2
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/bench/bench.c +2 -2
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/data/Makefile +12 -9
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/data/data_generator.rb +125 -42
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/test/custom.c +27 -0
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/test/iterate.c +8 -2
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/test/printproperty.c +5 -7
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/utf8proc.c +209 -98
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/utf8proc.h +126 -28
- data/ext/tree-sitter/tree-sitter/externals/utf8proc/utf8proc_data.c +12976 -15342
- data/ext/tree-sitter/tree-sitter/include/tree_sitter/compiler.h +2 -0
- data/ext/tree-sitter/tree-sitter/include/tree_sitter/parser.h +73 -74
- data/ext/tree-sitter/tree-sitter/include/tree_sitter/runtime.h +29 -20
- data/ext/tree-sitter/tree-sitter/project.gyp +13 -24
- data/ext/tree-sitter/tree-sitter/script/benchmark +76 -0
- data/ext/tree-sitter/tree-sitter/script/build-fuzzers +66 -0
- data/ext/tree-sitter/tree-sitter/script/ci +2 -1
- data/ext/tree-sitter/tree-sitter/script/configure.cmd +3 -0
- data/ext/tree-sitter/tree-sitter/script/fetch-fixtures +13 -9
- data/ext/tree-sitter/tree-sitter/script/fetch-fixtures.cmd +26 -0
- data/ext/tree-sitter/tree-sitter/script/reproduce +1 -0
- data/ext/tree-sitter/tree-sitter/script/run-fuzzer +57 -0
- data/ext/tree-sitter/tree-sitter/script/test +47 -8
- data/ext/tree-sitter/tree-sitter/script/test.cmd +2 -0
- data/ext/tree-sitter/tree-sitter/script/trim-whitespace +1 -1
- data/ext/tree-sitter/tree-sitter/script/util/scan-build.sh +24 -0
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_item.cc +60 -41
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_item.h +6 -7
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_item_transitions.cc +108 -101
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_item_transitions.h +1 -4
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_table_builder.cc +537 -0
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_table_builder.h +57 -0
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lookahead_set.cc +93 -19
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lookahead_set.h +90 -5
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_item.cc +77 -29
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_item.h +4 -9
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_item_set_builder.cc +229 -94
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_item_set_builder.h +9 -3
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_table_builder.cc +893 -0
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_table_builder.h +38 -0
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/rule_can_be_blank.cc +34 -35
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/rule_can_be_blank.h +1 -1
- data/ext/tree-sitter/tree-sitter/src/compiler/compile.cc +23 -40
- data/ext/tree-sitter/tree-sitter/src/compiler/compile_error.h +6 -0
- data/ext/tree-sitter/tree-sitter/src/compiler/generate_code/c_code.cc +301 -124
- data/ext/tree-sitter/tree-sitter/src/compiler/generate_code/c_code.h +12 -4
- data/ext/tree-sitter/tree-sitter/{doc → src/compiler}/grammar-schema.json +34 -42
- data/ext/tree-sitter/tree-sitter/src/compiler/grammar.h +24 -5
- data/ext/tree-sitter/tree-sitter/src/compiler/lex_table.cc +2 -31
- data/ext/tree-sitter/tree-sitter/src/compiler/lex_table.h +6 -30
- data/ext/tree-sitter/tree-sitter/src/compiler/lexical_grammar.h +15 -3
- data/ext/tree-sitter/tree-sitter/src/compiler/parse_grammar.cc +143 -105
- data/ext/tree-sitter/tree-sitter/src/compiler/parse_grammar.h +2 -1
- data/ext/tree-sitter/tree-sitter/src/compiler/parse_table.cc +71 -174
- data/ext/tree-sitter/tree-sitter/src/compiler/parse_table.h +23 -41
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/expand_repeats.cc +67 -34
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/expand_repeats.h +0 -2
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/expand_tokens.cc +53 -61
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/expand_tokens.h +9 -3
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/extract_choices.cc +37 -43
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/extract_choices.h +1 -1
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/extract_tokens.cc +248 -125
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/extract_tokens.h +3 -2
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/flatten_grammar.cc +114 -70
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/flatten_grammar.h +2 -2
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/initial_syntax_grammar.h +4 -3
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/intern_symbols.cc +113 -50
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/intern_symbols.h +2 -2
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/interned_grammar.h +7 -6
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/normalize_rules.cc +5 -3
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/parse_regex.cc +95 -76
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/parse_regex.h +1 -1
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/prepare_grammar.cc +9 -7
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/prepare_grammar.h +2 -5
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/token_description.cc +59 -45
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/token_description.h +1 -1
- data/ext/tree-sitter/tree-sitter/src/compiler/rule.cc +284 -6
- data/ext/tree-sitter/tree-sitter/src/compiler/rule.h +124 -25
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/blank.h +5 -14
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/character_set.cc +35 -84
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/character_set.h +19 -26
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/choice.cc +3 -69
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/choice.h +6 -13
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/metadata.cc +128 -71
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/metadata.h +48 -17
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/named_symbol.h +6 -12
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/pattern.h +6 -12
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/repeat.cc +5 -34
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/repeat.h +7 -13
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/seq.cc +6 -47
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/seq.h +8 -14
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/string.h +6 -12
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/symbol.h +53 -32
- data/ext/tree-sitter/tree-sitter/src/compiler/syntax_grammar.cc +24 -22
- data/ext/tree-sitter/tree-sitter/src/compiler/syntax_grammar.h +36 -21
- data/ext/tree-sitter/tree-sitter/src/compiler/util/make_visitor.h +31 -0
- data/ext/tree-sitter/tree-sitter/src/runtime/alloc.h +1 -1
- data/ext/tree-sitter/tree-sitter/src/runtime/array.h +25 -36
- data/ext/tree-sitter/tree-sitter/src/runtime/document.c +61 -34
- data/ext/tree-sitter/tree-sitter/src/runtime/document.h +3 -0
- data/ext/tree-sitter/tree-sitter/src/runtime/error_costs.h +5 -19
- data/ext/tree-sitter/tree-sitter/src/runtime/get_changed_ranges.c +355 -0
- data/ext/tree-sitter/tree-sitter/src/runtime/get_changed_ranges.h +20 -0
- data/ext/tree-sitter/tree-sitter/src/runtime/language.c +33 -31
- data/ext/tree-sitter/tree-sitter/src/runtime/language.h +27 -3
- data/ext/tree-sitter/tree-sitter/src/runtime/length.h +5 -21
- data/ext/tree-sitter/tree-sitter/src/runtime/lexer.c +61 -17
- data/ext/tree-sitter/tree-sitter/src/runtime/lexer.h +4 -5
- data/ext/tree-sitter/tree-sitter/src/runtime/node.c +93 -89
- data/ext/tree-sitter/tree-sitter/src/runtime/node.h +1 -1
- data/ext/tree-sitter/tree-sitter/src/runtime/parser.c +850 -743
- data/ext/tree-sitter/tree-sitter/src/runtime/parser.h +13 -8
- data/ext/tree-sitter/tree-sitter/src/runtime/point.h +9 -4
- data/ext/tree-sitter/tree-sitter/src/runtime/reduce_action.h +2 -0
- data/ext/tree-sitter/tree-sitter/src/runtime/reusable_node.h +14 -18
- data/ext/tree-sitter/tree-sitter/src/runtime/stack.c +424 -302
- data/ext/tree-sitter/tree-sitter/src/runtime/stack.h +75 -72
- data/ext/tree-sitter/tree-sitter/src/runtime/string_input.c +4 -10
- data/ext/tree-sitter/tree-sitter/src/runtime/tree.c +401 -252
- data/ext/tree-sitter/tree-sitter/src/runtime/tree.h +71 -57
- data/ext/tree-sitter/tree-sitter/src/runtime/utf16.c +5 -0
- data/ext/tree-sitter/tree-sitter/test/benchmarks.cc +122 -0
- data/ext/tree-sitter/tree-sitter/{spec/compiler/build_tables/lex_item_spec.cc → test/compiler/build_tables/lex_item_test.cc} +141 -143
- data/ext/tree-sitter/tree-sitter/test/compiler/build_tables/parse_item_set_builder_test.cc +134 -0
- data/ext/tree-sitter/tree-sitter/{spec/compiler/build_tables/rule_can_be_blank_spec.cc → test/compiler/build_tables/rule_can_be_blank_test.cc} +16 -19
- data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/expand_repeats_test.cc +170 -0
- data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/expand_tokens_test.cc +89 -0
- data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/extract_choices_test.cc +77 -0
- data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/extract_tokens_test.cc +459 -0
- data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/flatten_grammar_test.cc +130 -0
- data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/intern_symbols_test.cc +101 -0
- data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/parse_regex_test.cc +334 -0
- data/ext/tree-sitter/tree-sitter/{spec/compiler/rules/character_set_spec.cc → test/compiler/rules/character_set_test.cc} +15 -27
- data/ext/tree-sitter/tree-sitter/test/compiler/rules/rule_test.cc +90 -0
- data/ext/tree-sitter/tree-sitter/{spec/compiler/util/string_helpers_spec.cc → test/compiler/util/string_helpers_test.cc} +1 -1
- data/ext/tree-sitter/tree-sitter/test/fixtures/error_corpus/c_errors.txt +166 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/error_corpus/javascript_errors.txt +179 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/fixtures/error_corpus/json_errors.txt +10 -7
- data/ext/tree-sitter/tree-sitter/{spec → test}/fixtures/error_corpus/python_errors.txt +0 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_inlined_rules/corpus.txt +13 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_inlined_rules/grammar.json +59 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_inlined_rules/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_rules/corpus.txt +18 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_rules/grammar.json +71 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_unit_reductions/corpus.txt +12 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_unit_reductions/grammar.json +70 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_unit_reductions/readme.md +5 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/anonymous_tokens_with_escaped_chars/corpus.txt +32 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/anonymous_tokens_with_escaped_chars/grammar.json +14 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/anonymous_tokens_with_escaped_chars/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_left/corpus.txt +8 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_left/grammar.json +31 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_missing/expected_error.txt +13 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_missing/grammar.json +27 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_right/corpus.txt +8 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_right/grammar.json +31 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule/expected_error.txt +14 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule/grammar.json +76 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule_after_external_token/expected_error.txt +14 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule_after_external_token/grammar.json +82 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule_after_external_token/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflicting_precedence/expected_error.txt +15 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflicting_precedence/grammar.json +58 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/dynamic_precedence/corpus.txt +25 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/dynamic_precedence/grammar.json +73 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/dynamic_precedence/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/epsilon_rules/expected_error.txt +4 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/epsilon_rules/grammar.json +15 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_anonymous_tokens/corpus.txt +41 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_anonymous_tokens/grammar.json +35 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_anonymous_tokens/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_anonymous_tokens/scanner.c +36 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_tokens/corpus.txt +41 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_tokens/grammar.json +36 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_tokens/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/{spec/fixtures/external_scanners/shared_external_tokens.c → test/fixtures/test_grammars/external_and_internal_tokens/scanner.c} +21 -14
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_extra_tokens/corpus.txt +10 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_extra_tokens/grammar.json +25 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_extra_tokens/scanner.c +49 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_tokens/corpus.txt +22 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_tokens/grammar.json +57 -0
- data/ext/tree-sitter/tree-sitter/{spec/fixtures/external_scanners/percent_strings.c → test/fixtures/test_grammars/external_tokens/scanner.c} +19 -17
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inline_rules/corpus.txt +20 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inline_rules/grammar.json +76 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inlined_aliased_rules/corpus.txt +18 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inlined_aliased_rules/grammar.json +75 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inlined_aliased_rules/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inverted_external_token/corpus.txt +32 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inverted_external_token/grammar.json +55 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inverted_external_token/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inverted_external_token/scanner.c +48 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/invisible_start_rule/expected_error.txt +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/invisible_start_rule/grammar.json +23 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/lexical_conflicts_due_to_state_merging/corpus.txt +33 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/lexical_conflicts_due_to_state_merging/grammar.json +65 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/lexical_conflicts_due_to_state_merging/readme.md +20 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/nested_inlined_rules/corpus.txt +12 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/nested_inlined_rules/grammar.json +54 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/nested_inlined_rules/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/partially_resolved_conflict/expected_error.txt +14 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/partially_resolved_conflict/grammar.json +58 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/partially_resolved_conflict/readme.txt +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_missing/expected_error.txt +15 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_missing/grammar.json +63 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_missing/readme.md +15 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_negative/corpus.txt +12 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_negative/grammar.json +63 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_negative/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_positive/corpus.txt +13 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_positive/grammar.json +63 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_positive/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_subsequence/corpus.txt +24 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_subsequence/grammar.json +135 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/readme.md +3 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/readme_grammar/corpus.txt +13 -0
- data/{test/tree-sitter/fixtures/arithmetic → ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/readme_grammar}/grammar.json +3 -3
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/start_rule_is_blank/corpus.txt +7 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/start_rule_is_blank/grammar.json +6 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/start_rule_is_token/corpus.txt +6 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/start_rule_is_token/grammar.json +6 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/unused_rules/corpus.txt +9 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/unused_rules/grammar.json +73 -0
- data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/unused_rules/readme.md +1 -0
- data/ext/tree-sitter/tree-sitter/test/fuzz/README.md +43 -0
- data/ext/tree-sitter/tree-sitter/test/fuzz/fuzzer.cc +27 -0
- data/ext/tree-sitter/tree-sitter/test/fuzz/gen-dict.py +31 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/dedent.h +0 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/encoding_helpers.cc +9 -3
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/encoding_helpers.h +0 -0
- data/ext/tree-sitter/tree-sitter/test/helpers/file_helpers.cc +100 -0
- data/ext/tree-sitter/tree-sitter/test/helpers/file_helpers.h +15 -0
- data/ext/tree-sitter/tree-sitter/test/helpers/load_language.cc +239 -0
- data/ext/tree-sitter/tree-sitter/test/helpers/load_language.h +14 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/point_helpers.cc +2 -5
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/point_helpers.h +0 -0
- data/ext/tree-sitter/tree-sitter/test/helpers/random_helpers.cc +59 -0
- data/ext/tree-sitter/tree-sitter/test/helpers/random_helpers.h +14 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/read_test_entries.cc +38 -38
- data/ext/tree-sitter/tree-sitter/test/helpers/read_test_entries.h +22 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/record_alloc.cc +7 -13
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/record_alloc.h +2 -2
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/scope_sequence.cc +0 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/scope_sequence.h +0 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/spy_input.cc +39 -15
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/spy_input.h +4 -4
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/spy_logger.cc +0 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/spy_logger.h +0 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/stderr_logger.cc +0 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/stderr_logger.h +0 -0
- data/ext/tree-sitter/tree-sitter/test/helpers/stream_methods.cc +224 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/stream_methods.h +32 -15
- data/ext/tree-sitter/tree-sitter/test/helpers/tree_helpers.cc +99 -0
- data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/tree_helpers.h +3 -1
- data/ext/tree-sitter/tree-sitter/test/integration/fuzzing-examples.cc +67 -0
- data/ext/tree-sitter/tree-sitter/test/integration/real_grammars.cc +142 -0
- data/ext/tree-sitter/tree-sitter/test/integration/test_grammars.cc +79 -0
- data/ext/tree-sitter/tree-sitter/{spec/runtime/document_spec.cc → test/runtime/document_test.cc} +150 -32
- data/ext/tree-sitter/tree-sitter/test/runtime/language_test.cc +55 -0
- data/ext/tree-sitter/tree-sitter/{spec/runtime/node_spec.cc → test/runtime/node_test.cc} +222 -127
- data/ext/tree-sitter/tree-sitter/{spec/runtime/parser_spec.cc → test/runtime/parser_test.cc} +126 -85
- data/ext/tree-sitter/tree-sitter/{spec/runtime/stack_spec.cc → test/runtime/stack_test.cc} +201 -164
- data/ext/tree-sitter/tree-sitter/test/runtime/tree_test.cc +475 -0
- data/ext/tree-sitter/tree-sitter/{spec/spec_helper.h → test/test_helper.h} +3 -3
- data/ext/tree-sitter/tree-sitter/{spec/specs.cc → test/tests.cc} +4 -3
- data/ext/tree-sitter/tree-sitter/tests.gyp +77 -23
- data/lib/tree-sitter.rb +4 -0
- data/lib/tree-sitter/node.rb +27 -0
- data/lib/tree-sitter/version.rb +3 -1
- data/test/test_helper.rb +4 -0
- data/test/tree-sitter/fixtures/parsers/python/parser.c +65600 -0
- data/test/tree-sitter/fixtures/parsers/python/scanner.cc +164 -0
- data/test/tree-sitter/test_basic.rb +2 -0
- data/test/tree-sitter/test_document.rb +101 -1
- data/test/tree-sitter/test_node.rb +73 -0
- data/tree-sitter.gemspec +4 -2
- metadata +445 -217
- data/ext/tree-sitter/tree-sitter/Makefile +0 -360
- data/ext/tree-sitter/tree-sitter/compiler.target.mk +0 -238
- data/ext/tree-sitter/tree-sitter/externals/gyp/pylintrc +0 -307
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/gyptest-fail-shared.py +0 -18
- data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/gyptest-fail-static.py +0 -18
- data/ext/tree-sitter/tree-sitter/gyp-mac-tool +0 -511
- data/ext/tree-sitter/tree-sitter/out/Release/libcompiler.a +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/libruntime.a +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/externals/json-parser/json.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/externals/utf8proc/utf8proc.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/build_lex_table.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/build_parse_table.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/build_tables.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/lex_conflict_manager.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/lex_item.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/lex_item_transitions.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/lookahead_set.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/parse_item.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/parse_item_set_builder.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/recovery_tokens.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/rule_can_be_blank.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/compile.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/generate_code/c_code.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/lex_table.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/parse_grammar.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/parse_table.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/precedence_range.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/expand_repeats.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/expand_tokens.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/extract_choices.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/extract_tokens.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/flatten_grammar.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/intern_symbols.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/is_token.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/normalize_rules.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/parse_regex.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/prepare_grammar.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/token_description.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rule.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/blank.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/built_in_symbols.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/character_range.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/character_set.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/choice.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/metadata.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/named_symbol.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/pattern.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/repeat.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/rules.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/seq.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/string.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/symbol.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/visitor.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/syntax_grammar.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/util/string_helpers.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/variable.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/externals/utf8proc/utf8proc.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/document.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/error_costs.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/language.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/lexer.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/node.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/parser.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/stack.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/string_input.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/tree.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/utf16.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/build_tables/distinctive_tokens_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/build_tables/lex_conflict_manager_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/build_tables/lex_item_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/build_tables/parse_item_set_builder_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/build_tables/rule_can_be_blank_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/expand_repeats_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/expand_tokens_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/extract_choices_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/extract_tokens_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/flatten_grammar_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/intern_symbols_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/parse_regex_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/rules/character_set_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/rules/choice_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/rules/repeat_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/util/string_helpers_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/encoding_helpers.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/load_language.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/point_helpers.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/random_helpers.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/read_test_entries.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/record_alloc.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/rule_helpers.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/scope_sequence.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/spy_input.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/spy_logger.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/stderr_logger.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/stream_methods.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/tree_helpers.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/integration/compile_grammar_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/integration/corpus_specs.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/runtime/document_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/runtime/node_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/runtime/parser_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/runtime/stack_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/runtime/tree_spec.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/specs.o +0 -0
- data/ext/tree-sitter/tree-sitter/out/Release/tests +0 -0
- data/ext/tree-sitter/tree-sitter/project.Makefile +0 -6
- data/ext/tree-sitter/tree-sitter/runtime.target.mk +0 -174
- data/ext/tree-sitter/tree-sitter/spec/compiler/build_tables/distinctive_tokens_spec.cc +0 -34
- data/ext/tree-sitter/tree-sitter/spec/compiler/build_tables/lex_conflict_manager_spec.cc +0 -88
- data/ext/tree-sitter/tree-sitter/spec/compiler/build_tables/parse_item_set_builder_spec.cc +0 -133
- data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/expand_repeats_spec.cc +0 -152
- data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/expand_tokens_spec.cc +0 -109
- data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/extract_choices_spec.cc +0 -106
- data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/extract_tokens_spec.cc +0 -251
- data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/flatten_grammar_spec.cc +0 -89
- data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/intern_symbols_spec.cc +0 -89
- data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/parse_regex_spec.cc +0 -245
- data/ext/tree-sitter/tree-sitter/spec/compiler/rules/choice_spec.cc +0 -53
- data/ext/tree-sitter/tree-sitter/spec/compiler/rules/repeat_spec.cc +0 -22
- data/ext/tree-sitter/tree-sitter/spec/fixtures/error_corpus/c_errors.txt +0 -130
- data/ext/tree-sitter/tree-sitter/spec/fixtures/error_corpus/javascript_errors.txt +0 -157
- data/ext/tree-sitter/tree-sitter/spec/fixtures/external_scanners/extra_external_tokens.c +0 -42
- data/ext/tree-sitter/tree-sitter/spec/helpers/equals_pointer.h +0 -37
- data/ext/tree-sitter/tree-sitter/spec/helpers/load_language.cc +0 -206
- data/ext/tree-sitter/tree-sitter/spec/helpers/load_language.h +0 -12
- data/ext/tree-sitter/tree-sitter/spec/helpers/random_helpers.cc +0 -35
- data/ext/tree-sitter/tree-sitter/spec/helpers/random_helpers.h +0 -8
- data/ext/tree-sitter/tree-sitter/spec/helpers/read_test_entries.h +0 -15
- data/ext/tree-sitter/tree-sitter/spec/helpers/rule_helpers.cc +0 -55
- data/ext/tree-sitter/tree-sitter/spec/helpers/rule_helpers.h +0 -21
- data/ext/tree-sitter/tree-sitter/spec/helpers/stream_methods.cc +0 -140
- data/ext/tree-sitter/tree-sitter/spec/helpers/tree_helpers.cc +0 -50
- data/ext/tree-sitter/tree-sitter/spec/integration/compile_grammar_spec.cc +0 -847
- data/ext/tree-sitter/tree-sitter/spec/integration/corpus_specs.cc +0 -185
- data/ext/tree-sitter/tree-sitter/spec/runtime/tree_spec.cc +0 -439
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_lex_table.cc +0 -195
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_lex_table.h +0 -18
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_parse_table.cc +0 -604
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_parse_table.h +0 -22
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_tables.cc +0 -27
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_tables.h +0 -24
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/conflict_type.h +0 -16
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_conflict_manager.cc +0 -55
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_conflict_manager.h +0 -31
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/recovery_tokens.cc +0 -89
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/recovery_tokens.h +0 -19
- data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/remove_duplicate_states.h +0 -65
- data/ext/tree-sitter/tree-sitter/src/compiler/compile.h +0 -16
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/is_token.cc +0 -30
- data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/is_token.h +0 -14
- data/ext/tree-sitter/tree-sitter/src/compiler/rules.h +0 -28
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/blank.cc +0 -36
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/built_in_symbols.cc +0 -19
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/built_in_symbols.h +0 -16
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/character_range.cc +0 -36
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/character_range.h +0 -25
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/named_symbol.cc +0 -35
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/pattern.cc +0 -36
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/rules.cc +0 -108
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/string.cc +0 -35
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/symbol.cc +0 -82
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/visitor.cc +0 -44
- data/ext/tree-sitter/tree-sitter/src/compiler/rules/visitor.h +0 -234
- data/ext/tree-sitter/tree-sitter/src/compiler/variable.cc +0 -11
- data/ext/tree-sitter/tree-sitter/src/compiler/variable.h +0 -27
- data/ext/tree-sitter/tree-sitter/src/runtime/error_costs.c +0 -28
- data/ext/tree-sitter/tree-sitter/src/runtime/tree_path.h +0 -217
- data/ext/tree-sitter/tree-sitter/tests.Makefile +0 -6
- data/ext/tree-sitter/tree-sitter/tests.target.mk +0 -176
- data/test/tree-sitter/fixtures/ruby/grammar.json +0 -4803
- data/test/tree-sitter/test_grammar.rb +0 -34
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
'targets': [
|
3
|
+
{
|
4
|
+
'target_name': 'foo',
|
5
|
+
'type': 'none',
|
6
|
+
'copies': [
|
7
|
+
{
|
8
|
+
'destination': '<(PRODUCT_DIR)/dest',
|
9
|
+
'files': [
|
10
|
+
'read-only-file',
|
11
|
+
],
|
12
|
+
},
|
13
|
+
],
|
14
|
+
}, # target: foo
|
15
|
+
|
16
|
+
{
|
17
|
+
'target_name': 'bar',
|
18
|
+
'type': 'none',
|
19
|
+
'copies': [
|
20
|
+
{
|
21
|
+
'destination': '<(PRODUCT_DIR)/dest',
|
22
|
+
'files': [
|
23
|
+
'subdir/',
|
24
|
+
],
|
25
|
+
},
|
26
|
+
],
|
27
|
+
}, # target: bar
|
28
|
+
],
|
29
|
+
}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
|
3
|
+
# Copyright (c) 2014 Google Inc. All rights reserved.
|
4
|
+
# Use of this source code is governed by a BSD-style license that can be
|
5
|
+
# found in the LICENSE file.
|
6
|
+
|
7
|
+
"""
|
8
|
+
Make sure overwriting read-only files works as expected (via win-tool).
|
9
|
+
"""
|
10
|
+
|
11
|
+
import TestGyp
|
12
|
+
|
13
|
+
import filecmp
|
14
|
+
import os
|
15
|
+
import stat
|
16
|
+
import sys
|
17
|
+
|
18
|
+
if sys.platform == 'win32':
|
19
|
+
test = TestGyp.TestGyp(formats=['ninja'])
|
20
|
+
|
21
|
+
# First, create the source files.
|
22
|
+
os.makedirs('subdir')
|
23
|
+
read_only_files = ['read-only-file', 'subdir/A', 'subdir/B', 'subdir/C']
|
24
|
+
for f in read_only_files:
|
25
|
+
test.write(f, 'source_contents')
|
26
|
+
test.chmod(f, stat.S_IREAD)
|
27
|
+
if os.access(f, os.W_OK):
|
28
|
+
test.fail_test()
|
29
|
+
|
30
|
+
# Second, create the read-only destination files. Note that we are creating
|
31
|
+
# them where the ninja and win-tool will try to copy them to, in order to test
|
32
|
+
# that copies overwrite the files.
|
33
|
+
os.makedirs(test.built_file_path('dest/subdir'))
|
34
|
+
for f in read_only_files:
|
35
|
+
f = os.path.join('dest', f)
|
36
|
+
test.write(test.built_file_path(f), 'SHOULD BE OVERWRITTEN')
|
37
|
+
test.chmod(test.built_file_path(f), stat.S_IREAD)
|
38
|
+
# Ensure not writable.
|
39
|
+
if os.access(test.built_file_path(f), os.W_OK):
|
40
|
+
test.fail_test()
|
41
|
+
|
42
|
+
test.run_gyp('copies_readonly_files.gyp')
|
43
|
+
test.build('copies_readonly_files.gyp')
|
44
|
+
|
45
|
+
# Check the destination files were overwritten by ninja.
|
46
|
+
for f in read_only_files:
|
47
|
+
f = os.path.join('dest', f)
|
48
|
+
test.must_contain(test.built_file_path(f), 'source_contents')
|
49
|
+
|
50
|
+
# This will fail if the files are not the same mode or contents.
|
51
|
+
for f in read_only_files:
|
52
|
+
if not filecmp.cmp(f, test.built_file_path(os.path.join('dest', f))):
|
53
|
+
test.fail_test()
|
54
|
+
|
55
|
+
test.pass_test()
|
@@ -15,14 +15,36 @@
|
|
15
15
|
"recent emacsen), not from the older and less maintained "
|
16
16
|
"python-mode.el")))
|
17
17
|
|
18
|
-
(defadvice python-calculate-
|
19
|
-
|
18
|
+
(defadvice python-indent-calculate-levels (after gyp-outdent-closing-parens
|
19
|
+
activate)
|
20
20
|
"De-indent closing parens, braces, and brackets in gyp-mode."
|
21
|
-
(
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
21
|
+
(when (and (eq major-mode 'gyp-mode)
|
22
|
+
(string-match "^ *[])}][],)}]* *$"
|
23
|
+
(buffer-substring-no-properties
|
24
|
+
(line-beginning-position) (line-end-position))))
|
25
|
+
(setf (first python-indent-levels)
|
26
|
+
(- (first python-indent-levels) python-continuation-offset))))
|
27
|
+
|
28
|
+
(defadvice python-indent-guess-indent-offset (around
|
29
|
+
gyp-indent-guess-indent-offset
|
30
|
+
activate)
|
31
|
+
"Guess correct indent offset in gyp-mode."
|
32
|
+
(or (and (not (eq major-mode 'gyp-mode))
|
33
|
+
ad-do-it)
|
34
|
+
(save-excursion
|
35
|
+
(save-restriction
|
36
|
+
(widen)
|
37
|
+
(goto-char (point-min))
|
38
|
+
;; Find first line ending with an opening brace that is not a comment.
|
39
|
+
(or (and (re-search-forward "\\(^[[{]$\\|^.*[^#].*[[{]$\\)")
|
40
|
+
(forward-line)
|
41
|
+
(/= (current-indentation) 0)
|
42
|
+
(set (make-local-variable 'python-indent-offset)
|
43
|
+
(current-indentation))
|
44
|
+
(set (make-local-variable 'python-continuation-offset)
|
45
|
+
(current-indentation)))
|
46
|
+
(message "Can't guess gyp indent offset, using default: %s"
|
47
|
+
python-continuation-offset))))))
|
26
48
|
|
27
49
|
(define-derived-mode gyp-mode python-mode "Gyp"
|
28
50
|
"Major mode for editing .gyp files. See http://code.google.com/p/gyp/"
|
@@ -35,9 +57,10 @@
|
|
35
57
|
|
36
58
|
(defun gyp-set-indentation ()
|
37
59
|
"Hook function to configure python indentation to suit gyp mode."
|
38
|
-
(
|
39
|
-
|
40
|
-
|
60
|
+
(set (make-local-variable 'python-indent-offset) 2)
|
61
|
+
(set (make-local-variable 'python-continuation-offset) 2)
|
62
|
+
(set (make-local-variable 'python-indent-guess-indent-offset) t)
|
63
|
+
(python-indent-guess-indent-offset))
|
41
64
|
|
42
65
|
(add-hook 'gyp-mode-hook 'gyp-set-indentation)
|
43
66
|
|
@@ -218,11 +241,11 @@
|
|
218
241
|
;; Top-level keywords
|
219
242
|
(list (concat "['\"]\\("
|
220
243
|
(regexp-opt (list "action" "action_name" "actions" "cflags"
|
221
|
-
"
|
222
|
-
"dependencies" "destination"
|
244
|
+
"cflags_cc" "conditions" "configurations"
|
245
|
+
"copies" "defines" "dependencies" "destination"
|
223
246
|
"direct_dependent_settings"
|
224
247
|
"export_dependent_settings" "extension" "files"
|
225
|
-
"include_dirs" "includes" "inputs" "libraries"
|
248
|
+
"include_dirs" "includes" "inputs" "ldflags" "libraries"
|
226
249
|
"link_settings" "mac_bundle" "message"
|
227
250
|
"msvs_external_rule" "outputs" "product_name"
|
228
251
|
"process_outputs_as_sources" "rules" "rule_name"
|
@@ -38,12 +38,13 @@ def ParseSolution(solution_file):
|
|
38
38
|
|
39
39
|
# Regular expressions that matches the SLN format.
|
40
40
|
# The first line of a project definition.
|
41
|
-
begin_project = re.compile(
|
42
|
-
|
41
|
+
begin_project = re.compile(r'^Project\("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942'
|
42
|
+
r'}"\) = "(.*)", "(.*)", "(.*)"$')
|
43
43
|
# The last line of a project definition.
|
44
44
|
end_project = re.compile('^EndProject$')
|
45
45
|
# The first line of a dependency list.
|
46
|
-
begin_dep = re.compile(
|
46
|
+
begin_dep = re.compile(
|
47
|
+
r'ProjectSection\(ProjectDependencies\) = postProject$')
|
47
48
|
# The last line of a dependency list.
|
48
49
|
end_dep = re.compile('EndProjectSection$')
|
49
50
|
# A line describing a dependency.
|
@@ -6,9 +6,11 @@ disallow_intree_builds()
|
|
6
6
|
|
7
7
|
project (utf8proc C)
|
8
8
|
|
9
|
-
#
|
9
|
+
# This is the ABI version number, which may differ from the
|
10
|
+
# API version number (defined in utf8proc.h).
|
11
|
+
# Be sure to also update these in Makefile and MANIFEST!
|
10
12
|
set(SO_MAJOR 2)
|
11
|
-
set(SO_MINOR
|
13
|
+
set(SO_MINOR 1)
|
12
14
|
set(SO_PATCH 0)
|
13
15
|
|
14
16
|
add_definitions (
|
@@ -2,6 +2,6 @@ include/
|
|
2
2
|
include/utf8proc.h
|
3
3
|
lib/
|
4
4
|
lib/libutf8proc.a
|
5
|
-
lib/libutf8proc.so -> libutf8proc.so.2.
|
6
|
-
lib/libutf8proc.so.2 -> libutf8proc.so.2.
|
7
|
-
lib/libutf8proc.so.2.
|
5
|
+
lib/libutf8proc.so -> libutf8proc.so.2.1.0
|
6
|
+
lib/libutf8proc.so.2 -> libutf8proc.so.2.1.0
|
7
|
+
lib/libutf8proc.so.2.1.0
|
@@ -11,16 +11,17 @@ FIND=find
|
|
11
11
|
CFLAGS ?= -O2
|
12
12
|
PICFLAG = -fPIC
|
13
13
|
C99FLAG = -std=c99
|
14
|
-
WCFLAGS = -Wall -
|
14
|
+
WCFLAGS = -Wall -pedantic
|
15
15
|
UCFLAGS = $(CFLAGS) $(PICFLAG) $(C99FLAG) $(WCFLAGS) -DUTF8PROC_EXPORTS
|
16
16
|
|
17
17
|
# shared-library version MAJOR.MINOR.PATCH ... this may be *different*
|
18
18
|
# from the utf8proc version number because it indicates ABI compatibility,
|
19
19
|
# not API compatibility: MAJOR should be incremented whenever *binary*
|
20
|
-
# compatibility is broken, even if the API is backward-compatible
|
21
|
-
#
|
20
|
+
# compatibility is broken, even if the API is backward-compatible.
|
21
|
+
# The API version number is defined in utf8proc.h.
|
22
|
+
# Be sure to also update these ABI versions in MANIFEST and CMakeLists.txt!
|
22
23
|
MAJOR=2
|
23
|
-
MINOR=
|
24
|
+
MINOR=1
|
24
25
|
PATCH=0
|
25
26
|
|
26
27
|
OS := $(shell uname)
|
@@ -48,7 +49,7 @@ clean:
|
|
48
49
|
ifneq ($(OS),Darwin)
|
49
50
|
rm -f libutf8proc.so.$(MAJOR)
|
50
51
|
endif
|
51
|
-
rm -f test/tests.o test/normtest test/graphemetest test/printproperty test/charwidth test/valid test/iterate test/case
|
52
|
+
rm -f test/tests.o test/normtest test/graphemetest test/printproperty test/charwidth test/valid test/iterate test/case test/custom
|
52
53
|
rm -rf MANIFEST.new tmp
|
53
54
|
$(MAKE) -C bench clean
|
54
55
|
$(MAKE) -C data clean
|
@@ -135,7 +136,10 @@ test/iterate: test/iterate.c test/tests.o utf8proc.o utf8proc.h test/tests.h
|
|
135
136
|
test/case: test/case.c test/tests.o utf8proc.o utf8proc.h test/tests.h
|
136
137
|
$(CC) $(UCFLAGS) test/case.c test/tests.o utf8proc.o -o $@
|
137
138
|
|
138
|
-
|
139
|
+
test/custom: test/custom.c test/tests.o utf8proc.o utf8proc.h test/tests.h
|
140
|
+
$(CC) $(UCFLAGS) test/custom.c test/tests.o utf8proc.o -o $@
|
141
|
+
|
142
|
+
check: test/normtest data/NormalizationTest.txt test/graphemetest data/GraphemeBreakTest.txt test/printproperty test/case test/custom test/charwidth test/valid test/iterate bench/bench.c bench/util.c bench/util.h utf8proc.o
|
139
143
|
$(MAKE) -C bench
|
140
144
|
test/normtest data/NormalizationTest.txt
|
141
145
|
test/graphemetest data/GraphemeBreakTest.txt
|
@@ -143,3 +147,4 @@ check: test/normtest data/NormalizationTest.txt test/graphemetest data/GraphemeB
|
|
143
147
|
test/valid
|
144
148
|
test/iterate
|
145
149
|
test/case
|
150
|
+
test/custom
|
@@ -1,5 +1,62 @@
|
|
1
1
|
# utf8proc release history #
|
2
2
|
|
3
|
+
## Version 2.1 ##
|
4
|
+
|
5
|
+
2016-12-16:
|
6
|
+
|
7
|
+
- New functions `utf8proc_map_custom` and `utf8proc_decompose_custom`
|
8
|
+
to allow user-supplied transformations of codepoints, in conjunction
|
9
|
+
with other transformations ([#89]).
|
10
|
+
|
11
|
+
- New function `utf8proc_normalize_utf32` to apply normalizations
|
12
|
+
directly to UTF-32 data (not just UTF-8) ([#88]).
|
13
|
+
|
14
|
+
- Fixed stack overflow that could occur due to incorrect definition
|
15
|
+
of `UINT16_MAX` with some compilers ([#84]).
|
16
|
+
|
17
|
+
- Fixed conflict with `stdbool.h` in Visual Studio ([#90]).
|
18
|
+
|
19
|
+
- Updated font metrics to use Unifont 9.0.04.
|
20
|
+
|
21
|
+
## Version 2.0.2 ##
|
22
|
+
|
23
|
+
2016-07-27:
|
24
|
+
|
25
|
+
- Move `-Wmissing-prototypes` warning flag from `Makefile` to `.travis.yml`
|
26
|
+
since MSVC does not understand this flag and it is occasionally useful to
|
27
|
+
build using MSVC through the `Makefile` ([#79]).
|
28
|
+
|
29
|
+
- Use a different variable name for a nested loop in `bench/bench.c`, and
|
30
|
+
declare it in a C89 way rather than inside the `for` to avoid "error:
|
31
|
+
'for' loop initial declarations are only allowed in C99 mode" ([#80]).
|
32
|
+
|
33
|
+
## Version 2.0.1 ##
|
34
|
+
|
35
|
+
2016-07-13:
|
36
|
+
|
37
|
+
- Bug fix in `utf8proc_grapheme_break_stateful` ([#77]).
|
38
|
+
|
39
|
+
- Tests now use versioned Unicode files, so they will no longer
|
40
|
+
break when a new version of Unicode is released ([#78]).
|
41
|
+
|
42
|
+
## Version 2.0 ##
|
43
|
+
|
44
|
+
2016-07-13:
|
45
|
+
|
46
|
+
- Updated for Unicode 9.0 ([#70]).
|
47
|
+
|
48
|
+
- New `utf8proc_grapheme_break_stateful` to handle the complicated
|
49
|
+
grapheme-breaking rules in Unicode 9. The old `utf8proc_grapheme_break`
|
50
|
+
is still provided, but may incorrectly identify grapheme breaks
|
51
|
+
in some Unicode-9 sequences.
|
52
|
+
|
53
|
+
- Smaller Unicode tables ([#62], [#68]). This required changes
|
54
|
+
in the `utf8proc_property_t` structure, which breaks backward
|
55
|
+
compatibility if you access this `struct` directly. The
|
56
|
+
functions in the API remain backward-compatible, however.
|
57
|
+
|
58
|
+
- Buffer overrun fix ([#66]).
|
59
|
+
|
3
60
|
## Version 1.3.1 ##
|
4
61
|
|
5
62
|
2015-11-02:
|
@@ -232,3 +289,15 @@ Release of version 1.0.1
|
|
232
289
|
[#51]: https://github.com/JuliaLang/utf8proc/issues/51
|
233
290
|
[#55]: https://github.com/JuliaLang/utf8proc/issues/55
|
234
291
|
[#58]: https://github.com/JuliaLang/utf8proc/issues/58
|
292
|
+
[#62]: https://github.com/JuliaLang/utf8proc/issues/62
|
293
|
+
[#66]: https://github.com/JuliaLang/utf8proc/issues/66
|
294
|
+
[#68]: https://github.com/JuliaLang/utf8proc/issues/68
|
295
|
+
[#70]: https://github.com/JuliaLang/utf8proc/issues/70
|
296
|
+
[#77]: https://github.com/JuliaLang/utf8proc/issues/77
|
297
|
+
[#78]: https://github.com/JuliaLang/utf8proc/issues/78
|
298
|
+
[#79]: https://github.com/JuliaLang/utf8proc/issues/79
|
299
|
+
[#80]: https://github.com/JuliaLang/utf8proc/issues/80
|
300
|
+
[#84]: https://github.com/JuliaLang/utf8proc/pull/84
|
301
|
+
[#88]: https://github.com/JuliaLang/utf8proc/pull/88
|
302
|
+
[#89]: https://github.com/JuliaLang/utf8proc/pull/89
|
303
|
+
[#90]: https://github.com/JuliaLang/utf8proc/issues/90
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# utf8proc
|
2
|
-
[![
|
2
|
+
[![Travis CI Status](https://travis-ci.org/JuliaLang/utf8proc.png)](https://travis-ci.org/JuliaLang/utf8proc)
|
3
|
+
[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/aou20lfkyhj8xbwq/branch/master?svg=true)](https://ci.appveyor.com/project/tkelman/utf8proc/branch/master)
|
4
|
+
|
3
5
|
|
4
6
|
[utf8proc](http://julialang.org/utf8proc/) is a small, clean C
|
5
7
|
library that provides Unicode normalization, case-folding, and other
|
@@ -38,7 +40,7 @@ The C library is found in this directory after successful compilation
|
|
38
40
|
and is named `libutf8proc.a` (for the static library) and
|
39
41
|
`libutf8proc.so` (for the dynamic library).
|
40
42
|
|
41
|
-
The Unicode version supported is
|
43
|
+
The Unicode version supported is 9.0.0.
|
42
44
|
|
43
45
|
For Unicode normalizations, the following options are used:
|
44
46
|
|
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
int main(int argc, char **argv)
|
9
9
|
{
|
10
|
-
int i;
|
10
|
+
int i, j;
|
11
11
|
int options = 0;
|
12
12
|
|
13
13
|
for (i = 1; i < argc; ++i) {
|
@@ -44,7 +44,7 @@ int main(int argc, char **argv)
|
|
44
44
|
}
|
45
45
|
uint8_t *dest;
|
46
46
|
mytime start = gettime();
|
47
|
-
for (
|
47
|
+
for (j = 0; j < 100; ++j) {
|
48
48
|
utf8proc_map(src, len, &dest, options);
|
49
49
|
free(dest);
|
50
50
|
}
|
@@ -20,7 +20,7 @@ utf8proc_data.c.new: data_generator.rb UnicodeData.txt GraphemeBreakProperty.txt
|
|
20
20
|
$(RUBY) data_generator.rb < UnicodeData.txt > $@
|
21
21
|
|
22
22
|
# GNU Unifont version for font metric calculations:
|
23
|
-
UNIFONT_VERSION=
|
23
|
+
UNIFONT_VERSION=9.0.04
|
24
24
|
|
25
25
|
unifont.ttf:
|
26
26
|
$(CURL) $(CURLFLAGS) -o $@ $(URLCACHE)https://mirrors.kernel.org/gnu/unifont/unifont-$(UNIFONT_VERSION)/unifont-$(UNIFONT_VERSION).ttf
|
@@ -34,29 +34,32 @@ unifont_upper.ttf:
|
|
34
34
|
CharWidths.txt: charwidths.jl unifont.sfd unifont_upper.sfd EastAsianWidth.txt
|
35
35
|
$(JULIA) charwidths.jl > $@
|
36
36
|
|
37
|
+
# Unicode data version
|
38
|
+
UNICODE_VERSION=9.0.0
|
39
|
+
|
37
40
|
UnicodeData.txt:
|
38
|
-
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/
|
41
|
+
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/UnicodeData.txt
|
39
42
|
|
40
43
|
EastAsianWidth.txt:
|
41
|
-
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/
|
44
|
+
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/EastAsianWidth.txt
|
42
45
|
|
43
46
|
GraphemeBreakProperty.txt:
|
44
|
-
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/
|
47
|
+
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/GraphemeBreakProperty.txt
|
45
48
|
|
46
49
|
DerivedCoreProperties.txt:
|
47
|
-
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/
|
50
|
+
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/DerivedCoreProperties.txt
|
48
51
|
|
49
52
|
CompositionExclusions.txt:
|
50
|
-
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/
|
53
|
+
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/CompositionExclusions.txt
|
51
54
|
|
52
55
|
CaseFolding.txt:
|
53
|
-
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/
|
56
|
+
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/CaseFolding.txt
|
54
57
|
|
55
58
|
NormalizationTest.txt:
|
56
|
-
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/
|
59
|
+
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/NormalizationTest.txt
|
57
60
|
|
58
61
|
GraphemeBreakTest.txt:
|
59
|
-
$(CURL) $(CURLFLAGS) $(URLCACHE)http://www.unicode.org/Public/
|
62
|
+
$(CURL) $(CURLFLAGS) $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/GraphemeBreakTest.txt | $(PERL) -pe 's,÷,/,g;s,×,+,g' > $@
|
60
63
|
|
61
64
|
clean:
|
62
65
|
rm -f UnicodeData.txt EastAsianWidth.txt GraphemeBreakProperty.txt DerivedCoreProperties.txt CompositionExclusions.txt CaseFolding.txt NormalizationTest.txt GraphemeBreakTest.txt CharWidths.txt unifont*.ttf unifont*.sfd
|
@@ -115,22 +115,52 @@ def str2c(string, prefix)
|
|
115
115
|
return "0" if string.nil?
|
116
116
|
return "UTF8PROC_#{prefix}_#{string.upcase}"
|
117
117
|
end
|
118
|
-
def
|
119
|
-
|
120
|
-
unless
|
118
|
+
def pushary(array)
|
119
|
+
idx = $int_array_indicies[array]
|
120
|
+
unless idx
|
121
121
|
$int_array_indicies[array] = $int_array.length
|
122
|
+
idx = $int_array.length
|
122
123
|
array.each { |entry| $int_array << entry }
|
123
|
-
$int_array << -1
|
124
124
|
end
|
125
|
-
|
126
|
-
|
125
|
+
return idx
|
126
|
+
end
|
127
|
+
def cpary2utf16encoded(array)
|
128
|
+
return array.flat_map { |cp|
|
129
|
+
if (cp <= 0xFFFF)
|
130
|
+
raise "utf-16 code: #{cp}" if cp & 0b1111100000000000 == 0b1101100000000000
|
131
|
+
cp
|
132
|
+
else
|
133
|
+
temp = cp - 0x10000
|
134
|
+
[(temp >> 10) | 0b1101100000000000, (temp & 0b0000001111111111) | 0b1101110000000000]
|
135
|
+
end
|
136
|
+
}
|
137
|
+
end
|
138
|
+
def cpary2c(array)
|
139
|
+
return "UINT16_MAX" if array.nil? || array.length == 0
|
140
|
+
lencode = array.length - 1 #no sequence has len 0, so we encode len 1 as 0, len 2 as 1, ...
|
141
|
+
array = cpary2utf16encoded(array)
|
142
|
+
if lencode >= 7 #we have only 3 bits for the length (which is already cutting it close. might need to change it to 2 bits in future Unicode versions)
|
143
|
+
array = [lencode] + array
|
144
|
+
lencode = 7
|
145
|
+
end
|
146
|
+
idx = pushary(array)
|
147
|
+
raise "Array index out of bound" if idx > 0x1FFF
|
148
|
+
return "#{idx | (lencode << 13)}"
|
149
|
+
end
|
150
|
+
def singlecpmap(cp)
|
151
|
+
return "UINT16_MAX" if cp == nil
|
152
|
+
idx = pushary(cpary2utf16encoded([cp]))
|
153
|
+
raise "Array index out of bound" if idx > 0xFFFF
|
154
|
+
return "#{idx}"
|
127
155
|
end
|
128
156
|
|
129
157
|
class UnicodeChar
|
130
158
|
attr_accessor :code, :name, :category, :combining_class, :bidi_class,
|
131
159
|
:decomp_type, :decomp_mapping,
|
132
160
|
:bidi_mirrored,
|
133
|
-
:uppercase_mapping, :lowercase_mapping, :titlecase_mapping
|
161
|
+
:uppercase_mapping, :lowercase_mapping, :titlecase_mapping,
|
162
|
+
#caches:
|
163
|
+
:c_entry_index, :c_decomp_mapping, :c_case_folding
|
134
164
|
def initialize(line)
|
135
165
|
raise "Could not parse input." unless line =~ /^
|
136
166
|
([0-9A-F]+); # code
|
@@ -165,25 +195,23 @@ class UnicodeChar
|
|
165
195
|
def case_folding
|
166
196
|
$case_folding[code]
|
167
197
|
end
|
168
|
-
def c_entry(
|
198
|
+
def c_entry(comb_indicies)
|
169
199
|
" " <<
|
170
200
|
"{#{str2c category, 'CATEGORY'}, #{combining_class}, " <<
|
171
201
|
"#{str2c bidi_class, 'BIDI_CLASS'}, " <<
|
172
202
|
"#{str2c decomp_type, 'DECOMP_TYPE'}, " <<
|
173
|
-
"#{
|
174
|
-
"#{
|
175
|
-
"#{uppercase_mapping
|
176
|
-
"#{lowercase_mapping
|
177
|
-
"#{titlecase_mapping
|
178
|
-
"#{
|
179
|
-
(comb1_indicies[code]*comb2_indicies.keys.length) : -1
|
180
|
-
}, #{comb2_indicies[code] or -1}, " <<
|
203
|
+
"#{c_decomp_mapping}, " <<
|
204
|
+
"#{c_case_folding}, " <<
|
205
|
+
"#{singlecpmap uppercase_mapping }, " <<
|
206
|
+
"#{singlecpmap lowercase_mapping }, " <<
|
207
|
+
"#{singlecpmap titlecase_mapping }, " <<
|
208
|
+
"#{comb_indicies[code] ? comb_indicies[code]: 'UINT16_MAX'}, " <<
|
181
209
|
"#{bidi_mirrored}, " <<
|
182
210
|
"#{$exclusions.include?(code) or $excl_version.include?(code)}, " <<
|
183
211
|
"#{$ignorable.include?(code)}, " <<
|
184
212
|
"#{%W[Zl Zp Cc Cf].include?(category) and not [0x200C, 0x200D].include?(category)}, " <<
|
185
|
-
"#{$
|
186
|
-
"#{$
|
213
|
+
"#{$charwidth[code]}, 0, " <<
|
214
|
+
"#{$grapheme_boundclass[code]}},\n"
|
187
215
|
end
|
188
216
|
end
|
189
217
|
|
@@ -215,6 +243,8 @@ end
|
|
215
243
|
|
216
244
|
comb1st_indicies = {}
|
217
245
|
comb2nd_indicies = {}
|
246
|
+
comb2nd_indicies_sorted_keys = []
|
247
|
+
comb2nd_indicies_nonbasic = {}
|
218
248
|
comb_array = []
|
219
249
|
|
220
250
|
chars.each do |char|
|
@@ -222,27 +252,69 @@ chars.each do |char|
|
|
222
252
|
char.decomp_mapping.length == 2 and !char_hash[char.decomp_mapping[0]].nil? and
|
223
253
|
char_hash[char.decomp_mapping[0]].combining_class == 0 and
|
224
254
|
not $exclusions.include?(char.code)
|
225
|
-
|
226
|
-
|
255
|
+
|
256
|
+
dm0 = char.decomp_mapping[0]
|
257
|
+
dm1 = char.decomp_mapping[1]
|
258
|
+
unless comb1st_indicies[dm0]
|
259
|
+
comb1st_indicies[dm0] = comb1st_indicies.keys.length
|
260
|
+
end
|
261
|
+
unless comb2nd_indicies[dm1]
|
262
|
+
comb2nd_indicies_sorted_keys << dm1
|
263
|
+
comb2nd_indicies[dm1] = comb2nd_indicies.keys.length
|
227
264
|
end
|
228
|
-
|
229
|
-
|
265
|
+
comb_array[comb1st_indicies[dm0]] ||= []
|
266
|
+
raise "Duplicate canonical mapping: #{char.code} #{dm0} #{dm1}" if comb_array[comb1st_indicies[dm0]][comb2nd_indicies[dm1]]
|
267
|
+
comb_array[comb1st_indicies[dm0]][comb2nd_indicies[dm1]] = char.code
|
268
|
+
|
269
|
+
comb2nd_indicies_nonbasic[dm1] = true if char.code > 0xFFFF
|
270
|
+
end
|
271
|
+
char.c_decomp_mapping = cpary2c(char.decomp_mapping)
|
272
|
+
char.c_case_folding = cpary2c(char.case_folding)
|
273
|
+
end
|
274
|
+
|
275
|
+
comb_indicies = {}
|
276
|
+
cumoffset = 0
|
277
|
+
comb1st_indicies_lastoffsets = []
|
278
|
+
comb1st_indicies_firstoffsets = []
|
279
|
+
comb1st_indicies.each do |dm0, index|
|
280
|
+
first = nil
|
281
|
+
last = nil
|
282
|
+
offset = 0
|
283
|
+
comb2nd_indicies_sorted_keys.each_with_index do |dm1, b|
|
284
|
+
if comb_array[index][b]
|
285
|
+
first = offset unless first
|
286
|
+
last = offset
|
287
|
+
last += 1 if comb2nd_indicies_nonbasic[dm1]
|
230
288
|
end
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
289
|
+
offset += 1
|
290
|
+
offset += 1 if comb2nd_indicies_nonbasic[dm1]
|
291
|
+
end
|
292
|
+
comb1st_indicies_firstoffsets[index] = first
|
293
|
+
comb1st_indicies_lastoffsets[index] = last
|
294
|
+
raise "double index" if comb_indicies[dm0]
|
295
|
+
comb_indicies[dm0] = cumoffset
|
296
|
+
cumoffset += last - first + 1 + 2
|
297
|
+
end
|
298
|
+
|
299
|
+
offset = 0
|
300
|
+
comb2nd_indicies_sorted_keys.each do |dm1|
|
301
|
+
raise "double index" if comb_indicies[dm1]
|
302
|
+
comb_indicies[dm1] = 0x8000 | (comb2nd_indicies[dm1] + offset)
|
303
|
+
raise "too large comb index" if comb2nd_indicies[dm1] + offset > 0x4000
|
304
|
+
if comb2nd_indicies_nonbasic[dm1]
|
305
|
+
comb_indicies[dm1] = comb_indicies[dm1] | 0x4000
|
306
|
+
offset += 1
|
237
307
|
end
|
238
308
|
end
|
239
309
|
|
240
310
|
properties_indicies = {}
|
241
311
|
properties = []
|
242
312
|
chars.each do |char|
|
243
|
-
c_entry = char.c_entry(
|
244
|
-
|
313
|
+
c_entry = char.c_entry(comb_indicies)
|
314
|
+
char.c_entry_index = properties_indicies[c_entry]
|
315
|
+
unless char.c_entry_index
|
245
316
|
properties_indicies[c_entry] = properties.length
|
317
|
+
char.c_entry_index = properties.length
|
246
318
|
properties << c_entry
|
247
319
|
end
|
248
320
|
end
|
@@ -254,8 +326,7 @@ for code in 0...0x110000
|
|
254
326
|
stage2_entry = []
|
255
327
|
for code2 in code...(code+0x100)
|
256
328
|
if char_hash[code2]
|
257
|
-
stage2_entry << (
|
258
|
-
comb1st_indicies, comb2nd_indicies)] + 1)
|
329
|
+
stage2_entry << (char_hash[code2].c_entry_index + 1)
|
259
330
|
else
|
260
331
|
stage2_entry << 0
|
261
332
|
end
|
@@ -269,7 +340,7 @@ for code in 0...0x110000
|
|
269
340
|
end
|
270
341
|
end
|
271
342
|
|
272
|
-
$stdout << "const
|
343
|
+
$stdout << "const utf8proc_uint16_t utf8proc_sequences[] = {\n "
|
273
344
|
i = 0
|
274
345
|
$int_array.each do |entry|
|
275
346
|
i += 1
|
@@ -306,23 +377,35 @@ end
|
|
306
377
|
$stdout << "};\n\n"
|
307
378
|
|
308
379
|
$stdout << "const utf8proc_property_t utf8proc_properties[] = {\n"
|
309
|
-
$stdout << " {0, 0, 0, 0, UINT16_MAX, UINT16_MAX,
|
380
|
+
$stdout << " {0, 0, 0, 0, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, false,false,false,false, 0, 0, UTF8PROC_BOUNDCLASS_OTHER},\n"
|
310
381
|
properties.each { |line|
|
311
382
|
$stdout << line
|
312
383
|
}
|
313
384
|
$stdout << "};\n\n"
|
314
385
|
|
315
|
-
|
386
|
+
|
387
|
+
|
388
|
+
$stdout << "const utf8proc_uint16_t utf8proc_combinations[] = {\n "
|
316
389
|
i = 0
|
317
|
-
comb1st_indicies.keys.
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
390
|
+
comb1st_indicies.keys.each_index do |a|
|
391
|
+
offset = 0
|
392
|
+
$stdout << comb1st_indicies_firstoffsets[a] << ", " << comb1st_indicies_lastoffsets[a] << ", "
|
393
|
+
comb2nd_indicies_sorted_keys.each_with_index do |dm1, b|
|
394
|
+
break if offset > comb1st_indicies_lastoffsets[a]
|
395
|
+
if offset >= comb1st_indicies_firstoffsets[a]
|
396
|
+
i += 1
|
397
|
+
if i == 8
|
398
|
+
i = 0
|
399
|
+
$stdout << "\n "
|
400
|
+
end
|
401
|
+
v = comb_array[a][b] ? comb_array[a][b] : 0
|
402
|
+
$stdout << (( v & 0xFFFF0000 ) >> 16) << ", " if comb2nd_indicies_nonbasic[dm1]
|
403
|
+
$stdout << (v & 0xFFFF) << ", "
|
323
404
|
end
|
324
|
-
|
405
|
+
offset += 1
|
406
|
+
offset += 1 if comb2nd_indicies_nonbasic[dm1]
|
325
407
|
end
|
408
|
+
$stdout << "\n"
|
326
409
|
end
|
327
410
|
$stdout << "};\n\n"
|
328
411
|
|