@@ -53,7 +53,6 @@ func init() {
53
53
func Root () * cobra.Command {
54
54
cmd := & cobra.Command {
55
55
Use : "coder" ,
56
- Version : buildinfo .Version (),
57
56
SilenceErrors : true ,
58
57
SilenceUsage : true ,
59
58
Long : `Coder — A tool for provisioning self-hosted development environments.
@@ -94,7 +93,6 @@ func Root() *cobra.Command {
94
93
)
95
94
96
95
cmd .SetUsageTemplate (usageTemplate ())
97
- cmd .SetVersionTemplate (versionTemplate ())
98
96
99
97
cmd .PersistentFlags ().String (varURL , "" , "Specify the URL to your deployment." )
100
98
cmd .PersistentFlags ().String (varToken , "" , "Specify an authentication token." )
@@ -108,28 +106,26 @@ func Root() *cobra.Command {
108
106
cmd .PersistentFlags ().Bool (varNoOpen , false , "Block automatically opening URLs in the browser." )
109
107
_ = cmd .PersistentFlags ().MarkHidden (varNoOpen )
110
108
111
- // Cobra automatically uses "-v" and "--version" for printing the version on
112
- // the root cmd. If we decide to use "-v" as a verbose flag on the root,
113
- // then that will be a behavior change. So we should just reserve "-v"
114
- // and make users use "coder --version" or "coder version"
115
- cmd .Flags ().BoolP ("placeholder" , "v" , false , "This flag is a placeholder to make the cobra version flag work appropriately" )
116
- _ = cmd .Flags ().MarkHidden ("placeholder" )
117
-
118
109
return cmd
119
110
}
120
111
121
- // versionCmd comes from example in cobra issue.
122
- // https://github.com/spf13/cobra/issues/724
112
+ // versionCmd prints the coder version
123
113
func versionCmd () * cobra.Command {
124
114
return & cobra.Command {
125
115
Use : "version" ,
126
- Short : "Version for coder" ,
116
+ Short : "Show coder version " ,
127
117
Example : "coder version" ,
128
118
RunE : func (cmd * cobra.Command , args []string ) error {
129
- // Use "--version" behavior on root.
130
- root := cmd .Root ()
131
- root .SetArgs ([]string {"--version" })
132
- return root .Execute ()
119
+ var str strings.Builder
120
+ str .WriteString (fmt .Sprintf ("Coder %s" , buildinfo .Version ()))
121
+ buildTime , valid := buildinfo .Time ()
122
+ if valid {
123
+ str .WriteString (" " + buildTime .Format (time .UnixDate ))
124
+ }
125
+ str .WriteString ("\r \n " + buildinfo .ExternalURL () + "\r \n " )
126
+
127
+ _ , _ = fmt .Fprint (cmd .OutOrStdout (), str .String ())
128
+ return nil
133
129
},
134
130
}
135
131
}
@@ -310,17 +306,6 @@ Use "{{.CommandPath}} [command] --help" for more information about a command.
310
306
{{end}}`
311
307
}
312
308
313
- func versionTemplate () string {
314
- template := `Coder {{printf "%s" .Version}}`
315
- buildTime , valid := buildinfo .Time ()
316
- if valid {
317
- template += " " + buildTime .Format (time .UnixDate )
318
- }
319
- template += "\r \n " + buildinfo .ExternalURL ()
320
- template += "\r \n "
321
- return template
322
- }
323
-
324
309
// FormatCobraError colorizes and adds "--help" docs to cobra commands.
325
310
func FormatCobraError (err error , cmd * cobra.Command ) string {
326
311
helpErrMsg := fmt .Sprintf ("Run '%s --help' for usage." , cmd .CommandPath ())
0 commit comments