Skip to content

Commit 4707baa

Browse files
authored
Add Scala grammar (#39)
* [feat]: Add Scala language grammar * add tests and update documentation
1 parent 016b0e8 commit 4707baa

File tree

14 files changed

+359
-1
lines changed

14 files changed

+359
-1
lines changed

CodeLanguages-Container/CodeLanguages-Container.xcodeproj/project.pbxproj

+17
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
6CA62EA929F9D36700785B11 /* TreeSitterTS in Frameworks */ = {isa = PBXBuildFile; productRef = 6CA62EA829F9D36700785B11 /* TreeSitterTS */; };
3838
6CA62EAB29F9D36700785B11 /* TreeSitterTSX in Frameworks */ = {isa = PBXBuildFile; productRef = 6CA62EAA29F9D36700785B11 /* TreeSitterTSX */; };
3939
6CEC70FE29C3A85000B61C7A /* TreeSitterRegex in Frameworks */ = {isa = PBXBuildFile; productRef = 6CEC70FD29C3A85000B61C7A /* TreeSitterRegex */; };
40+
7DB18E9729FDC51C00F8EC00 /* TreeSitterScala in Frameworks */ = {isa = PBXBuildFile; productRef = 7DB18E9629FDC51C00F8EC00 /* TreeSitterScala */; };
4041
9D6DA3B8298F1A4600E69066 /* TreeSitterOCaml in Frameworks */ = {isa = PBXBuildFile; productRef = 9D6DA3B7298F1A4600E69066 /* TreeSitterOCaml */; };
4142
/* End PBXBuildFile section */
4243

@@ -61,6 +62,7 @@
6162
28B3F02D290C35D9000CD04D /* TreeSitterC in Frameworks */,
6263
28B3F04B290C368B000CD04D /* TreeSitterJS in Frameworks */,
6364
28B3F03C290C363E000CD04D /* TreeSitterGo in Frameworks */,
65+
7DB18E9729FDC51C00F8EC00 /* TreeSitterScala in Frameworks */,
6466
28B3F05D290C3709000CD04D /* TreeSitterSwift in Frameworks */,
6567
28B9F7AA290DDAC900245748 /* TreeSitterBash in Frameworks */,
6668
28B3F030290C35F9000CD04D /* TreeSitterCPP in Frameworks */,
@@ -187,6 +189,7 @@
187189
28AAB6AD29CA57D40087654B /* TreeSitterDart */,
188190
6CA62EA829F9D36700785B11 /* TreeSitterTS */,
189191
6CA62EAA29F9D36700785B11 /* TreeSitterTSX */,
192+
7DB18E9629FDC51C00F8EC00 /* TreeSitterScala */,
190193
);
191194
productName = "CodeLanguages-Container";
192195
productReference = 28B3F00C290C207D000CD04D /* CodeLanguages_Container.framework */;
@@ -246,6 +249,7 @@
246249
6CEC70FC29C3A85000B61C7A /* XCRemoteSwiftPackageReference "tree-sitter-regex" */,
247250
28AAB6AC29CA57D40087654B /* XCRemoteSwiftPackageReference "tree-sitter-dart" */,
248251
6CA62EA729F9D36700785B11 /* XCRemoteSwiftPackageReference "tree-sitter-typescript" */,
252+
7DB18E9529FDC51C00F8EC00 /* XCRemoteSwiftPackageReference "tree-sitter-scala" */,
249253
);
250254
productRefGroup = 28B3F00D290C207D000CD04D /* Products */;
251255
projectDirPath = "";
@@ -719,6 +723,14 @@
719723
kind = branch;
720724
};
721725
};
726+
7DB18E9529FDC51C00F8EC00 /* XCRemoteSwiftPackageReference "tree-sitter-scala" */ = {
727+
isa = XCRemoteSwiftPackageReference;
728+
repositoryURL = "https://github.com/bishabosha/tree-sitter-scala.git";
729+
requirement = {
730+
branch = feature/spm;
731+
kind = branch;
732+
};
733+
};
722734
9D6DA3B6298F1A4500E69066 /* XCRemoteSwiftPackageReference "tree-sitter-ocaml" */ = {
723735
isa = XCRemoteSwiftPackageReference;
724736
repositoryURL = "https://github.com/cengelbart39/tree-sitter-ocaml.git";
@@ -875,6 +887,11 @@
875887
package = 6CEC70FC29C3A85000B61C7A /* XCRemoteSwiftPackageReference "tree-sitter-regex" */;
876888
productName = TreeSitterRegex;
877889
};
890+
7DB18E9629FDC51C00F8EC00 /* TreeSitterScala */ = {
891+
isa = XCSwiftPackageProductDependency;
892+
package = 7DB18E9529FDC51C00F8EC00 /* XCRemoteSwiftPackageReference "tree-sitter-scala" */;
893+
productName = TreeSitterScala;
894+
};
878895
9D6DA3B7298F1A4600E69066 /* TreeSitterOCaml */ = {
879896
isa = XCSwiftPackageProductDependency;
880897
package = 9D6DA3B6298F1A4500E69066 /* XCRemoteSwiftPackageReference "tree-sitter-ocaml" */;

CodeLanguages-Container/CodeLanguages-Container.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

+9
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,15 @@
225225
"revision" : "fbf9e507d09d8b3c0bb9dfc4d46c31039a47dc4a"
226226
}
227227
},
228+
{
229+
"identity" : "tree-sitter-scala",
230+
"kind" : "remoteSourceControl",
231+
"location" : "https://github.com/bishabosha/tree-sitter-scala.git",
232+
"state" : {
233+
"branch" : "feature/spm",
234+
"revision" : "d6e510497d9a16fa8e45f71908c21271566f63df"
235+
}
236+
},
228237
{
229238
"identity" : "tree-sitter-sql",
230239
"kind" : "remoteSourceControl",

CodeLanguages-Container/CodeLanguages-Container/CodeLanguages_Container.h

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ extern TSLanguage *tree_sitter_python();
4747
extern TSLanguage *tree_sitter_regex();
4848
extern TSLanguage *tree_sitter_ruby();
4949
extern TSLanguage *tree_sitter_rust();
50+
extern TSLanguage *tree_sitter_scala();
5051
extern TSLanguage *tree_sitter_sql();
5152
extern TSLanguage *tree_sitter_swift();
5253
extern TSLanguage *tree_sitter_tsx();
7.37 MB
Binary file not shown.

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ In order to add support for additional languages we have a complete guide on how
7777
| [Regex](https://github.com/tree-sitter/tree-sitter-regex) |||
7878
| [Ruby](https://github.com/mattmassicotte/tree-sitter-ruby) |||
7979
| [Rust](https://github.com/tree-sitter/tree-sitter-rust) |||
80-
| [Scala](https://github.com/tree-sitter/tree-sitter-scala) | | |
80+
| [Scala](https://github.com/tree-sitter/tree-sitter-scala) | | |
8181
| [Sql](https://github.com/lukepistrol/tree-sitter-sql/tree/feature/spm) |||
8282
| [Swift](https://github.com/alex-pinkus/tree-sitter-swift/tree/with-generated-files) |||
8383
| [TOML](https://github.com/ikatyang/tree-sitter-toml) | | |

Sources/CodeEditLanguages/CodeLanguage+Definitions.swift

+8
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public extension CodeLanguage {
3737
.regex,
3838
.ruby,
3939
.rust,
40+
.scala,
4041
.sql,
4142
.swift,
4243
.tsx,
@@ -236,6 +237,13 @@ public extension CodeLanguage {
236237
highlights: ["injections"]
237238
)
238239

240+
/// A language structure for `Scala`
241+
static let scala: CodeLanguage = .init(
242+
id: .scala,
243+
tsName: "scala",
244+
extensions: ["scala", "sc"]
245+
)
246+
239247
/// A language structure for `SQL`
240248
static let sql: CodeLanguage = .init(
241249
id: .sql,

Sources/CodeEditLanguages/CodeLanguage.swift

+2
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ public struct CodeLanguage {
118118
return tree_sitter_ruby()
119119
case .rust:
120120
return tree_sitter_rust()
121+
case .scala:
122+
return tree_sitter_scala()
121123
case .sql:
122124
return tree_sitter_sql()
123125
case .swift:

Sources/CodeEditLanguages/Documentation.docc/CodeLanguage.md

+2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ let language = CodeLanguage.detectLanguageFrom(url: fileURL)
4343
- Python
4444
- Ruby
4545
- Rust
46+
- Scala
4647
- SQL
4748
- Swift
4849
- YAML
@@ -92,6 +93,7 @@ let language = CodeLanguage.detectLanguageFrom(url: fileURL)
9293
- ``python``
9394
- ``ruby``
9495
- ``rust``
96+
- ``scala``
9597
- ``sql``
9698
- ``swift``
9799
- ``yaml``

Sources/CodeEditLanguages/Documentation.docc/TreeSitterModel.md

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ let query = TreeSitterModel.shared.swiftQuery
5757
- ``pythonQuery``
5858
- ``rubyQuery``
5959
- ``rustQuery``
60+
- ``scalaQuery``
6061
- ``sqlQuery``
6162
- ``swiftQuery``
6263
- ``yamlQuery``

0 commit comments

Comments
 (0)