Fix for parser.h
This commit is contained in:
parent
50f4d73db9
commit
cc1cbb459c
2 changed files with 16 additions and 5 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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".}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue