@codesnippets/codesnippets
Version:
Open source code snippets and examples.
49 lines (47 loc) • 1.54 kB
JavaScript
;
exports.__esModule = true;
exports.Language = void 0;
var path = require("path");
var snippet_1 = require("./snippet");
var Language = /** @class */ (function () {
/**
* Creates a new Language instance.
* @param name name of the language.
* @param shortName short name of the language, used for syntax highlighting
* @param files a list of files to use.
*/
function Language(name, obj) {
this.name = name;
this.obj = obj;
}
/**
* Searches for a Snippet.
* @param name the name of the snippet to search for
* @returns the snippet or undefined if no snippet was found.
*/
Language.prototype.getSnippet = function (name) {
if (this.obj[name]) {
return new snippet_1.Snippet(name, this, this.obj[name]);
}
/*
for (let file of this.files) {
let filename = path.basename(file).split('.');
if (filename[0] == name)
return new Snippet(file, filename[0]);
}*/
};
/**
* Returns a list of snippet names.
* @returns list of names
*/
Language.prototype.getSnippets = function () {
var snippetNames = [];
for (var _i = 0, _a = Object.keys(this.obj); _i < _a.length; _i++) {
var file = _a[_i];
snippetNames.push(path.basename(file).split('.')[0]);
}
return snippetNames;
};
return Language;
}());
exports.Language = Language;