summaryrefslogtreecommitdiffstats
path: root/lib/parse/includer.js
blob: f7f20e05f1fb8843eaa6cbca005b9c9e469c2009 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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];
    }
};