Skip to content

Commit c2ef861

Browse files
authored
Add TOML Grammar (#48)
* Add TOML Grammar * Fix tomlQuery
1 parent aa7d922 commit c2ef861

File tree

13 files changed

+101
-1
lines changed

13 files changed

+101
-1
lines changed

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
6CA62EAB29F9D36700785B11 /* TreeSitterTSX in Frameworks */ = {isa = PBXBuildFile; productRef = 6CA62EAA29F9D36700785B11 /* TreeSitterTSX */; };
3939
6CEC70FE29C3A85000B61C7A /* TreeSitterRegex in Frameworks */ = {isa = PBXBuildFile; productRef = 6CEC70FD29C3A85000B61C7A /* TreeSitterRegex */; };
4040
7DB18E9729FDC51C00F8EC00 /* TreeSitterScala in Frameworks */ = {isa = PBXBuildFile; productRef = 7DB18E9629FDC51C00F8EC00 /* TreeSitterScala */; };
41+
9D0F66222A3F522700E0F4B7 /* TreeSitterTOML in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0F66212A3F522700E0F4B7 /* TreeSitterTOML */; };
4142
9D6E74512A2B9B2A0070701E /* TreeSitterOCaml in Frameworks */ = {isa = PBXBuildFile; productRef = 9D6E74502A2B9B2A0070701E /* TreeSitterOCaml */; };
4243
9DB1B4362A2C0DAA0027B04E /* TreeSitterJSDoc in Frameworks */ = {isa = PBXBuildFile; productRef = 9DB1B4352A2C0DAA0027B04E /* TreeSitterJSDoc */; };
4344
9DFDC3662A02D9BE0023B3BC /* TreeSitterMarkdown in Frameworks */ = {isa = PBXBuildFile; productRef = 9DFDC3652A02D9BE0023B3BC /* TreeSitterMarkdown */; };
@@ -69,6 +70,7 @@
6970
28B3F03C290C363E000CD04D /* TreeSitterGo in Frameworks */,
7071
7DB18E9729FDC51C00F8EC00 /* TreeSitterScala in Frameworks */,
7172
28B3F05D290C3709000CD04D /* TreeSitterSwift in Frameworks */,
73+
9D0F66222A3F522700E0F4B7 /* TreeSitterTOML in Frameworks */,
7274
28B9F7AA290DDAC900245748 /* TreeSitterBash in Frameworks */,
7375
28B3F030290C35F9000CD04D /* TreeSitterCPP in Frameworks */,
7476
28B3F04E290C3698000CD04D /* TreeSitterJSON in Frameworks */,
@@ -196,6 +198,7 @@
196198
9DFDC3652A02D9BE0023B3BC /* TreeSitterMarkdown */,
197199
9D6E74502A2B9B2A0070701E /* TreeSitterOCaml */,
198200
9DB1B4352A2C0DAA0027B04E /* TreeSitterJSDoc */,
201+
9D0F66212A3F522700E0F4B7 /* TreeSitterTOML */,
199202
);
200203
productName = "CodeLanguages-Container";
201204
productReference = 28B3F00C290C207D000CD04D /* CodeLanguages_Container.framework */;
@@ -258,6 +261,7 @@
258261
9DFDC3642A02D9BE0023B3BC /* XCRemoteSwiftPackageReference "tree-sitter-markdown" */,
259262
9D6E744F2A2B9B2A0070701E /* XCRemoteSwiftPackageReference "tree-sitter-ocaml" */,
260263
9DB1B4342A2C0DA90027B04E /* XCRemoteSwiftPackageReference "tree-sitter-jsdoc" */,
264+
9D0F66202A3F522700E0F4B7 /* XCRemoteSwiftPackageReference "tree-sitter-toml" */,
261265
);
262266
productRefGroup = 28B3F00D290C207D000CD04D /* Products */;
263267
projectDirPath = "";
@@ -739,6 +743,14 @@
739743
kind = branch;
740744
};
741745
};
746+
9D0F66202A3F522700E0F4B7 /* XCRemoteSwiftPackageReference "tree-sitter-toml" */ = {
747+
isa = XCRemoteSwiftPackageReference;
748+
repositoryURL = "https://github.com/cengelbart39/tree-sitter-toml.git";
749+
requirement = {
750+
branch = feature/spm;
751+
kind = branch;
752+
};
753+
};
742754
9D6E744F2A2B9B2A0070701E /* XCRemoteSwiftPackageReference "tree-sitter-ocaml" */ = {
743755
isa = XCRemoteSwiftPackageReference;
744756
repositoryURL = "https://github.com/tree-sitter/tree-sitter-ocaml.git";
@@ -916,6 +928,11 @@
916928
package = 7DB18E9529FDC51C00F8EC00 /* XCRemoteSwiftPackageReference "tree-sitter-scala" */;
917929
productName = TreeSitterScala;
918930
};
931+
9D0F66212A3F522700E0F4B7 /* TreeSitterTOML */ = {
932+
isa = XCSwiftPackageProductDependency;
933+
package = 9D0F66202A3F522700E0F4B7 /* XCRemoteSwiftPackageReference "tree-sitter-toml" */;
934+
productName = TreeSitterTOML;
935+
};
919936
9D6E74502A2B9B2A0070701E /* TreeSitterOCaml */ = {
920937
isa = XCSwiftPackageProductDependency;
921938
package = 9D6E744F2A2B9B2A0070701E /* XCRemoteSwiftPackageReference "tree-sitter-ocaml" */;

CodeLanguages-Container/CodeLanguages-Container.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/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.

CodeLanguages-Container/CodeLanguages-Container/CodeLanguages_Container.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ extern TSLanguage *tree_sitter_rust();
5353
extern TSLanguage *tree_sitter_scala();
5454
extern TSLanguage *tree_sitter_sql();
5555
extern TSLanguage *tree_sitter_swift();
56+
extern TSLanguage *tree_sitter_toml();
5657
extern TSLanguage *tree_sitter_tsx();
5758
extern TSLanguage *tree_sitter_typescript();
5859
extern TSLanguage *tree_sitter_yaml();
121 KB
Binary file not shown.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ In order to add support for additional languages we have a complete guide on how
8080
| [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) |||
83-
| [TOML](https://github.com/ikatyang/tree-sitter-toml) | | |
83+
| [TOML](https://github.com/cengelbart39/tree-sitter-toml/tree/feature/spm) | | |
8484
| [TypeScript/TSX](https://github.com/tree-sitter/tree-sitter-typescript) |||
8585
| [Verilog](https://github.com/tree-sitter/tree-sitter-verilog) | | _not available_ |
8686
| [YAML](https://github.com/lukepistrol/tree-sitter-yaml/tree/feature/spm) |||

Sources/CodeEditLanguages/CodeLanguage+Definitions.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public extension CodeLanguage {
4343
.scala,
4444
.sql,
4545
.swift,
46+
.toml,
4647
.tsx,
4748
.typescript,
4849
.yaml,
@@ -286,6 +287,13 @@ public extension CodeLanguage {
286287
extensions: ["swift"]
287288
)
288289

290+
/// A language structure for `TOML`
291+
static let toml: CodeLanguage = .init(
292+
id: .toml,
293+
tsName: "toml",
294+
extensions: ["toml"]
295+
)
296+
289297
/// A language structure for `TSX`
290298
static let tsx: CodeLanguage = .init(
291299
id: .tsx,

Sources/CodeEditLanguages/CodeLanguage.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@ public struct CodeLanguage {
136136
return tree_sitter_sql()
137137
case .swift:
138138
return tree_sitter_swift()
139+
case .toml:
140+
return tree_sitter_toml()
139141
case .tsx:
140142
return tree_sitter_tsx()
141143
case .typescript:

Sources/CodeEditLanguages/Documentation.docc/CodeLanguage.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ let language = CodeLanguage.detectLanguageFrom(url: fileURL)
4747
- Scala
4848
- SQL
4949
- Swift
50+
- TOML
5051
- YAML
5152
- Zig
5253

@@ -100,6 +101,7 @@ let language = CodeLanguage.detectLanguageFrom(url: fileURL)
100101
- ``scala``
101102
- ``sql``
102103
- ``swift``
104+
- ``toml``
103105
- ``yaml``
104106
- ``zig``
105107

Sources/CodeEditLanguages/Documentation.docc/TreeSitterModel.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,6 @@ let query = TreeSitterModel.shared.swiftQuery
6363
- ``scalaQuery``
6464
- ``sqlQuery``
6565
- ``swiftQuery``
66+
- ``tomlQuery``
6667
- ``yamlQuery``
6768
- ``zigQuery``
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
; Properties
2+
;-----------
3+
4+
(bare_key) @property
5+
(quoted_key) @string
6+
7+
; Literals
8+
;---------
9+
10+
(boolean) @constant.builtin
11+
(comment) @comment
12+
(string) @string
13+
(integer) @number
14+
(float) @number
15+
(offset_date_time) @string.special
16+
(local_date_time) @string.special
17+
(local_date) @string.special
18+
(local_time) @string.special
19+
20+
; Punctuation
21+
;------------
22+
23+
"." @punctuation.delimiter
24+
"," @punctuation.delimiter
25+
26+
"=" @operator
27+
28+
"[" @punctuation.bracket
29+
"]" @punctuation.bracket
30+
"[[" @punctuation.bracket
31+
"]]" @punctuation.bracket
32+
"{" @punctuation.bracket
33+
"}" @punctuation.bracket

0 commit comments

Comments
 (0)