Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc768137

Browse files
authored
fix: Wrap help flags at 100 chars (#2893)
Because the actual flags take quite a bit of space, wrapping at 80characters creates a very cramped output for e.g. `coder server`, forthis reasons, flags are wrapped at 100 chars (vs. standard 80).The `Consumes $ENV_FLAG` message was put on a newline for consistency,this should allow users to learn where to look for the informations.Side note: we should perhaps stop adding period (`.`) at the end of flagdescriptions to be consistent, for instance, command helps usually don'thave one.This change fixes the biggest issue in#2363, but not all `--help`output is guaranteed (yet) to wrap at 80-100 chars.Fixes#2363
1 parent2bf78aa commitc768137

File tree

3 files changed

+16
-11
lines changed

3 files changed

+16
-11
lines changed

‎cli/cliflag/cliflag.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,14 @@ func DurationVarP(flagset *pflag.FlagSet, ptr *time.Duration, name string, short
102102
}
103103

104104
funcfmtUsage(ustring,envstring)string {
105-
ifenv=="" {
106-
returnfmt.Sprintf("%s.",u)
105+
ifenv!="" {
106+
// Avoid double dotting.
107+
dot:="."
108+
ifstrings.HasSuffix(u,".") {
109+
dot=""
110+
}
111+
u=fmt.Sprintf("%s%s\nConsumes $%s",u,dot,env)
107112
}
108113

109-
returnfmt.Sprintf("%s - consumes $%s.",u,env)
114+
returnu
110115
}

‎cli/cliflag/cliflag_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func TestCliflag(t *testing.T) {
2424
require.NoError(t,err)
2525
require.Equal(t,def,got)
2626
require.Contains(t,flagset.FlagUsages(),usage)
27-
require.Contains(t,flagset.FlagUsages(),fmt.Sprintf(" - consumes $%s",env))
27+
require.Contains(t,flagset.FlagUsages(),fmt.Sprintf("Consumes $%s",env))
2828
})
2929

3030
t.Run("StringEnvVar",func(t*testing.T) {
@@ -48,7 +48,7 @@ func TestCliflag(t *testing.T) {
4848
require.NoError(t,err)
4949
require.Equal(t,def,got)
5050
require.Contains(t,flagset.FlagUsages(),usage)
51-
require.Contains(t,flagset.FlagUsages(),fmt.Sprintf(" - consumes $%s",env))
51+
require.Contains(t,flagset.FlagUsages(),fmt.Sprintf("Consumes $%s",env))
5252
})
5353

5454
t.Run("StringVarPEnvVar",func(t*testing.T) {
@@ -74,7 +74,7 @@ func TestCliflag(t *testing.T) {
7474
require.NoError(t,err)
7575
require.Equal(t,def,got)
7676
require.Contains(t,flagset.FlagUsages(),usage)
77-
require.NotContains(t,flagset.FlagUsages()," - consumes")
77+
require.NotContains(t,flagset.FlagUsages(),"Consumes")
7878
})
7979

8080
t.Run("StringArrayDefault",func(t*testing.T) {
@@ -117,7 +117,7 @@ func TestCliflag(t *testing.T) {
117117
require.NoError(t,err)
118118
require.Equal(t,uint8(def),got)
119119
require.Contains(t,flagset.FlagUsages(),usage)
120-
require.Contains(t,flagset.FlagUsages(),fmt.Sprintf(" - consumes $%s",env))
120+
require.Contains(t,flagset.FlagUsages(),fmt.Sprintf("Consumes $%s",env))
121121
})
122122

123123
t.Run("IntEnvVar",func(t*testing.T) {
@@ -156,7 +156,7 @@ func TestCliflag(t *testing.T) {
156156
require.NoError(t,err)
157157
require.Equal(t,def,got)
158158
require.Contains(t,flagset.FlagUsages(),usage)
159-
require.Contains(t,flagset.FlagUsages(),fmt.Sprintf(" - consumes $%s",env))
159+
require.Contains(t,flagset.FlagUsages(),fmt.Sprintf("Consumes $%s",env))
160160
})
161161

162162
t.Run("BoolEnvVar",func(t*testing.T) {
@@ -195,7 +195,7 @@ func TestCliflag(t *testing.T) {
195195
require.NoError(t,err)
196196
require.Equal(t,def,got)
197197
require.Contains(t,flagset.FlagUsages(),usage)
198-
require.Contains(t,flagset.FlagUsages(),fmt.Sprintf(" - consumes $%s",env))
198+
require.Contains(t,flagset.FlagUsages(),fmt.Sprintf("Consumes $%s",env))
199199
})
200200

201201
t.Run("DurationEnvVar",func(t*testing.T) {

‎cli/root.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,12 +348,12 @@ func usageTemplate() string {
348348
349349
{{- if .HasAvailableLocalFlags}}
350350
{{usageHeader "Flags:"}}
351-
{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}
351+
{{.LocalFlags.FlagUsagesWrapped 100}}
352352
{{end}}
353353
354354
{{- if .HasAvailableInheritedFlags}}
355355
{{usageHeader "Global Flags:"}}
356-
{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}
356+
{{.InheritedFlags.FlagUsagesWrapped 100}}
357357
{{end}}
358358
359359
{{- if .HasHelpSubCommands}}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp