diff options
| author | Ganesh Viswanathan <dev@genotrance.com> | 2019-04-01 16:57:28 -0500 |
|---|---|---|
| committer | Ganesh Viswanathan <dev@genotrance.com> | 2019-04-01 16:57:28 -0500 |
| commit | cc1cbb459c0e725a038df449ff265c484b4086c0 (patch) | |
| tree | 80d82ce0136cb1b8b8c0ccb70d0de13b7df8193e | |
| parent | 50f4d73db92d78474c66f2e7aebdb7cb8c7f4eef (diff) | |
| download | nimterop-cc1cbb459c0e725a038df449ff265c484b4086c0.tar.gz nimterop-cc1cbb459c0e725a038df449ff265c484b4086c0.zip | |
Fix for parser.h
| -rw-r--r-- | nimterop/setup.nim | 17 | ||||
| -rw-r--r-- | nimterop/treesitter/c.nim | 4 |
2 files changed, 16 insertions, 5 deletions
diff --git a/nimterop/setup.nim b/nimterop/setup.nim index e50a5ef..2e436cb 100644 --- a/nimterop/setup.nim +++ b/nimterop/setup.nim @@ -4,7 +4,7 @@ import "."/[git, paths] proc treesitterSetup*() = gitPull("https://github.com/tree-sitter/tree-sitter/", incDir() / "treesitter", """ -lib/include/tree_sitter/api.h +lib/include/* lib/src/* """) @@ -13,12 +13,23 @@ lib/src/* *.h """) - # TODO: does this work on windows? if not use `os.unixToNativePath` let - stack = incDir() / "treesitter/lib/src/stack.c" + tbase = incDir() / "treesitter/lib" + stack = tbase / "src/stack.c" + parser = tbase / "include/tree_sitter/parser.h" + tparser = parser.replace("parser", "tparser") + language = tbase / "src/language.h" + lexer = tbase / "src/lexer.h" + subtree = tbase / "src/subtree.h" stack.writeFile(stack.readFile().replace("inline Stack", "Stack")) + # parser.h + mvFile(parser, tparser) + language.writeFile(language.readFile().replace("parser.h", "tparser.h")) + lexer.writeFile(lexer.readFile().replace("parser.h", "tparser.h")) + subtree.writeFile(subtree.readFile().replace("parser.h", "tparser.h")) + proc treesitterCSetup*() = gitPull("https://github.com/tree-sitter/tree-sitter-c", incDir() / "treesitter_c", """ src/*.h diff --git a/nimterop/treesitter/c.nim b/nimterop/treesitter/c.nim index 86cb71a..a39ee65 100644 --- a/nimterop/treesitter/c.nim +++ b/nimterop/treesitter/c.nim @@ -7,10 +7,10 @@ static: const srcDir = incDir() / "treesitter_c/src" -{.passC: "-I$1" % srcDir.} - import "."/api +{.passC: "-I$1" % srcDir.} + {.compile: srcDir / "parser.c".} proc treeSitterC*(): ptr TSLanguage {.importc: "tree_sitter_c", header: srcDir / "api.h".} |
