UNPKG

alm

Version:

The best IDE for TypeScript

78 lines (77 loc) 3.85 kB
"use strict"; /** * Maintainance: * When a new option is added add it to: * - the FormatCodeOptions interface * - the defaultFormatCodeOptions function * - the makeFormatCodeOptions function */ Object.defineProperty(exports, "__esModule", { value: true }); var os = require("os"); function defaultFormatCodeOptions() { return { IndentSize: 4, TabSize: 4, NewLineCharacter: os.EOL, ConvertTabsToSpaces: true, IndentStyle: ts.IndentStyle.Smart, InsertSpaceAfterCommaDelimiter: true, InsertSpaceAfterSemicolonInForStatements: true, InsertSpaceBeforeAndAfterBinaryOperators: true, InsertSpaceAfterKeywordsInControlFlowStatements: true, InsertSpaceAfterFunctionKeywordForAnonymousFunctions: false, InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: false, InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: false, InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: false, PlaceOpenBraceOnNewLineForFunctions: false, PlaceOpenBraceOnNewLineForControlBlocks: false, }; } exports.defaultFormatCodeOptions = defaultFormatCodeOptions; function makeFormatCodeOptions(config) { var options = defaultFormatCodeOptions(); if (!config) { return options; } if (typeof config.insertSpaceAfterCommaDelimiter === "boolean") { options.InsertSpaceAfterCommaDelimiter = config.insertSpaceAfterCommaDelimiter; } if (typeof config.insertSpaceAfterSemicolonInForStatements === "boolean") { options.InsertSpaceAfterSemicolonInForStatements = config.insertSpaceAfterSemicolonInForStatements; } if (typeof config.insertSpaceBeforeAndAfterBinaryOperators === "boolean") { options.InsertSpaceBeforeAndAfterBinaryOperators = config.insertSpaceBeforeAndAfterBinaryOperators; } if (typeof config.insertSpaceAfterKeywordsInControlFlowStatements === "boolean") { options.InsertSpaceAfterKeywordsInControlFlowStatements = config.insertSpaceAfterKeywordsInControlFlowStatements; } if (typeof config.insertSpaceAfterFunctionKeywordForAnonymousFunctions === "boolean") { options.InsertSpaceAfterFunctionKeywordForAnonymousFunctions = config.insertSpaceAfterFunctionKeywordForAnonymousFunctions; } if (typeof config.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis === "boolean") { options.InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis = config.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis; } if (typeof config.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets === "boolean") { options.InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets = config.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets; } if (typeof config.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces === "boolean") { options.InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces = config.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces; } if (typeof config.placeOpenBraceOnNewLineForFunctions === "boolean") { options.PlaceOpenBraceOnNewLineForFunctions = config.placeOpenBraceOnNewLineForFunctions; } if (typeof config.placeOpenBraceOnNewLineForControlBlocks === "boolean") { options.PlaceOpenBraceOnNewLineForControlBlocks = config.placeOpenBraceOnNewLineForControlBlocks; } if (typeof config.tabSize === "number") { options.TabSize = config.tabSize; } if (typeof config.newLineCharacter === "string") { options.NewLineCharacter = config.newLineCharacter; } if (typeof config.convertTabsToSpaces === "boolean") { options.ConvertTabsToSpaces = config.convertTabsToSpaces; } return options; } exports.makeFormatCodeOptions = makeFormatCodeOptions;