alm
Version:
The best IDE for TypeScript
30 lines (29 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("../../../../common/utils");
/**
* Merges editorconfig style options with TypeScript's formatCodeOptions
*/
function completeFormatCodeOptions(options, formatCodeOptions) {
var copy = utils_1.extend(formatCodeOptions);
copy.IndentSize = options.tabSize;
copy.TabSize = options.tabSize;
copy.NewLineCharacter = options.newLineCharacter;
copy.ConvertTabsToSpaces = options.convertTabsToSpaces;
return copy;
}
exports.completeFormatCodeOptions = completeFormatCodeOptions;
function formatDocument(proj, filePath, editorOptions) {
var formatCodeOptions = completeFormatCodeOptions(editorOptions, proj.configFile.project.formatCodeOptions);
var textChanges = proj.languageService.getFormattingEditsForDocument(filePath, formatCodeOptions);
return textChanges;
}
exports.formatDocument = formatDocument;
function formatDocumentRange(proj, filePath, start, end, editorOptions) {
var formatCodeOptions = completeFormatCodeOptions(editorOptions, proj.configFile.project.formatCodeOptions);
var st = proj.languageServiceHost.getPositionOfLineAndCharacter(filePath, start.line, start.ch);
var ed = proj.languageServiceHost.getPositionOfLineAndCharacter(filePath, end.line, end.ch);
var textChanges = proj.languageService.getFormattingEditsForRange(filePath, st, ed, formatCodeOptions);
return textChanges;
}
exports.formatDocumentRange = formatDocumentRange;