Fix for upstream tree-sitter changes

This commit is contained in:
Ganesh Viswanathan 2019-04-01 12:05:43 -05:00
commit da4d800fad
3 changed files with 16 additions and 10 deletions

View file

@ -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();
""")

View file

@ -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".}

View file

@ -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".}