diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2018-03-27 19:57:35 +0300 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2018-03-27 19:57:35 +0300 |
| commit | 1a7bfab6a74ef3001c619891970818f2dcb434ea (patch) | |
| tree | a7c5d54c4f57576b7fb7fa525a970eb6af37fcb0 /generator | |
| parent | 1defb9b10928fbd4b7b3c94dbab8432a83e9e9cd (diff) | |
| download | nimpb-1a7bfab6a74ef3001c619891970818f2dcb434ea.tar.gz nimpb-1a7bfab6a74ef3001c619891970818f2dcb434ea.zip | |
Support imports
Diffstat (limited to 'generator')
| -rw-r--r-- | generator/protoc_gen_nim.nim | 10 |
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") |
