|  | package action | 
|  |  | 
|  | import ( | 
|  | "bytes" | 
|  |  | 
|  | "github.com/Masterminds/glide/msg" | 
|  | ) | 
|  |  | 
|  | // Info prints information about a project based on a passed in format. | 
|  | func Info(format string) { | 
|  | conf := EnsureConfig() | 
|  | var buffer bytes.Buffer | 
|  | varInit := false | 
|  | for _, varfmt := range format { | 
|  | if varInit { | 
|  | switch varfmt { | 
|  | case 'n': | 
|  | buffer.WriteString(conf.Name) | 
|  | case 'd': | 
|  | buffer.WriteString(conf.Description) | 
|  | case 'h': | 
|  | buffer.WriteString(conf.Home) | 
|  | case 'l': | 
|  | buffer.WriteString(conf.License) | 
|  | default: | 
|  | msg.Die("Invalid format %s", string(varfmt)) | 
|  | } | 
|  | } else { | 
|  | switch varfmt { | 
|  | case '%': | 
|  | varInit = true | 
|  | continue | 
|  | default: | 
|  | buffer.WriteString(string(varfmt)) | 
|  | } | 
|  | } | 
|  | varInit = false | 
|  | } | 
|  | msg.Puts(buffer.String()) | 
|  | } |