Skip to content

Commit dc48745

Browse files
authored
Merge pull request #3 from lukepistrol/main
[feat]: Added java language support
2 parents 806c2a6 + e00dab5 commit dc48745

File tree

7 files changed

+29
-0
lines changed

7 files changed

+29
-0
lines changed

Package.resolved

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ let package = Package(
1818
.package(url: "https://github.com/mattmassicotte/tree-sitter-go.git", branch: "feature/swift"),
1919
.package(url: "https://github.com/camdencheek/tree-sitter-go-mod.git", branch: "main"),
2020
.package(url: "https://github.com/mattmassicotte/tree-sitter-html.git", branch: "feature/spm"),
21+
.package(url: "https://github.com/lukepistrol/tree-sitter-java.git", branch: "feature/spm"),
2122
.package(url: "https://github.com/mattmassicotte/tree-sitter-json.git", branch: "feature/spm"),
2223
.package(url: "https://github.com/lukepistrol/tree-sitter-python.git", branch: "feature/spm"),
2324
.package(url: "https://github.com/mattmassicotte/tree-sitter-ruby.git", branch: "feature/swift"),
@@ -33,6 +34,7 @@ let package = Package(
3334
.product(name: "TreeSitterGo", package: "tree-sitter-go"),
3435
.product(name: "TreeSitterGoMod", package: "tree-sitter-go-mod"),
3536
.product(name: "TreeSitterHTML", package: "tree-sitter-html"),
37+
.product(name: "TreeSitterJava", package: "tree-sitter-java"),
3638
.product(name: "TreeSitterJSON", package: "tree-sitter-json"),
3739
.product(name: "TreeSitterPython", package: "tree-sitter-python"),
3840
.product(name: "TreeSitterRuby", package: "tree-sitter-ruby"),

Sources/CodeEditTextView/CodeLanguage/CodeLanguage.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import SwiftTreeSitter
1212
import TreeSitterGo
1313
import TreeSitterGoMod
1414
import TreeSitterHTML
15+
import TreeSitterJava
1516
import TreeSitterJSON
1617
import TreeSitterPython
1718
import TreeSitterRuby
@@ -58,6 +59,8 @@ public struct CodeLanguage {
5859
return tree_sitter_gomod()
5960
case .html:
6061
return tree_sitter_html()
62+
case .java:
63+
return tree_sitter_java()
6164
case .json:
6265
return tree_sitter_json()
6366
case .python:
@@ -105,6 +108,7 @@ public extension CodeLanguage {
105108
.go,
106109
.goMod,
107110
.html,
111+
.java,
108112
.json,
109113
.python,
110114
.ruby,
@@ -121,6 +125,9 @@ public extension CodeLanguage {
121125
/// A ``CodeLanguage`` structure for `HTML`
122126
static let html: CodeLanguage = .init(id: .html, displayName: "HTML", extensions: ["html", "htm"])
123127

128+
/// A ``CodeLanguage`` structure for `JSON`
129+
static let java: CodeLanguage = .init(id: .java, displayName: "Java", extensions: ["java"])
130+
124131
/// A ``CodeLanguage`` structure for `JSON`
125132
static let json: CodeLanguage = .init(id: .json, displayName: "JSON", extensions: ["json"])
126133

Sources/CodeEditTextView/CodeLanguage/TreeSitterLanguage.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public enum TreeSitterLanguage: String {
1212
case go
1313
case goMod
1414
case html
15+
case java
1516
case json
1617
case python
1718
case ruby

Sources/CodeEditTextView/CodeLanguage/TreeSitterModel.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public class TreeSitterModel {
2525
return goModQuery
2626
case .html:
2727
return htmlQuery
28+
case .java:
29+
return javaQuery
2830
case .json:
2931
return jsonQuery
3032
case .python:
@@ -55,6 +57,11 @@ public class TreeSitterModel {
5557
return queryFor(.html)
5658
}()
5759

60+
/// Query for `Java` files.
61+
public lazy var javaQuery: Query? = {
62+
return queryFor(.java)
63+
}()
64+
5865
/// Query for `JSON` files.
5966
public lazy var jsonQuery: Query? = {
6067
return queryFor(.json)

Sources/CodeEditTextView/Documentation.docc/CodeLanguage.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ let language = CodeLanguage.detectLanguageFrom(url: fileURL)
2121

2222
- Go
2323
- HTML
24+
- Java
2425
- JSON
2526
- Python
2627
- Ruby
@@ -44,6 +45,7 @@ let language = CodeLanguage.detectLanguageFrom(url: fileURL)
4445
- ``go``
4546
- ``goMod``
4647
- ``html``
48+
- ``java``
4749
- ``json``
4850
- ``python``
4951
- ``ruby``

Sources/CodeEditTextView/Documentation.docc/TreeSitterModel.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ let query = TreeSitterModel.shared.swiftQuery
3535
- ``goQuery``
3636
- ``goModQuery``
3737
- ``htmlQuery``
38+
- ``javaQuery``
3839
- ``jsonQuery``
3940
- ``pythonQuery``
4041
- ``rubyQuery``

0 commit comments

Comments
 (0)