Skip to content

Commit bfbd15c

Browse files
authored
fix: don't put multiple newlines between flag summaries in help output (#225)
1 parent 11cbd6b commit bfbd15c

File tree

6 files changed

+610
-607
lines changed

6 files changed

+610
-607
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
"lint": "eslint . --ext .ts --config .eslintrc",
9797
"posttest": "yarn lint",
9898
"prepack": "yarn run build",
99-
"test": "mocha --forbid-only \"test/**/*.test.ts\" --no-color",
99+
"test": "mocha --forbid-only \"test/**/*.test.ts\"",
100100
"pretest": "yarn build --noEmit && tsc -p test --noEmit"
101101
},
102102
"types": "lib/index.d.ts"

src/help/formatter.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,8 @@ export class HelpFormatter {
151151
}
152152
// if we start putting too many lines down, render in multiline format
153153
if (lines.length > 4) return renderMultiline()
154-
// if spacer is not defined, separate all rows with extra newline
155-
if (!opts.spacer) spacer = '\n\n'
154+
// if spacer is not defined, separate all rows with a newline
155+
if (!opts.spacer) spacer = '\n'
156156
cur += '\n'
157157
cur += this.indent(lines.join('\n'), maxLength + 2)
158158
}

test/help/format-command-with-options.test.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,11 @@ ARGUMENTS
8787
OPTIONS
8888
-f, --foo=foo foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoo
8989
barfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobar
90-
9190
-l=label
92-
9391
-r, --remote=remote
94-
9592
--force force it force it force it force it force it force
9693
it force it force it force it force it force it
9794
force it force it force it force it
98-
9995
--ss newliney
10096
newliney
10197
newliney
@@ -142,13 +138,10 @@ ARGUMENTS
142138
OPTIONS
143139
-f, --foo=foo foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoo
144140
barfoobarfoobarfoobarfoobarfoobar
145-
146141
-r, --remote=remote
147-
148142
--force force it force it force it force it force it force
149143
it force it force it force it force it force it
150144
force it force it force it force it
151-
152145
--ss newliney
153146
newliney
154147
newliney

test/help/format-command.test.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,11 @@ ARGUMENTS
6666
FLAGS
6767
-f, --foo=<value> foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfo
6868
obarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobar
69-
7069
-l=<value>
71-
7270
-r, --remote=<value>
73-
7471
--force force it force it force it force it force it force
7572
it force it force it force it force it force it
7673
force it force it force it force it
77-
7874
--ss newliney
7975
newliney
8076
newliney
@@ -126,13 +122,10 @@ ARGUMENTS
126122
FLAGS
127123
-f, --foo=<value> foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfo
128124
obarfoobarfoobarfoobarfoobarfoobar
129-
130125
-r, --remote=<value>
131-
132126
--force force it force it force it force it force it force
133127
it force it force it force it force it force it
134128
force it force it force it force it
135-
136129
--ss newliney
137130
newliney
138131
newliney

test/parser/parse.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {expect} from 'chai'
33

44
import {flags, parse} from '../../src/parser'
55
import {Interfaces} from '../../src'
6+
const stripAnsi = require('strip-ansi')
67

78
describe('parse', () => {
89
it('--bool', async () => {
@@ -125,7 +126,7 @@ describe('parse', () => {
125126
},
126127
})
127128
} catch (error) {
128-
message = error.message
129+
message = stripAnsi(error.message)
129130
}
130131
expect(message).to.equal(
131132
'Missing required flag:\n --myflag MYFLAG flag description\nSee more help with --help',

0 commit comments

Comments
 (0)