diff options
Diffstat (limited to 'lib/parse/includer.js')
-rw-r--r-- | lib/parse/includer.js | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/parse/includer.js b/lib/parse/includer.js new file mode 100644 index 0000000..f7f20e0 --- /dev/null +++ b/lib/parse/includer.js @@ -0,0 +1,15 @@ +// Return a fs inclduer +module.exports = function(ctx, folders, resolveFile, readFile) { + return function(name) { + return ctx[name] || + folders.map(function(folder) { + // Try including snippet from FS + try { + var fname = resolveFile(folder, name); + // Trim trailing newlines/space of imported snippets + return readFile(fname, 'utf8').trimRight(); + } catch(err) {} + }) + .filter(Boolean)[0]; + } +}; |