tree_sitter_language_pack 1.9.0.pre.rc.33 → 1.9.0.pre.rc.34
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 +4 -4
- data/ext/ts_pack_core_rb/native/Cargo.lock +45 -5
- data/ext/ts_pack_core_rb/native/Cargo.toml +2 -2
- data/ext/ts_pack_core_rb/src/lib.rs +22 -10
- data/lib/tree_sitter_language_pack/native.rb +897 -1
- data/lib/tree_sitter_language_pack/version.rb +2 -2
- data/lib/tree_sitter_language_pack.rb +1 -1
- data/sig/types.rbs +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: eb741781c4effa66dbbede68e8f774e49d456eb4fd0511cd38e251aa13400b54
|
|
4
|
+
data.tar.gz: b865d03d301e5bf7339853c89a8ed8bddc14bdfb3965f14f69f9f4773e393bb9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a4e3533d399ceb3ce23d80a7a9eed6e220940a20eca03bee7eeaecaf332e5753ac788b51e2bfeaa7c8866367683749e80da5b85ed5d0ba9d6d3a77a69798c5e1
|
|
7
|
+
data.tar.gz: a94b8c52f8f5748f71c097b1ef32342008f6a820ada9d593af21087247c753c4d2b114630685f5c1cd25b201593aeaf817e8972a7e21c51a745f896b7a16006f
|
|
@@ -70,6 +70,12 @@ dependencies = [
|
|
|
70
70
|
"hybrid-array",
|
|
71
71
|
]
|
|
72
72
|
|
|
73
|
+
[[package]]
|
|
74
|
+
name = "byteorder"
|
|
75
|
+
version = "1.5.0"
|
|
76
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
77
|
+
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
|
|
78
|
+
|
|
73
79
|
[[package]]
|
|
74
80
|
name = "bytes"
|
|
75
81
|
version = "1.11.1"
|
|
@@ -513,9 +519,9 @@ dependencies = [
|
|
|
513
519
|
|
|
514
520
|
[[package]]
|
|
515
521
|
name = "memchr"
|
|
516
|
-
version = "2.8.
|
|
522
|
+
version = "2.8.2"
|
|
517
523
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
518
|
-
checksum = "
|
|
524
|
+
checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4"
|
|
519
525
|
|
|
520
526
|
[[package]]
|
|
521
527
|
name = "minimal-lexical"
|
|
@@ -909,6 +915,17 @@ version = "0.3.9"
|
|
|
909
915
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
910
916
|
checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214"
|
|
911
917
|
|
|
918
|
+
[[package]]
|
|
919
|
+
name = "socks"
|
|
920
|
+
version = "0.3.4"
|
|
921
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
922
|
+
checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b"
|
|
923
|
+
dependencies = [
|
|
924
|
+
"byteorder",
|
|
925
|
+
"libc",
|
|
926
|
+
"winapi",
|
|
927
|
+
]
|
|
928
|
+
|
|
912
929
|
[[package]]
|
|
913
930
|
name = "streaming-iterator"
|
|
914
931
|
version = "0.1.9"
|
|
@@ -1053,9 +1070,9 @@ checksum = "009994f150cc0cd50ff54917d5bc8bffe8cad10ca10d81c34da2ec421ae61782"
|
|
|
1053
1070
|
|
|
1054
1071
|
[[package]]
|
|
1055
1072
|
name = "tree-sitter-language-pack"
|
|
1056
|
-
version = "1.9.0-rc.
|
|
1073
|
+
version = "1.9.0-rc.34"
|
|
1057
1074
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1058
|
-
checksum = "
|
|
1075
|
+
checksum = "e202a70b15716de06f90a2a17cd5f4a64093aba493d33c8e8f620b848ee73704"
|
|
1059
1076
|
dependencies = [
|
|
1060
1077
|
"ahash",
|
|
1061
1078
|
"cc",
|
|
@@ -1076,7 +1093,7 @@ dependencies = [
|
|
|
1076
1093
|
|
|
1077
1094
|
[[package]]
|
|
1078
1095
|
name = "ts-pack-core-rb"
|
|
1079
|
-
version = "1.9.0-rc.
|
|
1096
|
+
version = "1.9.0-rc.34"
|
|
1080
1097
|
dependencies = [
|
|
1081
1098
|
"magnus",
|
|
1082
1099
|
"rb-sys",
|
|
@@ -1116,6 +1133,7 @@ dependencies = [
|
|
|
1116
1133
|
"rustls",
|
|
1117
1134
|
"rustls-pki-types",
|
|
1118
1135
|
"rustls-platform-verifier",
|
|
1136
|
+
"socks",
|
|
1119
1137
|
"ureq-proto",
|
|
1120
1138
|
"utf8-zero",
|
|
1121
1139
|
"webpki-roots",
|
|
@@ -1188,6 +1206,22 @@ dependencies = [
|
|
|
1188
1206
|
"rustls-pki-types",
|
|
1189
1207
|
]
|
|
1190
1208
|
|
|
1209
|
+
[[package]]
|
|
1210
|
+
name = "winapi"
|
|
1211
|
+
version = "0.3.9"
|
|
1212
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1213
|
+
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
|
1214
|
+
dependencies = [
|
|
1215
|
+
"winapi-i686-pc-windows-gnu",
|
|
1216
|
+
"winapi-x86_64-pc-windows-gnu",
|
|
1217
|
+
]
|
|
1218
|
+
|
|
1219
|
+
[[package]]
|
|
1220
|
+
name = "winapi-i686-pc-windows-gnu"
|
|
1221
|
+
version = "0.4.0"
|
|
1222
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1223
|
+
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
|
1224
|
+
|
|
1191
1225
|
[[package]]
|
|
1192
1226
|
name = "winapi-util"
|
|
1193
1227
|
version = "0.1.11"
|
|
@@ -1197,6 +1231,12 @@ dependencies = [
|
|
|
1197
1231
|
"windows-sys 0.61.2",
|
|
1198
1232
|
]
|
|
1199
1233
|
|
|
1234
|
+
[[package]]
|
|
1235
|
+
name = "winapi-x86_64-pc-windows-gnu"
|
|
1236
|
+
version = "0.4.0"
|
|
1237
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1238
|
+
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
|
1239
|
+
|
|
1200
1240
|
[[package]]
|
|
1201
1241
|
name = "windows-link"
|
|
1202
1242
|
version = "0.2.1"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "ts-pack-core-rb"
|
|
3
|
-
version = "1.9.0-rc.
|
|
3
|
+
version = "1.9.0-rc.34"
|
|
4
4
|
edition = "2024"
|
|
5
5
|
license = "MIT"
|
|
6
6
|
description = "Pre-compiled tree-sitter grammars for 306 programming languages"
|
|
@@ -21,4 +21,4 @@ magnus = "0.8"
|
|
|
21
21
|
rb-sys = ">=0.9, <0.9.128"
|
|
22
22
|
serde = { version = "1", features = ["derive"] }
|
|
23
23
|
serde_json = "1"
|
|
24
|
-
tree-sitter-language-pack = { version = "1.9.0-rc.
|
|
24
|
+
tree-sitter-language-pack = { version = "1.9.0-rc.34", features = ["serde", "config", "download"] }
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// This file is auto-generated by alef. DO NOT EDIT.
|
|
2
|
-
// alef:hash:
|
|
2
|
+
// alef:hash:76f3bac7536fa4e5b8ab9a93be197508306d06b566fe7cc519a38c1b9ebf9f42
|
|
3
3
|
// Re-generate with: alef generate
|
|
4
4
|
#![allow(dead_code, unused_imports, unused_variables)]
|
|
5
5
|
#![allow(
|
|
@@ -2183,6 +2183,7 @@ unsafe impl TryConvertOwned for Language {}
|
|
|
2183
2183
|
impl Language {}
|
|
2184
2184
|
|
|
2185
2185
|
#[derive(Clone, Debug, serde::Serialize, serde::Deserialize)]
|
|
2186
|
+
#[serde(tag = "kind")]
|
|
2186
2187
|
pub enum StructureKind {
|
|
2187
2188
|
Function,
|
|
2188
2189
|
Method,
|
|
@@ -2194,7 +2195,7 @@ pub enum StructureKind {
|
|
|
2194
2195
|
Trait,
|
|
2195
2196
|
Impl,
|
|
2196
2197
|
Namespace,
|
|
2197
|
-
Other {
|
|
2198
|
+
Other { value: String },
|
|
2198
2199
|
}
|
|
2199
2200
|
|
|
2200
2201
|
impl Default for StructureKind {
|
|
@@ -2244,6 +2245,7 @@ impl magnus::TryConvert for StructureKind {
|
|
|
2244
2245
|
|
|
2245
2246
|
unsafe impl IntoValueFromNative for StructureKind {}
|
|
2246
2247
|
unsafe impl TryConvertOwned for StructureKind {}
|
|
2248
|
+
impl StructureKind {}
|
|
2247
2249
|
|
|
2248
2250
|
#[derive(Clone, Copy, PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)]
|
|
2249
2251
|
pub enum CommentKind {
|
|
@@ -2290,13 +2292,14 @@ unsafe impl IntoValueFromNative for CommentKind {}
|
|
|
2290
2292
|
unsafe impl TryConvertOwned for CommentKind {}
|
|
2291
2293
|
|
|
2292
2294
|
#[derive(Clone, Debug, serde::Serialize, serde::Deserialize)]
|
|
2295
|
+
#[serde(tag = "kind")]
|
|
2293
2296
|
pub enum DocstringFormat {
|
|
2294
2297
|
PythonTripleQuote,
|
|
2295
2298
|
JSDoc,
|
|
2296
2299
|
Rustdoc,
|
|
2297
2300
|
GoDoc,
|
|
2298
2301
|
JavaDoc,
|
|
2299
|
-
Other {
|
|
2302
|
+
Other { value: String },
|
|
2300
2303
|
}
|
|
2301
2304
|
|
|
2302
2305
|
impl Default for DocstringFormat {
|
|
@@ -2346,6 +2349,7 @@ impl magnus::TryConvert for DocstringFormat {
|
|
|
2346
2349
|
|
|
2347
2350
|
unsafe impl IntoValueFromNative for DocstringFormat {}
|
|
2348
2351
|
unsafe impl TryConvertOwned for DocstringFormat {}
|
|
2352
|
+
impl DocstringFormat {}
|
|
2349
2353
|
|
|
2350
2354
|
#[derive(Clone, Copy, PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)]
|
|
2351
2355
|
pub enum ExportKind {
|
|
@@ -2392,6 +2396,7 @@ unsafe impl IntoValueFromNative for ExportKind {}
|
|
|
2392
2396
|
unsafe impl TryConvertOwned for ExportKind {}
|
|
2393
2397
|
|
|
2394
2398
|
#[derive(Clone, Debug, serde::Serialize, serde::Deserialize)]
|
|
2399
|
+
#[serde(tag = "kind")]
|
|
2395
2400
|
pub enum SymbolKind {
|
|
2396
2401
|
Variable,
|
|
2397
2402
|
Constant,
|
|
@@ -2401,7 +2406,7 @@ pub enum SymbolKind {
|
|
|
2401
2406
|
Interface,
|
|
2402
2407
|
Enum,
|
|
2403
2408
|
Module,
|
|
2404
|
-
Other {
|
|
2409
|
+
Other { value: String },
|
|
2405
2410
|
}
|
|
2406
2411
|
|
|
2407
2412
|
impl Default for SymbolKind {
|
|
@@ -2451,6 +2456,7 @@ impl magnus::TryConvert for SymbolKind {
|
|
|
2451
2456
|
|
|
2452
2457
|
unsafe impl IntoValueFromNative for SymbolKind {}
|
|
2453
2458
|
unsafe impl TryConvertOwned for SymbolKind {}
|
|
2459
|
+
impl SymbolKind {}
|
|
2454
2460
|
|
|
2455
2461
|
#[derive(Clone, Copy, PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)]
|
|
2456
2462
|
pub enum DiagnosticSeverity {
|
|
@@ -3175,7 +3181,7 @@ impl From<StructureKind> for tree_sitter_language_pack::StructureKind {
|
|
|
3175
3181
|
StructureKind::Trait => Self::Trait,
|
|
3176
3182
|
StructureKind::Impl => Self::Impl,
|
|
3177
3183
|
StructureKind::Namespace => Self::Namespace,
|
|
3178
|
-
StructureKind::Other {
|
|
3184
|
+
StructureKind::Other { value } => Self::Other { value },
|
|
3179
3185
|
}
|
|
3180
3186
|
}
|
|
3181
3187
|
}
|
|
@@ -3193,7 +3199,9 @@ impl From<tree_sitter_language_pack::StructureKind> for StructureKind {
|
|
|
3193
3199
|
tree_sitter_language_pack::StructureKind::Trait => Self::Trait,
|
|
3194
3200
|
tree_sitter_language_pack::StructureKind::Impl => Self::Impl,
|
|
3195
3201
|
tree_sitter_language_pack::StructureKind::Namespace => Self::Namespace,
|
|
3196
|
-
tree_sitter_language_pack::StructureKind::Other
|
|
3202
|
+
tree_sitter_language_pack::StructureKind::Other { value } => Self::Other {
|
|
3203
|
+
value: value.to_string(),
|
|
3204
|
+
},
|
|
3197
3205
|
}
|
|
3198
3206
|
}
|
|
3199
3207
|
}
|
|
@@ -3226,7 +3234,7 @@ impl From<DocstringFormat> for tree_sitter_language_pack::DocstringFormat {
|
|
|
3226
3234
|
DocstringFormat::Rustdoc => Self::Rustdoc,
|
|
3227
3235
|
DocstringFormat::GoDoc => Self::GoDoc,
|
|
3228
3236
|
DocstringFormat::JavaDoc => Self::JavaDoc,
|
|
3229
|
-
DocstringFormat::Other {
|
|
3237
|
+
DocstringFormat::Other { value } => Self::Other { value },
|
|
3230
3238
|
}
|
|
3231
3239
|
}
|
|
3232
3240
|
}
|
|
@@ -3239,7 +3247,9 @@ impl From<tree_sitter_language_pack::DocstringFormat> for DocstringFormat {
|
|
|
3239
3247
|
tree_sitter_language_pack::DocstringFormat::Rustdoc => Self::Rustdoc,
|
|
3240
3248
|
tree_sitter_language_pack::DocstringFormat::GoDoc => Self::GoDoc,
|
|
3241
3249
|
tree_sitter_language_pack::DocstringFormat::JavaDoc => Self::JavaDoc,
|
|
3242
|
-
tree_sitter_language_pack::DocstringFormat::Other
|
|
3250
|
+
tree_sitter_language_pack::DocstringFormat::Other { value } => Self::Other {
|
|
3251
|
+
value: value.to_string(),
|
|
3252
|
+
},
|
|
3243
3253
|
}
|
|
3244
3254
|
}
|
|
3245
3255
|
}
|
|
@@ -3275,7 +3285,7 @@ impl From<SymbolKind> for tree_sitter_language_pack::SymbolKind {
|
|
|
3275
3285
|
SymbolKind::Interface => Self::Interface,
|
|
3276
3286
|
SymbolKind::Enum => Self::Enum,
|
|
3277
3287
|
SymbolKind::Module => Self::Module,
|
|
3278
|
-
SymbolKind::Other {
|
|
3288
|
+
SymbolKind::Other { value } => Self::Other { value },
|
|
3279
3289
|
}
|
|
3280
3290
|
}
|
|
3281
3291
|
}
|
|
@@ -3291,7 +3301,9 @@ impl From<tree_sitter_language_pack::SymbolKind> for SymbolKind {
|
|
|
3291
3301
|
tree_sitter_language_pack::SymbolKind::Interface => Self::Interface,
|
|
3292
3302
|
tree_sitter_language_pack::SymbolKind::Enum => Self::Enum,
|
|
3293
3303
|
tree_sitter_language_pack::SymbolKind::Module => Self::Module,
|
|
3294
|
-
tree_sitter_language_pack::SymbolKind::Other
|
|
3304
|
+
tree_sitter_language_pack::SymbolKind::Other { value } => Self::Other {
|
|
3305
|
+
value: value.to_string(),
|
|
3306
|
+
},
|
|
3295
3307
|
}
|
|
3296
3308
|
}
|
|
3297
3309
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:76f3bac7536fa4e5b8ab9a93be197508306d06b566fe7cc519a38c1b9ebf9f42
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify --exit-code
|
|
5
5
|
# frozen_string_literal: true
|
|
@@ -7,3 +7,899 @@
|
|
|
7
7
|
require "json"
|
|
8
8
|
require "sorbet-runtime"
|
|
9
9
|
require "ts_pack_core_rb"
|
|
10
|
+
module TreeSitterLanguagePack
|
|
11
|
+
# The kind of structural item found in source code.
|
|
12
|
+
#
|
|
13
|
+
# Categorizes top-level and nested declarations such as functions, classes,
|
|
14
|
+
# structs, enums, traits, and more. Use [`Other`](StructureKind::Other) for
|
|
15
|
+
# language-specific constructs that do not fit a standard category.
|
|
16
|
+
module StructureKind
|
|
17
|
+
extend T::Helpers
|
|
18
|
+
extend T::Sig
|
|
19
|
+
|
|
20
|
+
interface!
|
|
21
|
+
|
|
22
|
+
# Dispatch from a Hash to the appropriate variant constructor.
|
|
23
|
+
# @param hash [Hash] with discriminator field and variant-specific fields
|
|
24
|
+
# @return [variant_class] an instance of the appropriate variant
|
|
25
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.untyped) }
|
|
26
|
+
def self.from_hash(hash)
|
|
27
|
+
discriminator = hash[:kind] || hash["kind"]
|
|
28
|
+
case discriminator
|
|
29
|
+
when "function" then StructureKindFunction.from_hash(hash)
|
|
30
|
+
when "method" then StructureKindMethod.from_hash(hash)
|
|
31
|
+
when "class" then StructureKindClass.from_hash(hash)
|
|
32
|
+
when "struct" then StructureKindStruct.from_hash(hash)
|
|
33
|
+
when "interface" then StructureKindInterface.from_hash(hash)
|
|
34
|
+
when "enum" then StructureKindEnum.from_hash(hash)
|
|
35
|
+
when "module" then StructureKindModule.from_hash(hash)
|
|
36
|
+
when "trait" then StructureKindTrait.from_hash(hash)
|
|
37
|
+
when "impl" then StructureKindImpl.from_hash(hash)
|
|
38
|
+
when "namespace" then StructureKindNamespace.from_hash(hash)
|
|
39
|
+
when "other" then StructureKindOther.from_hash(hash)
|
|
40
|
+
else raise "Unknown discriminator: #{discriminator}"
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
## A free-standing or associated function.
|
|
45
|
+
StructureKindFunction = Data.define do
|
|
46
|
+
include StructureKind
|
|
47
|
+
extend T::Sig
|
|
48
|
+
|
|
49
|
+
sig { returns(T::Boolean) }
|
|
50
|
+
def function? = true
|
|
51
|
+
sig { returns(T::Boolean) }
|
|
52
|
+
def method? = false
|
|
53
|
+
sig { returns(T::Boolean) }
|
|
54
|
+
def class? = false
|
|
55
|
+
sig { returns(T::Boolean) }
|
|
56
|
+
def struct? = false
|
|
57
|
+
sig { returns(T::Boolean) }
|
|
58
|
+
def interface? = false
|
|
59
|
+
sig { returns(T::Boolean) }
|
|
60
|
+
def enum? = false
|
|
61
|
+
sig { returns(T::Boolean) }
|
|
62
|
+
def module? = false
|
|
63
|
+
sig { returns(T::Boolean) }
|
|
64
|
+
def trait? = false
|
|
65
|
+
sig { returns(T::Boolean) }
|
|
66
|
+
def impl? = false
|
|
67
|
+
sig { returns(T::Boolean) }
|
|
68
|
+
def namespace? = false
|
|
69
|
+
sig { returns(T::Boolean) }
|
|
70
|
+
def other? = false
|
|
71
|
+
# @param hash [Hash] deserialized from the native extension
|
|
72
|
+
# @return [self]
|
|
73
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
74
|
+
def self.from_hash(hash)
|
|
75
|
+
new
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
## A method defined inside a class, struct, trait, or impl block.
|
|
79
|
+
StructureKindMethod = Data.define do
|
|
80
|
+
include StructureKind
|
|
81
|
+
extend T::Sig
|
|
82
|
+
|
|
83
|
+
sig { returns(T::Boolean) }
|
|
84
|
+
def function? = false
|
|
85
|
+
sig { returns(T::Boolean) }
|
|
86
|
+
def method? = true
|
|
87
|
+
sig { returns(T::Boolean) }
|
|
88
|
+
def class? = false
|
|
89
|
+
sig { returns(T::Boolean) }
|
|
90
|
+
def struct? = false
|
|
91
|
+
sig { returns(T::Boolean) }
|
|
92
|
+
def interface? = false
|
|
93
|
+
sig { returns(T::Boolean) }
|
|
94
|
+
def enum? = false
|
|
95
|
+
sig { returns(T::Boolean) }
|
|
96
|
+
def module? = false
|
|
97
|
+
sig { returns(T::Boolean) }
|
|
98
|
+
def trait? = false
|
|
99
|
+
sig { returns(T::Boolean) }
|
|
100
|
+
def impl? = false
|
|
101
|
+
sig { returns(T::Boolean) }
|
|
102
|
+
def namespace? = false
|
|
103
|
+
sig { returns(T::Boolean) }
|
|
104
|
+
def other? = false
|
|
105
|
+
# @param hash [Hash] deserialized from the native extension
|
|
106
|
+
# @return [self]
|
|
107
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
108
|
+
def self.from_hash(hash)
|
|
109
|
+
new
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
## A class definition.
|
|
113
|
+
StructureKindClass = Data.define do
|
|
114
|
+
include StructureKind
|
|
115
|
+
extend T::Sig
|
|
116
|
+
|
|
117
|
+
sig { returns(T::Boolean) }
|
|
118
|
+
def function? = false
|
|
119
|
+
sig { returns(T::Boolean) }
|
|
120
|
+
def method? = false
|
|
121
|
+
sig { returns(T::Boolean) }
|
|
122
|
+
def class? = true
|
|
123
|
+
sig { returns(T::Boolean) }
|
|
124
|
+
def struct? = false
|
|
125
|
+
sig { returns(T::Boolean) }
|
|
126
|
+
def interface? = false
|
|
127
|
+
sig { returns(T::Boolean) }
|
|
128
|
+
def enum? = false
|
|
129
|
+
sig { returns(T::Boolean) }
|
|
130
|
+
def module? = false
|
|
131
|
+
sig { returns(T::Boolean) }
|
|
132
|
+
def trait? = false
|
|
133
|
+
sig { returns(T::Boolean) }
|
|
134
|
+
def impl? = false
|
|
135
|
+
sig { returns(T::Boolean) }
|
|
136
|
+
def namespace? = false
|
|
137
|
+
sig { returns(T::Boolean) }
|
|
138
|
+
def other? = false
|
|
139
|
+
# @param hash [Hash] deserialized from the native extension
|
|
140
|
+
# @return [self]
|
|
141
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
142
|
+
def self.from_hash(hash)
|
|
143
|
+
new
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
## A struct definition.
|
|
147
|
+
StructureKindStruct = Data.define do
|
|
148
|
+
include StructureKind
|
|
149
|
+
extend T::Sig
|
|
150
|
+
|
|
151
|
+
sig { returns(T::Boolean) }
|
|
152
|
+
def function? = false
|
|
153
|
+
sig { returns(T::Boolean) }
|
|
154
|
+
def method? = false
|
|
155
|
+
sig { returns(T::Boolean) }
|
|
156
|
+
def class? = false
|
|
157
|
+
sig { returns(T::Boolean) }
|
|
158
|
+
def struct? = true
|
|
159
|
+
sig { returns(T::Boolean) }
|
|
160
|
+
def interface? = false
|
|
161
|
+
sig { returns(T::Boolean) }
|
|
162
|
+
def enum? = false
|
|
163
|
+
sig { returns(T::Boolean) }
|
|
164
|
+
def module? = false
|
|
165
|
+
sig { returns(T::Boolean) }
|
|
166
|
+
def trait? = false
|
|
167
|
+
sig { returns(T::Boolean) }
|
|
168
|
+
def impl? = false
|
|
169
|
+
sig { returns(T::Boolean) }
|
|
170
|
+
def namespace? = false
|
|
171
|
+
sig { returns(T::Boolean) }
|
|
172
|
+
def other? = false
|
|
173
|
+
# @param hash [Hash] deserialized from the native extension
|
|
174
|
+
# @return [self]
|
|
175
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
176
|
+
def self.from_hash(hash)
|
|
177
|
+
new
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
## An interface or protocol definition.
|
|
181
|
+
StructureKindInterface = Data.define do
|
|
182
|
+
include StructureKind
|
|
183
|
+
extend T::Sig
|
|
184
|
+
|
|
185
|
+
sig { returns(T::Boolean) }
|
|
186
|
+
def function? = false
|
|
187
|
+
sig { returns(T::Boolean) }
|
|
188
|
+
def method? = false
|
|
189
|
+
sig { returns(T::Boolean) }
|
|
190
|
+
def class? = false
|
|
191
|
+
sig { returns(T::Boolean) }
|
|
192
|
+
def struct? = false
|
|
193
|
+
sig { returns(T::Boolean) }
|
|
194
|
+
def interface? = true
|
|
195
|
+
sig { returns(T::Boolean) }
|
|
196
|
+
def enum? = false
|
|
197
|
+
sig { returns(T::Boolean) }
|
|
198
|
+
def module? = false
|
|
199
|
+
sig { returns(T::Boolean) }
|
|
200
|
+
def trait? = false
|
|
201
|
+
sig { returns(T::Boolean) }
|
|
202
|
+
def impl? = false
|
|
203
|
+
sig { returns(T::Boolean) }
|
|
204
|
+
def namespace? = false
|
|
205
|
+
sig { returns(T::Boolean) }
|
|
206
|
+
def other? = false
|
|
207
|
+
# @param hash [Hash] deserialized from the native extension
|
|
208
|
+
# @return [self]
|
|
209
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
210
|
+
def self.from_hash(hash)
|
|
211
|
+
new
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
## An enum definition.
|
|
215
|
+
StructureKindEnum = Data.define do
|
|
216
|
+
include StructureKind
|
|
217
|
+
extend T::Sig
|
|
218
|
+
|
|
219
|
+
sig { returns(T::Boolean) }
|
|
220
|
+
def function? = false
|
|
221
|
+
sig { returns(T::Boolean) }
|
|
222
|
+
def method? = false
|
|
223
|
+
sig { returns(T::Boolean) }
|
|
224
|
+
def class? = false
|
|
225
|
+
sig { returns(T::Boolean) }
|
|
226
|
+
def struct? = false
|
|
227
|
+
sig { returns(T::Boolean) }
|
|
228
|
+
def interface? = false
|
|
229
|
+
sig { returns(T::Boolean) }
|
|
230
|
+
def enum? = true
|
|
231
|
+
sig { returns(T::Boolean) }
|
|
232
|
+
def module? = false
|
|
233
|
+
sig { returns(T::Boolean) }
|
|
234
|
+
def trait? = false
|
|
235
|
+
sig { returns(T::Boolean) }
|
|
236
|
+
def impl? = false
|
|
237
|
+
sig { returns(T::Boolean) }
|
|
238
|
+
def namespace? = false
|
|
239
|
+
sig { returns(T::Boolean) }
|
|
240
|
+
def other? = false
|
|
241
|
+
# @param hash [Hash] deserialized from the native extension
|
|
242
|
+
# @return [self]
|
|
243
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
244
|
+
def self.from_hash(hash)
|
|
245
|
+
new
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
## A module or package declaration.
|
|
249
|
+
StructureKindModule = Data.define do
|
|
250
|
+
include StructureKind
|
|
251
|
+
extend T::Sig
|
|
252
|
+
|
|
253
|
+
sig { returns(T::Boolean) }
|
|
254
|
+
def function? = false
|
|
255
|
+
sig { returns(T::Boolean) }
|
|
256
|
+
def method? = false
|
|
257
|
+
sig { returns(T::Boolean) }
|
|
258
|
+
def class? = false
|
|
259
|
+
sig { returns(T::Boolean) }
|
|
260
|
+
def struct? = false
|
|
261
|
+
sig { returns(T::Boolean) }
|
|
262
|
+
def interface? = false
|
|
263
|
+
sig { returns(T::Boolean) }
|
|
264
|
+
def enum? = false
|
|
265
|
+
sig { returns(T::Boolean) }
|
|
266
|
+
def module? = true
|
|
267
|
+
sig { returns(T::Boolean) }
|
|
268
|
+
def trait? = false
|
|
269
|
+
sig { returns(T::Boolean) }
|
|
270
|
+
def impl? = false
|
|
271
|
+
sig { returns(T::Boolean) }
|
|
272
|
+
def namespace? = false
|
|
273
|
+
sig { returns(T::Boolean) }
|
|
274
|
+
def other? = false
|
|
275
|
+
# @param hash [Hash] deserialized from the native extension
|
|
276
|
+
# @return [self]
|
|
277
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
278
|
+
def self.from_hash(hash)
|
|
279
|
+
new
|
|
280
|
+
end
|
|
281
|
+
end
|
|
282
|
+
## A trait definition.
|
|
283
|
+
StructureKindTrait = Data.define do
|
|
284
|
+
include StructureKind
|
|
285
|
+
extend T::Sig
|
|
286
|
+
|
|
287
|
+
sig { returns(T::Boolean) }
|
|
288
|
+
def function? = false
|
|
289
|
+
sig { returns(T::Boolean) }
|
|
290
|
+
def method? = false
|
|
291
|
+
sig { returns(T::Boolean) }
|
|
292
|
+
def class? = false
|
|
293
|
+
sig { returns(T::Boolean) }
|
|
294
|
+
def struct? = false
|
|
295
|
+
sig { returns(T::Boolean) }
|
|
296
|
+
def interface? = false
|
|
297
|
+
sig { returns(T::Boolean) }
|
|
298
|
+
def enum? = false
|
|
299
|
+
sig { returns(T::Boolean) }
|
|
300
|
+
def module? = false
|
|
301
|
+
sig { returns(T::Boolean) }
|
|
302
|
+
def trait? = true
|
|
303
|
+
sig { returns(T::Boolean) }
|
|
304
|
+
def impl? = false
|
|
305
|
+
sig { returns(T::Boolean) }
|
|
306
|
+
def namespace? = false
|
|
307
|
+
sig { returns(T::Boolean) }
|
|
308
|
+
def other? = false
|
|
309
|
+
# @param hash [Hash] deserialized from the native extension
|
|
310
|
+
# @return [self]
|
|
311
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
312
|
+
def self.from_hash(hash)
|
|
313
|
+
new
|
|
314
|
+
end
|
|
315
|
+
end
|
|
316
|
+
## An impl block (Rust) or similar implementation block.
|
|
317
|
+
StructureKindImpl = Data.define do
|
|
318
|
+
include StructureKind
|
|
319
|
+
extend T::Sig
|
|
320
|
+
|
|
321
|
+
sig { returns(T::Boolean) }
|
|
322
|
+
def function? = false
|
|
323
|
+
sig { returns(T::Boolean) }
|
|
324
|
+
def method? = false
|
|
325
|
+
sig { returns(T::Boolean) }
|
|
326
|
+
def class? = false
|
|
327
|
+
sig { returns(T::Boolean) }
|
|
328
|
+
def struct? = false
|
|
329
|
+
sig { returns(T::Boolean) }
|
|
330
|
+
def interface? = false
|
|
331
|
+
sig { returns(T::Boolean) }
|
|
332
|
+
def enum? = false
|
|
333
|
+
sig { returns(T::Boolean) }
|
|
334
|
+
def module? = false
|
|
335
|
+
sig { returns(T::Boolean) }
|
|
336
|
+
def trait? = false
|
|
337
|
+
sig { returns(T::Boolean) }
|
|
338
|
+
def impl? = true
|
|
339
|
+
sig { returns(T::Boolean) }
|
|
340
|
+
def namespace? = false
|
|
341
|
+
sig { returns(T::Boolean) }
|
|
342
|
+
def other? = false
|
|
343
|
+
# @param hash [Hash] deserialized from the native extension
|
|
344
|
+
# @return [self]
|
|
345
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
346
|
+
def self.from_hash(hash)
|
|
347
|
+
new
|
|
348
|
+
end
|
|
349
|
+
end
|
|
350
|
+
## A namespace declaration.
|
|
351
|
+
StructureKindNamespace = Data.define do
|
|
352
|
+
include StructureKind
|
|
353
|
+
extend T::Sig
|
|
354
|
+
|
|
355
|
+
sig { returns(T::Boolean) }
|
|
356
|
+
def function? = false
|
|
357
|
+
sig { returns(T::Boolean) }
|
|
358
|
+
def method? = false
|
|
359
|
+
sig { returns(T::Boolean) }
|
|
360
|
+
def class? = false
|
|
361
|
+
sig { returns(T::Boolean) }
|
|
362
|
+
def struct? = false
|
|
363
|
+
sig { returns(T::Boolean) }
|
|
364
|
+
def interface? = false
|
|
365
|
+
sig { returns(T::Boolean) }
|
|
366
|
+
def enum? = false
|
|
367
|
+
sig { returns(T::Boolean) }
|
|
368
|
+
def module? = false
|
|
369
|
+
sig { returns(T::Boolean) }
|
|
370
|
+
def trait? = false
|
|
371
|
+
sig { returns(T::Boolean) }
|
|
372
|
+
def impl? = false
|
|
373
|
+
sig { returns(T::Boolean) }
|
|
374
|
+
def namespace? = true
|
|
375
|
+
sig { returns(T::Boolean) }
|
|
376
|
+
def other? = false
|
|
377
|
+
# @param hash [Hash] deserialized from the native extension
|
|
378
|
+
# @return [self]
|
|
379
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
380
|
+
def self.from_hash(hash)
|
|
381
|
+
new
|
|
382
|
+
end
|
|
383
|
+
end
|
|
384
|
+
## A language-specific construct that does not fit any standard category.
|
|
385
|
+
## The `value` field carries the language-specific kind label.
|
|
386
|
+
StructureKindOther = Data.define(:value) do
|
|
387
|
+
include StructureKind
|
|
388
|
+
extend T::Sig
|
|
389
|
+
|
|
390
|
+
# The language-specific kind name (e.g. `"macro"`, `"fixture"`).
|
|
391
|
+
sig { returns(String) }
|
|
392
|
+
def value = super # rubocop:disable Lint/UselessMethodDefinition
|
|
393
|
+
sig { returns(T::Boolean) }
|
|
394
|
+
def function? = false
|
|
395
|
+
sig { returns(T::Boolean) }
|
|
396
|
+
def method? = false
|
|
397
|
+
sig { returns(T::Boolean) }
|
|
398
|
+
def class? = false
|
|
399
|
+
sig { returns(T::Boolean) }
|
|
400
|
+
def struct? = false
|
|
401
|
+
sig { returns(T::Boolean) }
|
|
402
|
+
def interface? = false
|
|
403
|
+
sig { returns(T::Boolean) }
|
|
404
|
+
def enum? = false
|
|
405
|
+
sig { returns(T::Boolean) }
|
|
406
|
+
def module? = false
|
|
407
|
+
sig { returns(T::Boolean) }
|
|
408
|
+
def trait? = false
|
|
409
|
+
sig { returns(T::Boolean) }
|
|
410
|
+
def impl? = false
|
|
411
|
+
sig { returns(T::Boolean) }
|
|
412
|
+
def namespace? = false
|
|
413
|
+
sig { returns(T::Boolean) }
|
|
414
|
+
def other? = true
|
|
415
|
+
# @param hash [Hash] deserialized from the native extension
|
|
416
|
+
# @return [self]
|
|
417
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
418
|
+
def self.from_hash(hash)
|
|
419
|
+
new(value: hash[:value] || hash["value"])
|
|
420
|
+
end
|
|
421
|
+
end
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
module TreeSitterLanguagePack
|
|
425
|
+
# The format of a docstring extracted from source code.
|
|
426
|
+
#
|
|
427
|
+
# Identifies the docstring convention used, which varies by language
|
|
428
|
+
# (e.g., Python triple-quoted strings, JSDoc, Rustdoc `///` comments).
|
|
429
|
+
module DocstringFormat
|
|
430
|
+
extend T::Helpers
|
|
431
|
+
extend T::Sig
|
|
432
|
+
|
|
433
|
+
interface!
|
|
434
|
+
|
|
435
|
+
# Dispatch from a Hash to the appropriate variant constructor.
|
|
436
|
+
# @param hash [Hash] with discriminator field and variant-specific fields
|
|
437
|
+
# @return [variant_class] an instance of the appropriate variant
|
|
438
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.untyped) }
|
|
439
|
+
def self.from_hash(hash)
|
|
440
|
+
discriminator = hash[:kind] || hash["kind"]
|
|
441
|
+
case discriminator
|
|
442
|
+
when "python_triple_quote" then DocstringFormatPythonTripleQuote.from_hash(hash)
|
|
443
|
+
when "js_doc" then DocstringFormatJSDoc.from_hash(hash)
|
|
444
|
+
when "rustdoc" then DocstringFormatRustdoc.from_hash(hash)
|
|
445
|
+
when "go_doc" then DocstringFormatGoDoc.from_hash(hash)
|
|
446
|
+
when "java_doc" then DocstringFormatJavaDoc.from_hash(hash)
|
|
447
|
+
when "other" then DocstringFormatOther.from_hash(hash)
|
|
448
|
+
else raise "Unknown discriminator: #{discriminator}"
|
|
449
|
+
end
|
|
450
|
+
end
|
|
451
|
+
end
|
|
452
|
+
## Python triple-quoted string docstring (`"""..."""`).
|
|
453
|
+
DocstringFormatPythonTripleQuote = Data.define do
|
|
454
|
+
include DocstringFormat
|
|
455
|
+
extend T::Sig
|
|
456
|
+
|
|
457
|
+
sig { returns(T::Boolean) }
|
|
458
|
+
def python_triple_quote? = true
|
|
459
|
+
sig { returns(T::Boolean) }
|
|
460
|
+
def js_doc? = false
|
|
461
|
+
sig { returns(T::Boolean) }
|
|
462
|
+
def rustdoc? = false
|
|
463
|
+
sig { returns(T::Boolean) }
|
|
464
|
+
def go_doc? = false
|
|
465
|
+
sig { returns(T::Boolean) }
|
|
466
|
+
def java_doc? = false
|
|
467
|
+
sig { returns(T::Boolean) }
|
|
468
|
+
def other? = false
|
|
469
|
+
# @param hash [Hash] deserialized from the native extension
|
|
470
|
+
# @return [self]
|
|
471
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
472
|
+
def self.from_hash(hash)
|
|
473
|
+
new
|
|
474
|
+
end
|
|
475
|
+
end
|
|
476
|
+
## JavaScript/TypeScript JSDoc comment (`/** ... */`).
|
|
477
|
+
DocstringFormatJSDoc = Data.define do
|
|
478
|
+
include DocstringFormat
|
|
479
|
+
extend T::Sig
|
|
480
|
+
|
|
481
|
+
sig { returns(T::Boolean) }
|
|
482
|
+
def python_triple_quote? = false
|
|
483
|
+
sig { returns(T::Boolean) }
|
|
484
|
+
def js_doc? = true
|
|
485
|
+
sig { returns(T::Boolean) }
|
|
486
|
+
def rustdoc? = false
|
|
487
|
+
sig { returns(T::Boolean) }
|
|
488
|
+
def go_doc? = false
|
|
489
|
+
sig { returns(T::Boolean) }
|
|
490
|
+
def java_doc? = false
|
|
491
|
+
sig { returns(T::Boolean) }
|
|
492
|
+
def other? = false
|
|
493
|
+
# @param hash [Hash] deserialized from the native extension
|
|
494
|
+
# @return [self]
|
|
495
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
496
|
+
def self.from_hash(hash)
|
|
497
|
+
new
|
|
498
|
+
end
|
|
499
|
+
end
|
|
500
|
+
## Rust `///` or `//!` doc comment.
|
|
501
|
+
DocstringFormatRustdoc = Data.define do
|
|
502
|
+
include DocstringFormat
|
|
503
|
+
extend T::Sig
|
|
504
|
+
|
|
505
|
+
sig { returns(T::Boolean) }
|
|
506
|
+
def python_triple_quote? = false
|
|
507
|
+
sig { returns(T::Boolean) }
|
|
508
|
+
def js_doc? = false
|
|
509
|
+
sig { returns(T::Boolean) }
|
|
510
|
+
def rustdoc? = true
|
|
511
|
+
sig { returns(T::Boolean) }
|
|
512
|
+
def go_doc? = false
|
|
513
|
+
sig { returns(T::Boolean) }
|
|
514
|
+
def java_doc? = false
|
|
515
|
+
sig { returns(T::Boolean) }
|
|
516
|
+
def other? = false
|
|
517
|
+
# @param hash [Hash] deserialized from the native extension
|
|
518
|
+
# @return [self]
|
|
519
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
520
|
+
def self.from_hash(hash)
|
|
521
|
+
new
|
|
522
|
+
end
|
|
523
|
+
end
|
|
524
|
+
## Go doc comment (a comment block immediately preceding a declaration).
|
|
525
|
+
DocstringFormatGoDoc = Data.define do
|
|
526
|
+
include DocstringFormat
|
|
527
|
+
extend T::Sig
|
|
528
|
+
|
|
529
|
+
sig { returns(T::Boolean) }
|
|
530
|
+
def python_triple_quote? = false
|
|
531
|
+
sig { returns(T::Boolean) }
|
|
532
|
+
def js_doc? = false
|
|
533
|
+
sig { returns(T::Boolean) }
|
|
534
|
+
def rustdoc? = false
|
|
535
|
+
sig { returns(T::Boolean) }
|
|
536
|
+
def go_doc? = true
|
|
537
|
+
sig { returns(T::Boolean) }
|
|
538
|
+
def java_doc? = false
|
|
539
|
+
sig { returns(T::Boolean) }
|
|
540
|
+
def other? = false
|
|
541
|
+
# @param hash [Hash] deserialized from the native extension
|
|
542
|
+
# @return [self]
|
|
543
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
544
|
+
def self.from_hash(hash)
|
|
545
|
+
new
|
|
546
|
+
end
|
|
547
|
+
end
|
|
548
|
+
## Java Javadoc comment (`/** ... */`).
|
|
549
|
+
DocstringFormatJavaDoc = Data.define do
|
|
550
|
+
include DocstringFormat
|
|
551
|
+
extend T::Sig
|
|
552
|
+
|
|
553
|
+
sig { returns(T::Boolean) }
|
|
554
|
+
def python_triple_quote? = false
|
|
555
|
+
sig { returns(T::Boolean) }
|
|
556
|
+
def js_doc? = false
|
|
557
|
+
sig { returns(T::Boolean) }
|
|
558
|
+
def rustdoc? = false
|
|
559
|
+
sig { returns(T::Boolean) }
|
|
560
|
+
def go_doc? = false
|
|
561
|
+
sig { returns(T::Boolean) }
|
|
562
|
+
def java_doc? = true
|
|
563
|
+
sig { returns(T::Boolean) }
|
|
564
|
+
def other? = false
|
|
565
|
+
# @param hash [Hash] deserialized from the native extension
|
|
566
|
+
# @return [self]
|
|
567
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
568
|
+
def self.from_hash(hash)
|
|
569
|
+
new
|
|
570
|
+
end
|
|
571
|
+
end
|
|
572
|
+
## A language-specific docstring format not covered by the standard variants.
|
|
573
|
+
DocstringFormatOther = Data.define(:value) do
|
|
574
|
+
include DocstringFormat
|
|
575
|
+
extend T::Sig
|
|
576
|
+
|
|
577
|
+
# The format name not covered by standard variants.
|
|
578
|
+
sig { returns(String) }
|
|
579
|
+
def value = super # rubocop:disable Lint/UselessMethodDefinition
|
|
580
|
+
sig { returns(T::Boolean) }
|
|
581
|
+
def python_triple_quote? = false
|
|
582
|
+
sig { returns(T::Boolean) }
|
|
583
|
+
def js_doc? = false
|
|
584
|
+
sig { returns(T::Boolean) }
|
|
585
|
+
def rustdoc? = false
|
|
586
|
+
sig { returns(T::Boolean) }
|
|
587
|
+
def go_doc? = false
|
|
588
|
+
sig { returns(T::Boolean) }
|
|
589
|
+
def java_doc? = false
|
|
590
|
+
sig { returns(T::Boolean) }
|
|
591
|
+
def other? = true
|
|
592
|
+
# @param hash [Hash] deserialized from the native extension
|
|
593
|
+
# @return [self]
|
|
594
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
595
|
+
def self.from_hash(hash)
|
|
596
|
+
new(value: hash[:value] || hash["value"])
|
|
597
|
+
end
|
|
598
|
+
end
|
|
599
|
+
end
|
|
600
|
+
|
|
601
|
+
module TreeSitterLanguagePack
|
|
602
|
+
# The kind of a symbol definition found in source code.
|
|
603
|
+
#
|
|
604
|
+
# Categorizes symbol definitions such as variables, constants, functions,
|
|
605
|
+
# classes, types, interfaces, enums, and modules.
|
|
606
|
+
module SymbolKind
|
|
607
|
+
extend T::Helpers
|
|
608
|
+
extend T::Sig
|
|
609
|
+
|
|
610
|
+
interface!
|
|
611
|
+
|
|
612
|
+
# Dispatch from a Hash to the appropriate variant constructor.
|
|
613
|
+
# @param hash [Hash] with discriminator field and variant-specific fields
|
|
614
|
+
# @return [variant_class] an instance of the appropriate variant
|
|
615
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.untyped) }
|
|
616
|
+
def self.from_hash(hash)
|
|
617
|
+
discriminator = hash[:kind] || hash["kind"]
|
|
618
|
+
case discriminator
|
|
619
|
+
when "variable" then SymbolKindVariable.from_hash(hash)
|
|
620
|
+
when "constant" then SymbolKindConstant.from_hash(hash)
|
|
621
|
+
when "function" then SymbolKindFunction.from_hash(hash)
|
|
622
|
+
when "class" then SymbolKindClass.from_hash(hash)
|
|
623
|
+
when "type" then SymbolKindType.from_hash(hash)
|
|
624
|
+
when "interface" then SymbolKindInterface.from_hash(hash)
|
|
625
|
+
when "enum" then SymbolKindEnum.from_hash(hash)
|
|
626
|
+
when "module" then SymbolKindModule.from_hash(hash)
|
|
627
|
+
when "other" then SymbolKindOther.from_hash(hash)
|
|
628
|
+
else raise "Unknown discriminator: #{discriminator}"
|
|
629
|
+
end
|
|
630
|
+
end
|
|
631
|
+
end
|
|
632
|
+
## A variable binding.
|
|
633
|
+
SymbolKindVariable = Data.define do
|
|
634
|
+
include SymbolKind
|
|
635
|
+
extend T::Sig
|
|
636
|
+
|
|
637
|
+
sig { returns(T::Boolean) }
|
|
638
|
+
def variable? = true
|
|
639
|
+
sig { returns(T::Boolean) }
|
|
640
|
+
def constant? = false
|
|
641
|
+
sig { returns(T::Boolean) }
|
|
642
|
+
def function? = false
|
|
643
|
+
sig { returns(T::Boolean) }
|
|
644
|
+
def class? = false
|
|
645
|
+
sig { returns(T::Boolean) }
|
|
646
|
+
def type? = false
|
|
647
|
+
sig { returns(T::Boolean) }
|
|
648
|
+
def interface? = false
|
|
649
|
+
sig { returns(T::Boolean) }
|
|
650
|
+
def enum? = false
|
|
651
|
+
sig { returns(T::Boolean) }
|
|
652
|
+
def module? = false
|
|
653
|
+
sig { returns(T::Boolean) }
|
|
654
|
+
def other? = false
|
|
655
|
+
# @param hash [Hash] deserialized from the native extension
|
|
656
|
+
# @return [self]
|
|
657
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
658
|
+
def self.from_hash(hash)
|
|
659
|
+
new
|
|
660
|
+
end
|
|
661
|
+
end
|
|
662
|
+
## A constant (immutable binding).
|
|
663
|
+
SymbolKindConstant = Data.define do
|
|
664
|
+
include SymbolKind
|
|
665
|
+
extend T::Sig
|
|
666
|
+
|
|
667
|
+
sig { returns(T::Boolean) }
|
|
668
|
+
def variable? = false
|
|
669
|
+
sig { returns(T::Boolean) }
|
|
670
|
+
def constant? = true
|
|
671
|
+
sig { returns(T::Boolean) }
|
|
672
|
+
def function? = false
|
|
673
|
+
sig { returns(T::Boolean) }
|
|
674
|
+
def class? = false
|
|
675
|
+
sig { returns(T::Boolean) }
|
|
676
|
+
def type? = false
|
|
677
|
+
sig { returns(T::Boolean) }
|
|
678
|
+
def interface? = false
|
|
679
|
+
sig { returns(T::Boolean) }
|
|
680
|
+
def enum? = false
|
|
681
|
+
sig { returns(T::Boolean) }
|
|
682
|
+
def module? = false
|
|
683
|
+
sig { returns(T::Boolean) }
|
|
684
|
+
def other? = false
|
|
685
|
+
# @param hash [Hash] deserialized from the native extension
|
|
686
|
+
# @return [self]
|
|
687
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
688
|
+
def self.from_hash(hash)
|
|
689
|
+
new
|
|
690
|
+
end
|
|
691
|
+
end
|
|
692
|
+
## A function definition.
|
|
693
|
+
SymbolKindFunction = Data.define do
|
|
694
|
+
include SymbolKind
|
|
695
|
+
extend T::Sig
|
|
696
|
+
|
|
697
|
+
sig { returns(T::Boolean) }
|
|
698
|
+
def variable? = false
|
|
699
|
+
sig { returns(T::Boolean) }
|
|
700
|
+
def constant? = false
|
|
701
|
+
sig { returns(T::Boolean) }
|
|
702
|
+
def function? = true
|
|
703
|
+
sig { returns(T::Boolean) }
|
|
704
|
+
def class? = false
|
|
705
|
+
sig { returns(T::Boolean) }
|
|
706
|
+
def type? = false
|
|
707
|
+
sig { returns(T::Boolean) }
|
|
708
|
+
def interface? = false
|
|
709
|
+
sig { returns(T::Boolean) }
|
|
710
|
+
def enum? = false
|
|
711
|
+
sig { returns(T::Boolean) }
|
|
712
|
+
def module? = false
|
|
713
|
+
sig { returns(T::Boolean) }
|
|
714
|
+
def other? = false
|
|
715
|
+
# @param hash [Hash] deserialized from the native extension
|
|
716
|
+
# @return [self]
|
|
717
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
718
|
+
def self.from_hash(hash)
|
|
719
|
+
new
|
|
720
|
+
end
|
|
721
|
+
end
|
|
722
|
+
## A class definition.
|
|
723
|
+
SymbolKindClass = Data.define do
|
|
724
|
+
include SymbolKind
|
|
725
|
+
extend T::Sig
|
|
726
|
+
|
|
727
|
+
sig { returns(T::Boolean) }
|
|
728
|
+
def variable? = false
|
|
729
|
+
sig { returns(T::Boolean) }
|
|
730
|
+
def constant? = false
|
|
731
|
+
sig { returns(T::Boolean) }
|
|
732
|
+
def function? = false
|
|
733
|
+
sig { returns(T::Boolean) }
|
|
734
|
+
def class? = true
|
|
735
|
+
sig { returns(T::Boolean) }
|
|
736
|
+
def type? = false
|
|
737
|
+
sig { returns(T::Boolean) }
|
|
738
|
+
def interface? = false
|
|
739
|
+
sig { returns(T::Boolean) }
|
|
740
|
+
def enum? = false
|
|
741
|
+
sig { returns(T::Boolean) }
|
|
742
|
+
def module? = false
|
|
743
|
+
sig { returns(T::Boolean) }
|
|
744
|
+
def other? = false
|
|
745
|
+
# @param hash [Hash] deserialized from the native extension
|
|
746
|
+
# @return [self]
|
|
747
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
748
|
+
def self.from_hash(hash)
|
|
749
|
+
new
|
|
750
|
+
end
|
|
751
|
+
end
|
|
752
|
+
## A type alias or typedef.
|
|
753
|
+
SymbolKindType = Data.define do
|
|
754
|
+
include SymbolKind
|
|
755
|
+
extend T::Sig
|
|
756
|
+
|
|
757
|
+
sig { returns(T::Boolean) }
|
|
758
|
+
def variable? = false
|
|
759
|
+
sig { returns(T::Boolean) }
|
|
760
|
+
def constant? = false
|
|
761
|
+
sig { returns(T::Boolean) }
|
|
762
|
+
def function? = false
|
|
763
|
+
sig { returns(T::Boolean) }
|
|
764
|
+
def class? = false
|
|
765
|
+
sig { returns(T::Boolean) }
|
|
766
|
+
def type? = true
|
|
767
|
+
sig { returns(T::Boolean) }
|
|
768
|
+
def interface? = false
|
|
769
|
+
sig { returns(T::Boolean) }
|
|
770
|
+
def enum? = false
|
|
771
|
+
sig { returns(T::Boolean) }
|
|
772
|
+
def module? = false
|
|
773
|
+
sig { returns(T::Boolean) }
|
|
774
|
+
def other? = false
|
|
775
|
+
# @param hash [Hash] deserialized from the native extension
|
|
776
|
+
# @return [self]
|
|
777
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
778
|
+
def self.from_hash(hash)
|
|
779
|
+
new
|
|
780
|
+
end
|
|
781
|
+
end
|
|
782
|
+
## An interface definition.
|
|
783
|
+
SymbolKindInterface = Data.define do
|
|
784
|
+
include SymbolKind
|
|
785
|
+
extend T::Sig
|
|
786
|
+
|
|
787
|
+
sig { returns(T::Boolean) }
|
|
788
|
+
def variable? = false
|
|
789
|
+
sig { returns(T::Boolean) }
|
|
790
|
+
def constant? = false
|
|
791
|
+
sig { returns(T::Boolean) }
|
|
792
|
+
def function? = false
|
|
793
|
+
sig { returns(T::Boolean) }
|
|
794
|
+
def class? = false
|
|
795
|
+
sig { returns(T::Boolean) }
|
|
796
|
+
def type? = false
|
|
797
|
+
sig { returns(T::Boolean) }
|
|
798
|
+
def interface? = true
|
|
799
|
+
sig { returns(T::Boolean) }
|
|
800
|
+
def enum? = false
|
|
801
|
+
sig { returns(T::Boolean) }
|
|
802
|
+
def module? = false
|
|
803
|
+
sig { returns(T::Boolean) }
|
|
804
|
+
def other? = false
|
|
805
|
+
# @param hash [Hash] deserialized from the native extension
|
|
806
|
+
# @return [self]
|
|
807
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
808
|
+
def self.from_hash(hash)
|
|
809
|
+
new
|
|
810
|
+
end
|
|
811
|
+
end
|
|
812
|
+
## An enum definition.
|
|
813
|
+
SymbolKindEnum = Data.define do
|
|
814
|
+
include SymbolKind
|
|
815
|
+
extend T::Sig
|
|
816
|
+
|
|
817
|
+
sig { returns(T::Boolean) }
|
|
818
|
+
def variable? = false
|
|
819
|
+
sig { returns(T::Boolean) }
|
|
820
|
+
def constant? = false
|
|
821
|
+
sig { returns(T::Boolean) }
|
|
822
|
+
def function? = false
|
|
823
|
+
sig { returns(T::Boolean) }
|
|
824
|
+
def class? = false
|
|
825
|
+
sig { returns(T::Boolean) }
|
|
826
|
+
def type? = false
|
|
827
|
+
sig { returns(T::Boolean) }
|
|
828
|
+
def interface? = false
|
|
829
|
+
sig { returns(T::Boolean) }
|
|
830
|
+
def enum? = true
|
|
831
|
+
sig { returns(T::Boolean) }
|
|
832
|
+
def module? = false
|
|
833
|
+
sig { returns(T::Boolean) }
|
|
834
|
+
def other? = false
|
|
835
|
+
# @param hash [Hash] deserialized from the native extension
|
|
836
|
+
# @return [self]
|
|
837
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
838
|
+
def self.from_hash(hash)
|
|
839
|
+
new
|
|
840
|
+
end
|
|
841
|
+
end
|
|
842
|
+
## A module declaration.
|
|
843
|
+
SymbolKindModule = Data.define do
|
|
844
|
+
include SymbolKind
|
|
845
|
+
extend T::Sig
|
|
846
|
+
|
|
847
|
+
sig { returns(T::Boolean) }
|
|
848
|
+
def variable? = false
|
|
849
|
+
sig { returns(T::Boolean) }
|
|
850
|
+
def constant? = false
|
|
851
|
+
sig { returns(T::Boolean) }
|
|
852
|
+
def function? = false
|
|
853
|
+
sig { returns(T::Boolean) }
|
|
854
|
+
def class? = false
|
|
855
|
+
sig { returns(T::Boolean) }
|
|
856
|
+
def type? = false
|
|
857
|
+
sig { returns(T::Boolean) }
|
|
858
|
+
def interface? = false
|
|
859
|
+
sig { returns(T::Boolean) }
|
|
860
|
+
def enum? = false
|
|
861
|
+
sig { returns(T::Boolean) }
|
|
862
|
+
def module? = true
|
|
863
|
+
sig { returns(T::Boolean) }
|
|
864
|
+
def other? = false
|
|
865
|
+
# @param hash [Hash] deserialized from the native extension
|
|
866
|
+
# @return [self]
|
|
867
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
868
|
+
def self.from_hash(hash)
|
|
869
|
+
new
|
|
870
|
+
end
|
|
871
|
+
end
|
|
872
|
+
## A symbol kind not covered by the standard variants.
|
|
873
|
+
SymbolKindOther = Data.define(:value) do
|
|
874
|
+
include SymbolKind
|
|
875
|
+
extend T::Sig
|
|
876
|
+
|
|
877
|
+
# The language-specific symbol kind name.
|
|
878
|
+
sig { returns(String) }
|
|
879
|
+
def value = super # rubocop:disable Lint/UselessMethodDefinition
|
|
880
|
+
sig { returns(T::Boolean) }
|
|
881
|
+
def variable? = false
|
|
882
|
+
sig { returns(T::Boolean) }
|
|
883
|
+
def constant? = false
|
|
884
|
+
sig { returns(T::Boolean) }
|
|
885
|
+
def function? = false
|
|
886
|
+
sig { returns(T::Boolean) }
|
|
887
|
+
def class? = false
|
|
888
|
+
sig { returns(T::Boolean) }
|
|
889
|
+
def type? = false
|
|
890
|
+
sig { returns(T::Boolean) }
|
|
891
|
+
def interface? = false
|
|
892
|
+
sig { returns(T::Boolean) }
|
|
893
|
+
def enum? = false
|
|
894
|
+
sig { returns(T::Boolean) }
|
|
895
|
+
def module? = false
|
|
896
|
+
sig { returns(T::Boolean) }
|
|
897
|
+
def other? = true
|
|
898
|
+
# @param hash [Hash] deserialized from the native extension
|
|
899
|
+
# @return [self]
|
|
900
|
+
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
901
|
+
def self.from_hash(hash)
|
|
902
|
+
new(value: hash[:value] || hash["value"])
|
|
903
|
+
end
|
|
904
|
+
end
|
|
905
|
+
end
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:76f3bac7536fa4e5b8ab9a93be197508306d06b566fe7cc519a38c1b9ebf9f42
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify --exit-code
|
|
5
5
|
# frozen_string_literal: true
|
|
6
6
|
|
|
7
7
|
module TreeSitterLanguagePack
|
|
8
8
|
## The version string for this package.
|
|
9
|
-
VERSION = "1.9.0.pre.rc.
|
|
9
|
+
VERSION = "1.9.0.pre.rc.34"
|
|
10
10
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:76f3bac7536fa4e5b8ab9a93be197508306d06b566fe7cc519a38c1b9ebf9f42
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify --exit-code
|
|
5
5
|
# frozen_string_literal: true
|
data/sig/types.rbs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:76f3bac7536fa4e5b8ab9a93be197508306d06b566fe7cc519a38c1b9ebf9f42
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify --exit-code
|
|
5
5
|
|