aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGanesh Viswanathan <dev@genotrance.com>2019-02-06 18:13:58 -0600
committerGanesh Viswanathan <dev@genotrance.com>2019-02-06 18:13:58 -0600
commit7bc619e79dbe751c037c3d61983baed3a7bc64d9 (patch)
treec9c3d98ffb2e767205d7038ac81ca5d37dbcf7fa
parentb2d68ba84cb024b5577af3823359c51e771b294c (diff)
downloadnimterop-7bc619e79dbe751c037c3d61983baed3a7bc64d9.tar.gz
nimterop-7bc619e79dbe751c037c3d61983baed3a7bc64d9.zip
Rename tree-sitter runtime to api, add tsgen
-rw-r--r--nimterop/all.nim2
-rw-r--r--nimterop/ast.nim2
-rw-r--r--nimterop/astold.nim2
-rw-r--r--nimterop/getters.nim2
-rw-r--r--nimterop/globals.nim2
-rw-r--r--nimterop/grammar.nim2
-rw-r--r--nimterop/toast.nim2
-rw-r--r--nimterop/treesitter/api.nim (renamed from nimterop/treesitter/runtime.nim)0
-rw-r--r--nimterop/treesitter/c.nim2
-rw-r--r--nimterop/treesitter/cpp.nim2
-rw-r--r--nimterop/treesitter/tsgen.nim18
11 files changed, 27 insertions, 9 deletions
diff --git a/nimterop/all.nim b/nimterop/all.nim
index 87564e0..dd42c03 100644
--- a/nimterop/all.nim
+++ b/nimterop/all.nim
@@ -4,4 +4,4 @@ Module that should import everything so that `nim doc --project nimtero/all` run
# TODO: make sure it does import everything.
-import "."/[cimport,git,plugin]
+import "."/[cimport, git, types, plugin]
diff --git a/nimterop/ast.nim b/nimterop/ast.nim
index 94465a7..aede004 100644
--- a/nimterop/ast.nim
+++ b/nimterop/ast.nim
@@ -2,7 +2,7 @@ import os, sequtils, sets, strformat, strutils, tables, times
import regex
-import "."/[getters, globals, grammar, treesitter/runtime]
+import "."/[getters, globals, grammar, treesitter/api]
proc saveNodeData(node: TSNode, nimState: NimState): bool =
let name = $node.tsNodeType()
diff --git a/nimterop/astold.nim b/nimterop/astold.nim
index 069ecba..a0c5b93 100644
--- a/nimterop/astold.nim
+++ b/nimterop/astold.nim
@@ -1,6 +1,6 @@
import macros, os, strformat, strutils
-import treesitter/runtime
+import treesitter/api
import getters, globals
diff --git a/nimterop/getters.nim b/nimterop/getters.nim
index 7c42583..63836e3 100644
--- a/nimterop/getters.nim
+++ b/nimterop/getters.nim
@@ -2,7 +2,7 @@ import dynlib, macros, os, sequtils, sets, strformat, strutils, tables, times
import regex
-import "."/[git, globals, plugin, treesitter/runtime]
+import "."/[git, globals, plugin, treesitter/api]
const gReserved = """
addr and as asm
diff --git a/nimterop/globals.nim b/nimterop/globals.nim
index b959958..bdb29dc 100644
--- a/nimterop/globals.nim
+++ b/nimterop/globals.nim
@@ -5,7 +5,7 @@ import regex
import "."/plugin
when not declared(CIMPORT):
- import "."/treesitter/runtime
+ import "."/treesitter/api
const
gAtoms {.used.} = @[
diff --git a/nimterop/grammar.nim b/nimterop/grammar.nim
index 510cc7c..3895aa1 100644
--- a/nimterop/grammar.nim
+++ b/nimterop/grammar.nim
@@ -2,7 +2,7 @@ import macros, sets, strformat, strutils, tables
import regex
-import "."/[getters, globals, lisp, treesitter/runtime]
+import "."/[getters, globals, lisp, treesitter/api]
type
Grammar = seq[tuple[grammar: string, call: proc(ast: ref Ast, node: TSNode, nimState: NimState) {.nimcall.}]]
diff --git a/nimterop/toast.nim b/nimterop/toast.nim
index 9221802..e3651a0 100644
--- a/nimterop/toast.nim
+++ b/nimterop/toast.nim
@@ -1,6 +1,6 @@
import os, strformat, strutils
-import "."/treesitter/[runtime, c, cpp]
+import "."/treesitter/[api, c, cpp]
import "."/[ast, globals, getters, grammar]
diff --git a/nimterop/treesitter/runtime.nim b/nimterop/treesitter/api.nim
index 62ebe3b..62ebe3b 100644
--- a/nimterop/treesitter/runtime.nim
+++ b/nimterop/treesitter/api.nim
diff --git a/nimterop/treesitter/c.nim b/nimterop/treesitter/c.nim
index f34eaf9..0170a5d 100644
--- a/nimterop/treesitter/c.nim
+++ b/nimterop/treesitter/c.nim
@@ -5,7 +5,7 @@ import ".."/[setup, paths]
static:
treesitterCSetup()
-import "."/runtime
+import "."/api
{.compile: incDir() / "treesitter_c/src/parser.c".}
diff --git a/nimterop/treesitter/cpp.nim b/nimterop/treesitter/cpp.nim
index 7fc0b13..296929f 100644
--- a/nimterop/treesitter/cpp.nim
+++ b/nimterop/treesitter/cpp.nim
@@ -5,7 +5,7 @@ import ".."/[setup, paths]
static:
treesitterCppSetup()
-import "."/runtime
+import "."/api
const srcDir = incDir() / "treesitter_cpp/src"
diff --git a/nimterop/treesitter/tsgen.nim b/nimterop/treesitter/tsgen.nim
new file mode 100644
index 0000000..335f28f
--- /dev/null
+++ b/nimterop/treesitter/tsgen.nim
@@ -0,0 +1,18 @@
+# nim c tsgen.nim > temp.nim
+# Move temp.nim contents to api.nim below generated line + minor adjustments
+
+import os
+
+import nimterop/[cimport, paths]
+
+cPlugin:
+ import strutils
+
+ proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
+ if "_CRT" in sym.name:
+ sym.name = sym.name.strip(chars={'_'})
+
+static:
+ cDebug()
+
+cImport(incDir()/"treesitter/lib/include/tree_sitter/api.h") \ No newline at end of file