Skip to content

Commit

Permalink
fix(prettier-plugin-jsdoc): properly detect when to use columns
Browse files Browse the repository at this point in the history
Because -n is not false :P
  • Loading branch information
homer0 committed Jun 26, 2022
1 parent 95a4278 commit 8fbb3e9
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions packages/public/prettier-plugin-jsdoc/src/fns/render.js
Expand Up @@ -4,7 +4,10 @@ const { isTag, ensureSentence } = require('./utils');
const { renderExampleTag } = require('./renderExampleTag');
const { renderTagInLine } = require('./renderTagInLine');
const { renderTagInColumns } = require('./renderTagInColumns');
const { getTagsWithNameAsDescription } = require('./constants');
const {
getTagsWithNameAsDescription,
getTagsThatRequireColumns,
} = require('./constants');
const { get, provider } = require('./app');

/**
Expand Down Expand Up @@ -266,21 +269,27 @@ const calculateColumnsWidth = (options, data, width) => {
*/
const getTagsData = (lengthByTag, width, options) => {
const tagsWithNameAsDesc = get(getTagsWithNameAsDescription)();
const tagsThatRequireColumns = get(getTagsThatRequireColumns)();
return Object.entries(lengthByTag).reduce((acc, [tagName, tagInfo]) => {
const columnsWidth = get(calculateColumnsWidth)(options, tagInfo, width);
if (tagsWithNameAsDesc.includes(tagName)) {
columnsWidth.description = 0;
columnsWidth.name = width - columnsWidth.tag - columnsWidth.type;
}

const canUseColumns =
tagsThatRequireColumns.includes(tagName) ||
(!tagInfo.hasMultilineType &&
(!options.jsdocAllowDescriptionOnNewLinesForTags.includes(tagName) ||
!tagInfo.hasADescriptionParagraph) &&
(columnsWidth.description <= 0 ||
columnsWidth.description >= options.jsdocDescriptionColumnMinLength) &&
width - columnsWidth.tag - columnsWidth.type - columnsWidth.name >= 0);

return {
...acc,
[tagName]: {
canUseColumns:
!tagInfo.hasMultilineType &&
(!options.jsdocAllowDescriptionOnNewLinesForTags.includes(tagName) ||
!tagInfo.hasADescriptionParagraph) &&
(!columnsWidth.description ||
columnsWidth.description >= options.jsdocDescriptionColumnMinLength),
canUseColumns,
columnsWidth,
},
};
Expand Down

0 comments on commit 8fbb3e9

Please sign in to comment.