Skip to content

Commit 4498747

Browse files
committed
added elixir language support
1 parent 5a86cd2 commit 4498747

4 files changed

Lines changed: 17 additions & 0 deletions

File tree

Package.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ let package = Package(
2020
.package(url: "https://github.com/tree-sitter/tree-sitter-cpp.git", branch: "master"),
2121
.package(url: "https://github.com/tree-sitter/tree-sitter-c-sharp.git", branch: "master"),
2222
.package(url: "https://github.com/lukepistrol/tree-sitter-css.git", branch: "feature/spm"),
23+
.package(url: "https://github.com/elixir-lang/tree-sitter-elixir.git", branch: "main"),
2324
.package(url: "https://github.com/tree-sitter/tree-sitter-go.git", branch: "master"),
2425
.package(url: "https://github.com/camdencheek/tree-sitter-go-mod.git", branch: "main"),
2526
.package(url: "https://github.com/mattmassicotte/tree-sitter-html.git", branch: "feature/spm"),
@@ -45,6 +46,7 @@ let package = Package(
4546
.product(name: "TreeSitterCPP", package: "tree-sitter-cpp"),
4647
.product(name: "TreeSitterCSharp", package: "tree-sitter-c-sharp"),
4748
.product(name: "TreeSitterCSS", package: "tree-sitter-css"),
49+
.product(name: "TreeSitterElixir", package: "tree-sitter-elixir"),
4850
.product(name: "TreeSitterGo", package: "tree-sitter-go"),
4951
.product(name: "TreeSitterGoMod", package: "tree-sitter-go-mod"),
5052
.product(name: "TreeSitterHTML", package: "tree-sitter-html"),

Sources/CodeEditTextView/CodeLanguage/CodeLanguage.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import TreeSitterC
1414
import TreeSitterCPP
1515
import TreeSitterCSharp
1616
import TreeSitterCSS
17+
import TreeSitterElixir
1718
import TreeSitterGo
1819
import TreeSitterGoMod
1920
import TreeSitterHTML
@@ -92,6 +93,8 @@ public struct CodeLanguage {
9293
return tree_sitter_c_sharp()
9394
case .css:
9495
return tree_sitter_css()
96+
case .elixir:
97+
return tree_sitter_elixir()
9598
case .go:
9699
return tree_sitter_go()
97100
case .goMod:
@@ -152,6 +155,7 @@ public extension CodeLanguage {
152155
.cpp,
153156
.cSharp,
154157
.css,
158+
.elixir,
155159
.go,
156160
.goMod,
157161
.html,
@@ -186,6 +190,9 @@ public extension CodeLanguage {
186190
/// A language structure for `CSS`
187191
static let css: CodeLanguage = .init(id: .css, tsName: "CSS", extensions: ["css"])
188192

193+
/// A language structure for `Elixir`
194+
static let elixir: CodeLanguage = .init(id: .elixir, tsName: "Elixir", extensions: ["ex", "exs"])
195+
189196
/// A language structure for `Go`
190197
static let go: CodeLanguage = .init(id: .go, tsName: "Go", extensions: ["go"])
191198

Sources/CodeEditTextView/CodeLanguage/TreeSitterLanguage.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public enum TreeSitterLanguage: String {
1414
case cpp
1515
case cSharp
1616
case css
17+
case elixir
1718
case go
1819
case goMod
1920
case html

Sources/CodeEditTextView/CodeLanguage/TreeSitterModel.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ public class TreeSitterModel {
3030
return cSharpQuery
3131
case .css:
3232
return cssQuery
33+
case .elixir:
34+
return elixirQuery
3335
case .go:
3436
return goQuery
3537
case .goMod:
@@ -88,6 +90,11 @@ public class TreeSitterModel {
8890
return queryFor(.css)
8991
}()
9092

93+
/// Query for `Elixir` files.
94+
public private(set) lazy var elixirQuery: Query? = {
95+
return queryFor(.elixir)
96+
}()
97+
9198
/// Query for `Go` files.
9299
public private(set) lazy var goQuery: Query? = {
93100
return queryFor(.go)

0 commit comments

Comments
 (0)