aboutsummaryrefslogtreecommitdiff
path: root/generator
diff options
context:
space:
mode:
authorOskari Timperi <oskari.timperi@iki.fi>2018-03-27 19:57:35 +0300
committerOskari Timperi <oskari.timperi@iki.fi>2018-03-27 19:57:35 +0300
commit1a7bfab6a74ef3001c619891970818f2dcb434ea (patch)
treea7c5d54c4f57576b7fb7fa525a970eb6af37fcb0 /generator
parent1defb9b10928fbd4b7b3c94dbab8432a83e9e9cd (diff)
downloadnimpb-1a7bfab6a74ef3001c619891970818f2dcb434ea.tar.gz
nimpb-1a7bfab6a74ef3001c619891970818f2dcb434ea.zip
Support imports
Diffstat (limited to 'generator')
-rw-r--r--generator/protoc_gen_nim.nim10
1 files changed, 8 insertions, 2 deletions
diff --git a/generator/protoc_gen_nim.nim b/generator/protoc_gen_nim.nim
index 6d8f192..8b38815 100644
--- a/generator/protoc_gen_nim.nim
+++ b/generator/protoc_gen_nim.nim
@@ -267,8 +267,6 @@ proc processFile(filename: string, fdesc: FileDescriptorProto,
log(&"processing {filename}: {pbfilename}")
- # TODO: handle file dependencies
-
new(result)
result.name = pbfilename
result.data = ""
@@ -282,6 +280,14 @@ proc processFile(filename: string, fdesc: FileDescriptorProto,
addLine(result.data, "import protobuf/types")
addLine(result.data, "")
+ for dep in fdesc.dependency:
+ var (dir, depname, _) = splitFile(dep)
+ var deppbname = (dir / depname) & "_pb"
+ addLine(result.data, &"import {deppbname}")
+
+ if hasDependency(fdesc):
+ addLine(result.data, "")
+
let parsed = parseFile(filename, fdesc)
addLine(result.data, "const")