tree_sitter_language_pack 1.0.0.rc.16-aarch64-linux → 1.1.0-aarch64-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d25ae3a5d3754fb47ca60b4307d9d3f53eaaedbe96af2c6aefe3c191c2996ccc
4
- data.tar.gz: ba7dd1c1dc5854e999d084b7fbce1a149ae5414c3d3e9a58f9f0f3108fafb7bf
3
+ metadata.gz: 46c530b7b81f320a74717031e19127f1b6f647a61e622bfa540cca723a713d0c
4
+ data.tar.gz: 1f163080e92dde2a1614057c8ed03e06aab6a019dbabdc8ec6aae42430de7458
5
5
  SHA512:
6
- metadata.gz: 05af2f79cca1503b459086f84e608484f4534938676b9a8111775466db85f7f28d84afa4e424376296ae43f90a2e180e1275b7185837de6c188fcdd22b7aeeff
7
- data.tar.gz: 20ea030296ed402c1f62af62e547150508c51a778160ac6e421346744b6f9f112d58202ce399f5a120784ff9d2d4c3d53896e99bb3e239c8ff6963d2fcceadcb
6
+ metadata.gz: 6a8fce71fdbce28609b4baab593bc9cfa9ed58fb5de3c2573e663e474eedcd7ae2d69ae6f69de69d085d419ae733dcd1fe2c50bc6fcbdb9d15b63c8f4258d21d
7
+ data.tar.gz: d3582fe20947a1e9c2f0ac5db19c4eae338dec0d24bdbe3f90126f1a960e87868485f5adf0fa493a0761ceddea201b8a818d3a30539eade4862ebdc7ccac549e
data/Cargo.toml CHANGED
@@ -7,16 +7,16 @@ repository.workspace = true
7
7
  description = "Ruby Magnus bindings for tree-sitter language pack"
8
8
  publish = false
9
9
 
10
+ [package.metadata.cargo-machete]
11
+ ignored = ["rb-sys"]
12
+
10
13
  [lib]
11
14
  name = "ts_pack_ruby"
12
15
  crate-type = ["cdylib"]
13
16
 
14
17
  [dependencies]
15
- tree-sitter-language-pack = { workspace = true, features = ["serde", "download"] }
16
- serde_json = { workspace = true }
17
- tree-sitter = { workspace = true }
18
18
  magnus = "0.8"
19
19
  rb-sys = "0.9"
20
-
21
- [package.metadata.cargo-machete]
22
- ignored = ["rb-sys"]
20
+ serde_json = { workspace = true }
21
+ tree-sitter = { workspace = true }
22
+ tree-sitter-language-pack = { workspace = true, features = ["serde", "download"] }
data/src/lib.rs CHANGED
@@ -42,6 +42,37 @@ fn has_language(name: String) -> bool {
42
42
  tree_sitter_language_pack::has_language(&name)
43
43
  }
44
44
 
45
+ fn detect_language(path: String) -> Option<String> {
46
+ tree_sitter_language_pack::detect_language_from_path(&path).map(String::from)
47
+ }
48
+
49
+ fn detect_language_from_content(content: String) -> Option<String> {
50
+ tree_sitter_language_pack::detect_language_from_content(&content).map(String::from)
51
+ }
52
+
53
+ /// Returns extension ambiguity information as a JSON string, or nil.
54
+ fn extension_ambiguity(ext: String) -> Option<String> {
55
+ tree_sitter_language_pack::extension_ambiguity(&ext).and_then(|(assigned, alts)| {
56
+ let val = serde_json::json!({
57
+ "assigned": assigned,
58
+ "alternatives": alts,
59
+ });
60
+ serde_json::to_string(&val).ok()
61
+ })
62
+ }
63
+
64
+ fn get_highlights_query(language: String) -> Option<String> {
65
+ tree_sitter_language_pack::get_highlights_query(&language).map(String::from)
66
+ }
67
+
68
+ fn get_injections_query(language: String) -> Option<String> {
69
+ tree_sitter_language_pack::get_injections_query(&language).map(String::from)
70
+ }
71
+
72
+ fn get_locals_query(language: String) -> Option<String> {
73
+ tree_sitter_language_pack::get_locals_query(&language).map(String::from)
74
+ }
75
+
45
76
  fn language_count() -> usize {
46
77
  tree_sitter_language_pack::language_count()
47
78
  }
@@ -149,6 +180,15 @@ fn init(ruby: &Ruby) -> Result<(), Error> {
149
180
  // Registry and parsing functions
150
181
  module.define_module_function("available_languages", function!(available_languages, 0))?;
151
182
  module.define_module_function("has_language", function!(has_language, 1))?;
183
+ module.define_module_function("detect_language", function!(detect_language, 1))?;
184
+ module.define_module_function(
185
+ "detect_language_from_content",
186
+ function!(detect_language_from_content, 1),
187
+ )?;
188
+ module.define_module_function("extension_ambiguity", function!(extension_ambiguity, 1))?;
189
+ module.define_module_function("get_highlights_query", function!(get_highlights_query, 1))?;
190
+ module.define_module_function("get_injections_query", function!(get_injections_query, 1))?;
191
+ module.define_module_function("get_locals_query", function!(get_locals_query, 1))?;
152
192
  module.define_module_function("language_count", function!(language_count, 0))?;
153
193
  module.define_module_function("get_language_ptr", function!(get_language_ptr, 1))?;
154
194
  module.define_module_function("parse_string", function!(parse_string, 2))?;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tree_sitter_language_pack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc.16
4
+ version: 1.1.0
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - kreuzberg.dev
@@ -9,7 +9,7 @@ bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies: []
12
- description: 170+ pre-compiled tree-sitter language parsers with Ruby bindings via
12
+ description: 197 pre-compiled tree-sitter language parsers with Ruby bindings via
13
13
  Magnus native extensions.
14
14
  email:
15
15
  - dev@kreuzberg.dev