ruby_tree_sitter 1.8.0-aarch64-linux-gnu → 1.9.1-aarch64-linux-gnu

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d5d7118766d817c5391e562b95c0c89f59a3121f90a40f5727e9c22c95a295a
4
- data.tar.gz: bd64bb1eee8955d4672cbf24cff2fea9c9f8e0c1453a8810ce5e31962460fa34
3
+ metadata.gz: b42bc8d1446ffca4c20a344999598a2335b09fb5c684b8d5ad74feceb2f29e5b
4
+ data.tar.gz: bf7fe3c321479b7433283579399714a535e8e6d926920a86191c0413a10b8da0
5
5
  SHA512:
6
- metadata.gz: 24ba5a757c22b9b38c1c69000f46c952ae522d18dcbce2bcb9ae0dc616ca77a561a1edf9346b41230e7b5c0e13fe71fb7e803c5081cb424d5e94264db9b4bcf8
7
- data.tar.gz: 07ab1146c5e0eb557efc2d919ffb25100fe3a361c043893238262d634c1049112d6703858d94c348d99a0acb862fe479d862b3a98d0dbac3d2f5438db304c3be
6
+ metadata.gz: 853d0c54027b026bfa2c371b1cbcce9a6a01ae91fab2a40a0b8ff53946d77ec25945113ea130e17fc24709995eb86ba9ec5f2f319aa0b6a87526c8c33bff090b
7
+ data.tar.gz: b4bd4e3702938d5d1f22fa488e25ede5570937f51a36cd888a76f192c3053fec60673f41797afb1f492966e0c16fed0a33da21520c910678c6f7b34b4ab4e01b
@@ -42,7 +42,8 @@ static VALUE language_load(VALUE self, VALUE name, VALUE path) {
42
42
  void *lib = dlopen(path_cstr, RTLD_NOW);
43
43
  const char *err = dlerror();
44
44
  if (err != NULL) {
45
- rb_raise(rb_eRuntimeError,
45
+ VALUE parser_not_found = rb_const_get(mTreeSitter, rb_intern("ParserNotFoundError"));
46
+ rb_raise(parser_not_found,
46
47
  "Could not load shared library `%s'.\nReason: %s", path_cstr, err);
47
48
  }
48
49
 
@@ -52,7 +53,8 @@ static VALUE language_load(VALUE self, VALUE name, VALUE path) {
52
53
  err = dlerror();
53
54
  if (err != NULL) {
54
55
  dlclose(lib);
55
- rb_raise(rb_eRuntimeError,
56
+ VALUE symbol_not_found = rb_const_get(mTreeSitter, rb_intern("SymbolNotFoundError"));
57
+ rb_raise(symbol_not_found,
56
58
  "Could not load symbol `%s' from library `%s'.\nReason:%s",
57
59
  StringValueCStr(name), path_cstr, err);
58
60
  }
@@ -60,7 +62,8 @@ static VALUE language_load(VALUE self, VALUE name, VALUE path) {
60
62
  TSLanguage *lang = make_ts_language();
61
63
  if (lang == NULL) {
62
64
  dlclose(lib);
63
- rb_raise(rb_eRuntimeError,
65
+ VALUE language_load_error = rb_const_get(mTreeSitter, rb_intern("LanguageLoadError"));
66
+ rb_raise(language_load_error,
64
67
  "TSLanguage = NULL for language `%s' in library `%s'.\nCall your "
65
68
  "local TSLanguage supplier.",
66
69
  StringValueCStr(name), path_cstr);
@@ -68,7 +71,8 @@ static VALUE language_load(VALUE self, VALUE name, VALUE path) {
68
71
 
69
72
  uint32_t version = ts_language_version(lang);
70
73
  if (version < TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION) {
71
- rb_raise(rb_eRuntimeError,
74
+ VALUE version_error = rb_const_get(mTreeSitter, rb_intern("ParserVersionError"));
75
+ rb_raise(version_error,
72
76
  "Language %s (v%d) from `%s' is old.\nMinimum supported ABI: "
73
77
  "v%d.\nCurrent ABI: v%d.",
74
78
  StringValueCStr(name), version, path_cstr,
@@ -134,7 +134,8 @@ static VALUE query_initialize(VALUE self, VALUE language, VALUE source) {
134
134
  TSQuery *res = ts_query_new(lang, src, len, &error_offset, &error_type);
135
135
 
136
136
  if (res == NULL || error_offset > 0) {
137
- rb_raise(rb_eRuntimeError, "Could not create query: TSQueryError%s",
137
+ VALUE query_creation_error = rb_const_get(mTreeSitter, rb_intern("QueryCreationError"));
138
+ rb_raise(query_creation_error, "Could not create query: TSQueryError%s",
138
139
  query_error_str(error_type));
139
140
  } else {
140
141
  SELF = res;
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TreeSitter
4
+ # Base tree-sitter error.
5
+ class TreeSitterError < StandardError
6
+ end
7
+
8
+ # Raised when query creation fails.
9
+ class QueryCreationError < TreeSitterError
10
+ end
11
+
12
+ # Raised when the language symbol is found, but loading it returns nothing.
13
+ class LanguageLoadError < TreeSitterError
14
+ end
15
+
16
+ # Raised when a parser is not found.
17
+ class ParserNotFoundError < TreeSitterError
18
+ end
19
+
20
+ # Raised when the parser version is incompatible with the current tree-sitter.
21
+ class ParserVersionError < TreeSitterError
22
+ end
23
+
24
+ # Raised when a parser is not found.
25
+ class SymbolNotFoundError < TreeSitterError
26
+ end
27
+ end
@@ -83,7 +83,7 @@ module TreeSitter
83
83
  lib = search_for_lib(name)
84
84
 
85
85
  if lib.nil?
86
- raise <<~MSG.chomp
86
+ raise ::TreeSitter::ParserNotFoundError, <<~MSG.chomp
87
87
  Failed to load a parser for #{name}.
88
88
 
89
89
  #{search_lib_message}
@@ -2,7 +2,7 @@
2
2
 
3
3
  module TreeSitter
4
4
  # The version of the tree-sitter library.
5
- TREESITTER_VERSION = '0.24.3'
5
+ TREESITTER_VERSION = '0.24.4'
6
6
  # The current version of the gem.
7
- VERSION = '1.8.0'
7
+ VERSION = '1.9.1'
8
8
  end
data/lib/tree_sitter.rb CHANGED
@@ -13,6 +13,7 @@ require 'tree_sitter/version'
13
13
 
14
14
  require 'tree_sitter/mixins/language'
15
15
 
16
+ require 'tree_sitter/error'
16
17
  require 'tree_sitter/node'
17
18
  require 'tree_sitter/query'
18
19
  require 'tree_sitter/query_captures'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_tree_sitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.1
5
5
  platform: aarch64-linux-gnu
6
6
  authors:
7
7
  - Firas al-Khalil
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-11-06 00:00:00.000000000 Z
12
+ date: 2024-12-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sorbet-runtime
@@ -78,6 +78,7 @@ files:
78
78
  - lib/tree_sitter/3.1/tree_sitter.so
79
79
  - lib/tree_sitter/3.2/tree_sitter.so
80
80
  - lib/tree_sitter/3.3/tree_sitter.so
81
+ - lib/tree_sitter/error.rb
81
82
  - lib/tree_sitter/helpers.rb
82
83
  - lib/tree_sitter/mixins/language.rb
83
84
  - lib/tree_sitter/node.rb