UNPKG

@unibeautify/beautifier-prettydiff

Version:
121 lines 4.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const unibeautify_1 = require("unibeautify"); const readPkgUp = require("read-pkg-up"); const options_1 = require("./options"); const { pkg } = readPkgUp.sync({ cwd: __dirname }); exports.beautifier = { name: "Pretty Diff", package: pkg, dependencies: [ { type: unibeautify_1.DependencyType.Node, name: "PrettyDiff", package: "prettydiff2", }, ], options: { "C#": options_1.default.BasicScript, ColdFusion: options_1.default.Markup, CSS: options_1.default.Style, EJS: options_1.default.Script, Handlebars: options_1.default.Markup, HTML: options_1.default.Markup, "HTML+ERB": options_1.default.Markup, Java: options_1.default.BasicScript, JavaScript: options_1.default.Script, JSON: options_1.default.JSON, JSON5: options_1.default.JSON5, JSX: options_1.default.Script, Less: options_1.default.Style, Riot: options_1.default.Script, SCSS: options_1.default.Style, Spacebars: options_1.default.Markup, SVG: options_1.default.Markup, Swig: options_1.default.Script, "Titanium Style Sheets": options_1.default.Style, Twig: options_1.default.Script, TypeScript: options_1.default.Script, Visualforce: options_1.default.Markup, XML: options_1.default.Markup, XTemplate: options_1.default.Markup, }, beautify({ text, options, language, dependencies }) { return new Promise((resolve, reject) => { const prettydiff = dependencies.get("PrettyDiff").package; let lang = "auto"; switch (language.name) { case "EJS": case "Twig": lang = "ejs"; break; case "HTML+ERB": lang = "html_ruby"; break; case "Handlebars": case "Mustache": case "Spacebars": case "Swig": case "Riot.js": case "XTemplate": lang = "handlebars"; break; case "SGML": case "XML": case "Visualforce": case "SVG": lang = "xml"; break; case "HTML": case "Coldfusion": lang = "html"; break; case "JavaScript": lang = "javascript"; break; case "Java": lang = "java"; break; case "JSON": case "JSON5": lang = "json"; break; case "JSX": lang = "jsx"; break; // case "JSTL": lang = "jsp"; break; case "C#": lang = "cs"; break; case "CSS": lang = "css"; break; case "Less": lang = "less"; break; case "SCSS": case "Sass": lang = "scss"; break; case "Titanium Style Sheets": lang = "tss"; break; case "TypeScript": lang = "ts"; break; default: lang = "auto"; } const args = Object.assign({}, options, { insize: options.insize || 2, source: text, lang: lang, mode: "beautify", }); const result = prettydiff(args); return resolve(result); }); }, }; exports.default = exports.beautifier; //# sourceMappingURL=index.js.map