Fix for parser.h

This commit is contained in:
Ganesh Viswanathan 2019-04-01 16:57:28 -05:00
commit cc1cbb459c
2 changed files with 16 additions and 5 deletions

View file

@ -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

View file

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