UNPKG

markdown-table-prettify

Version:

Transforms markdown tables to be more readable.

87 lines (86 loc) 5.58 kB
"use strict"; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spreadArray = (this && this.__spreadArray) || function (to, from) { for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) to[j] = from[i]; return to; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDocumentPrettyfierCommand = exports.getDocumentPrettyfier = exports.getDocumentRangePrettyfier = exports.getSupportLanguageIds = void 0; var vscode = require("vscode"); var configSizeLimitCheker_1 = require("../prettyfiers/sizeLimit/configSizeLimitCheker"); var tableDocumentPrettyfier_1 = require("./tableDocumentPrettyfier"); var tableDocumentPrettyfierCommand_1 = require("./tableDocumentPrettyfierCommand"); var tableFinder_1 = require("../tableFinding/tableFinder"); var tableDocumentRangePrettyfier_1 = require("./tableDocumentRangePrettyfier"); var consoleLogger_1 = require("../diagnostics/consoleLogger"); var vsWindowLogger_1 = require("../diagnostics/vsWindowLogger"); var tableFactory_1 = require("../modelFactory/tableFactory"); var alignmentFactory_1 = require("../modelFactory/alignmentFactory"); var tableValidator_1 = require("../modelFactory/tableValidator"); var contentPadCalculator_1 = require("../padCalculation/contentPadCalculator"); var tableViewModelFactory_1 = require("../viewModelFactories/tableViewModelFactory"); var rowViewModelFactory_1 = require("../viewModelFactories/rowViewModelFactory"); var borderTransformer_1 = require("../modelFactory/transformers/borderTransformer"); var trimmerTransformer_1 = require("../modelFactory/transformers/trimmerTransformer"); var tableIndentationDetector_1 = require("../modelFactory/tableIndentationDetector"); var selectionInterpreter_1 = require("../modelFactory/selectionInterpreter"); var padCalculatorSelector_1 = require("../padCalculation/padCalculatorSelector"); var alignmentMarking_1 = require("../viewModelFactories/alignmentMarking"); var multiTablePrettyfier_1 = require("../prettyfiers/multiTablePrettyfier"); var singleTablePrettyfier_1 = require("../prettyfiers/singleTablePrettyfier"); var tableStringWriter_1 = require("../writers/tableStringWriter"); var valuePaddingProvider_1 = require("../writers/valuePaddingProvider"); function getSupportLanguageIds() { return __spreadArray(["markdown"], __read(getConfigurationValue("extendedLanguages", []))); } exports.getSupportLanguageIds = getSupportLanguageIds; function getDocumentRangePrettyfier() { return new tableDocumentRangePrettyfier_1.TableDocumentRangePrettyfier(getMultiTablePrettyfier()); } exports.getDocumentRangePrettyfier = getDocumentRangePrettyfier; function getDocumentPrettyfier() { return new tableDocumentPrettyfier_1.TableDocumentPrettyfier(getMultiTablePrettyfier()); } exports.getDocumentPrettyfier = getDocumentPrettyfier; function getDocumentPrettyfierCommand() { return new tableDocumentPrettyfierCommand_1.TableDocumentPrettyfierCommand(getMultiTablePrettyfier()); } exports.getDocumentPrettyfierCommand = getDocumentPrettyfierCommand; function getMultiTablePrettyfier() { var loggers = getLoggers(); var sizeLimitCheker = getSizeLimitChecker(loggers); var columnPadding = getConfigurationValue("columnPadding", 0); return new multiTablePrettyfier_1.MultiTablePrettyfier(new tableFinder_1.TableFinder(new tableValidator_1.TableValidator(new selectionInterpreter_1.SelectionInterpreter(true))), getSingleTablePrettyfier(loggers, sizeLimitCheker, columnPadding), sizeLimitCheker); } function getSingleTablePrettyfier(loggers, sizeLimitCheker, columnPadding) { return new singleTablePrettyfier_1.SingleTablePrettyfier(new tableFactory_1.TableFactory(new alignmentFactory_1.AlignmentFactory(), new selectionInterpreter_1.SelectionInterpreter(false), new trimmerTransformer_1.TrimmerTransformer(new borderTransformer_1.BorderTransformer(null)), new tableIndentationDetector_1.FairTableIndentationDetector()), new tableValidator_1.TableValidator(new selectionInterpreter_1.SelectionInterpreter(false)), new tableViewModelFactory_1.TableViewModelFactory(new rowViewModelFactory_1.RowViewModelFactory(new contentPadCalculator_1.ContentPadCalculator(new padCalculatorSelector_1.PadCalculatorSelector(), " "), new alignmentMarking_1.AlignmentMarkerStrategy(":"))), new tableStringWriter_1.TableStringWriter(new valuePaddingProvider_1.ValuePaddingProvider(columnPadding)), loggers, sizeLimitCheker); } function getLoggers() { var canShowWindowMessages = getConfigurationValue("showWindowMessages", true); return __spreadArray(__spreadArray([], __read((canShowWindowMessages ? [new vsWindowLogger_1.VsWindowLogger()] : []))), [ new consoleLogger_1.ConsoleLogger() ]); } function getSizeLimitChecker(loggers) { var maxTextLength = getConfigurationValue("maxTextLength", 1000000); return new configSizeLimitCheker_1.ConfigSizeLimitChecker(loggers, maxTextLength); } function getConfigurationValue(key, defaultValue) { return vscode.workspace.getConfiguration("markdownTablePrettify").get(key, defaultValue); }