@launchmenu/applet-dictionary
Version:
An applet to find dictionary definitions
37 lines • 3.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.dictionaryPatternMatcher = void 0;
const core_1 = require("@launchmenu/core");
const ILanguage_1 = require("./_types/ILanguage");
/**
* The pattern matcher for dictionary items
*/
exports.dictionaryPatternMatcher = core_1.createStandardSearchPatternMatcher({
name: "Dictionary",
matcher: ({ search }) => {
var _a;
const match = search.match(/^((define\s*)(\w+)?\:).*$/);
if (match) {
const dl = match[2].length;
const inpLanguage = (_a = match[3]) === null || _a === void 0 ? void 0 : _a.toLowerCase();
const language = (Object.values(ILanguage_1.languages).find(lang => lang.toLowerCase() == inpLanguage) || ILanguage_1.languages[inpLanguage]);
return {
highlight: inpLanguage
? [
{ start: 0, end: dl },
{
start: dl,
end: dl + inpLanguage.length,
tags: language
? [core_1.highlightTags.literal]
: [core_1.highlightTags.error],
},
{ start: dl + inpLanguage.length, end: match[1].length },
]
: [{ start: 0, end: match[1].length }],
metadata: { language },
};
}
},
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeVBhdHRlcm5NYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RpY3Rpb25hcnlQYXR0ZXJuTWF0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBbUY7QUFDbkYsa0RBQXdEO0FBRXhEOztHQUVHO0FBQ1UsUUFBQSx3QkFBd0IsR0FBRyx5Q0FBa0MsQ0FBQztJQUN2RSxJQUFJLEVBQUUsWUFBWTtJQUNsQixPQUFPLEVBQUUsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUU7O1FBQ2xCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUV4RCxJQUFJLEtBQUssRUFBRTtZQUNQLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDM0IsTUFBTSxXQUFXLFNBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQywwQ0FBRSxXQUFXLEVBQUUsQ0FBQztZQUM1QyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQVMsQ0FBQyxDQUFDLElBQUksQ0FDM0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksV0FBVyxDQUM1QyxJQUFJLHFCQUFTLENBQUMsV0FBcUMsQ0FBQyxDQUFjLENBQUM7WUFFcEUsT0FBTztnQkFDSCxTQUFTLEVBQUUsV0FBVztvQkFDbEIsQ0FBQyxDQUFDO3dCQUNJLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFDO3dCQUNuQjs0QkFDSSxLQUFLLEVBQUUsRUFBRTs0QkFDVCxHQUFHLEVBQUUsRUFBRSxHQUFHLFdBQVcsQ0FBQyxNQUFNOzRCQUM1QixJQUFJLEVBQUUsUUFBUTtnQ0FDVixDQUFDLENBQUMsQ0FBQyxvQkFBYSxDQUFDLE9BQU8sQ0FBQztnQ0FDekIsQ0FBQyxDQUFDLENBQUMsb0JBQWEsQ0FBQyxLQUFLLENBQUM7eUJBQzlCO3dCQUNELEVBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDO3FCQUN6RDtvQkFDSCxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQztnQkFDeEMsUUFBUSxFQUFFLEVBQUMsUUFBUSxFQUFDO2FBQ3ZCLENBQUM7U0FDTDtJQUNMLENBQUM7Q0FDSixDQUFDLENBQUMifQ==