Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / lib / utils.js
1 "use strict";
2 Object.defineProperty(exports, "__esModule", { value: true });
3 const tslib_1 = require("tslib");
4 const coc_nvim_1 = require("coc.nvim");
5 const path_1 = tslib_1.__importStar(require("path"));
6 const requirePkg_1 = require("./requirePkg");
7 const errorHandler_1 = require("./errorHandler");
8 function getConfig(uri) {
9     return coc_nvim_1.workspace.getConfiguration('prettier', uri ? uri.toString() : undefined);
10 }
11 exports.getConfig = getConfig;
12 function getPrettierInstance() {
13     return tslib_1.__awaiter(this, void 0, void 0, function* () {
14         const document = yield coc_nvim_1.workspace.document;
15         const uri = coc_nvim_1.Uri.parse(document.uri);
16         const fileName = uri.fsPath;
17         const vscodeConfig = getConfig(uri);
18         const localOnly = vscodeConfig.onlyUseLocalVersion;
19         const resolvedPrettier = (yield requirePkg_1.requireLocalPkg(path_1.default.dirname(fileName), 'prettier', { silent: true, ignoreBundled: localOnly }));
20         if (!resolvedPrettier) {
21             errorHandler_1.addToOutput(`Prettier module not found, prettier.onlyUseLocalVersion: ${vscodeConfig.onlyUseLocalVersion}`, 'Error');
22         }
23         return resolvedPrettier;
24     });
25 }
26 exports.getPrettierInstance = getPrettierInstance;
27 function getParsersFromLanguageId(languageId, prettierInstance, path) {
28     const supportedLanguages = getSupportLanguages(prettierInstance);
29     const language = supportedLanguages.find(lang => Array.isArray(lang.vscodeLanguageIds) &&
30         lang.vscodeLanguageIds.includes(languageId) &&
31         // Only for some specific filenames
32         (lang.extensions.length > 0 ||
33             (path != null &&
34                 lang.filenames != null &&
35                 lang.filenames.includes(path_1.basename(path)))));
36     if (!language) {
37         return [];
38     }
39     return language.parsers;
40 }
41 exports.getParsersFromLanguageId = getParsersFromLanguageId;
42 function allLanguages(prettierInstance) {
43     const supportedLanguages = getSupportLanguages(prettierInstance);
44     return supportedLanguages.reduce((ids, language) => [...ids, ...(language.vscodeLanguageIds || [])], []);
45 }
46 exports.allLanguages = allLanguages;
47 function enabledLanguages(prettierInstance) {
48     const { disableLanguages } = getConfig();
49     const languages = allLanguages(prettierInstance);
50     return languages.filter(x => disableLanguages.indexOf(x) == -1);
51 }
52 exports.enabledLanguages = enabledLanguages;
53 function rangeLanguages() {
54     const { disableLanguages } = getConfig();
55     return [
56         'javascript',
57         'javascriptreact',
58         'typescript',
59         'typescriptreact',
60         'json',
61         'graphql',
62     ].filter(x => disableLanguages.indexOf(x) == -1);
63 }
64 exports.rangeLanguages = rangeLanguages;
65 function getGroup(group, prettierInstance) {
66     const supportedLanguages = getSupportLanguages(prettierInstance);
67     return supportedLanguages.filter(language => language.group === group);
68 }
69 exports.getGroup = getGroup;
70 function getSupportLanguages(prettierInstance) {
71     return prettierInstance.getSupportInfo(prettierInstance.version).languages;
72 }
73 function hasLocalPrettierInstalled(filePath) {
74     const localPrettier = requirePkg_1.requireLocalPkg(filePath, 'prettier', {
75         silent: true,
76         ignoreBundled: true,
77     });
78     return localPrettier != null;
79 }
80 exports.hasLocalPrettierInstalled = hasLocalPrettierInstalled;
81 //# sourceMappingURL=utils.js.map