blob: 8f2388b5fb1071345249346f2b5a59e777d31084 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
var Immutable = require('immutable');
var parsers = require('../parsers');
/**
Return a list of all shortcuts that can apply
to a file for a TemplatEngine
@param {TemplateEngine} engine
@param {String} filePath
@return {List<Shortcut>}
*/
function listShortcuts(engine, filePath) {
var blocks = engine.getBlocks();
var parser = parsers.getForFile(filePath);
if (!parser) {
return Immutable.List();
}
return blocks
.map(function(block) {
var shortcuts = block.getShortcuts();
return shortcuts.filter(function(shortcut) {
var parsers = shortcut.get('parsers');
return parsers.includes(parser.name);
});
})
.flatten(1);
}
module.exports = listShortcuts;
|