diff options
| author | Ganesh Viswanathan <dev@genotrance.com> | 2019-04-01 12:05:43 -0500 |
|---|---|---|
| committer | Ganesh Viswanathan <dev@genotrance.com> | 2019-04-01 12:05:43 -0500 |
| commit | da4d800fade4d0559eb0a658fe02269edfe0ec12 (patch) | |
| tree | 72266af2bf73d40d5cba984a368183595b98a314 | |
| parent | 98352b889914e40b3838115a42e07d822e50d0d9 (diff) | |
| download | nimterop-da4d800fade4d0559eb0a658fe02269edfe0ec12.tar.gz nimterop-da4d800fade4d0559eb0a658fe02269edfe0ec12.zip | |
Fix for upstream tree-sitter changes
| -rw-r--r-- | nimterop/setup.nim | 10 | ||||
| -rw-r--r-- | nimterop/treesitter/c.nim | 8 | ||||
| -rw-r--r-- | nimterop/treesitter/cpp.nim | 8 |
3 files changed, 16 insertions, 10 deletions
diff --git a/nimterop/setup.nim b/nimterop/setup.nim index fceac88..e50a5ef 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/* +lib/include/tree_sitter/api.h lib/src/* """) @@ -24,13 +24,13 @@ proc treesitterCSetup*() = src/*.h src/*.c src/*.cc +src/tree_sitter/parser.h """) let - headerc = incDir() / "treesitter_c/src/parser.h" + headerc = incDir() / "treesitter_c/src/api.h" headerc.writeFile(""" -typedef struct TSLanguage TSLanguage; const TSLanguage *tree_sitter_c(); """) @@ -39,12 +39,12 @@ proc treesitterCppSetup*() = src/*.h src/*.c src/*.cc +src/tree_sitter/parser.h """) let - headercpp = incDir() / "treesitter_cpp/src/parser.h" + headercpp = incDir() / "treesitter_cpp/src/api.h" headercpp.writeFile(""" -typedef struct TSLanguage TSLanguage; const TSLanguage *tree_sitter_cpp(); """) diff --git a/nimterop/treesitter/c.nim b/nimterop/treesitter/c.nim index 0170a5d..86cb71a 100644 --- a/nimterop/treesitter/c.nim +++ b/nimterop/treesitter/c.nim @@ -5,8 +5,12 @@ import ".."/[setup, paths] static: treesitterCSetup() +const srcDir = incDir() / "treesitter_c/src" + +{.passC: "-I$1" % srcDir.} + import "."/api -{.compile: incDir() / "treesitter_c/src/parser.c".} +{.compile: srcDir / "parser.c".} -proc treeSitterC*(): ptr TSLanguage {.importc: "tree_sitter_c", header: incDir() / "treesitter_c/src/parser.h".} +proc treeSitterC*(): ptr TSLanguage {.importc: "tree_sitter_c", header: srcDir / "api.h".} diff --git a/nimterop/treesitter/cpp.nim b/nimterop/treesitter/cpp.nim index 296929f..90db000 100644 --- a/nimterop/treesitter/cpp.nim +++ b/nimterop/treesitter/cpp.nim @@ -5,10 +5,12 @@ import ".."/[setup, paths] static: treesitterCppSetup() -import "."/api - const srcDir = incDir() / "treesitter_cpp/src" +{.passC: "-I$1" % srcDir.} + +import "."/api + when (NimMajor, NimMinor, NimPatch) < (0, 19, 9): const srcDirRel = "../../build/inc/treesitter_cpp/src" else: @@ -31,4 +33,4 @@ that we link against, which avoids the linker hack. {.compile: srcDir / "scanner.cc".} -proc treeSitterCpp*(): ptr TSLanguage {.importc: "tree_sitter_cpp", header: srcDir / "parser.h".} +proc treeSitterCpp*(): ptr TSLanguage {.importc: "tree_sitter_cpp", header: srcDir / "api.h".} |
