github.com/jdhenke/godel@v0.0.0-20161213181855-abeb3861bf0d/apps/gonform/generated_src/amalgomatedformatters.go (about)

     1  // generated by amalgomate; DO NOT EDIT
     2  package amalgomatedformatters
     3  
     4  import (
     5  	"fmt"
     6  	"sort"
     7  
     8  	gofmt "github.com/palantir/godel/apps/gonform/generated_src/internal/cmd/gofmt"
     9  	ptimports "github.com/palantir/godel/apps/gonform/generated_src/internal/github.com/palantir/checks/ptimports/main/ptimports"
    10  )
    11  
    12  var programs = map[string]func(){"gofmt": func() {
    13  	gofmt.AmalgomatedMain()
    14  }, "ptimports": func() {
    15  	ptimports.AmalgomatedMain()
    16  },
    17  }
    18  
    19  func Instance() Amalgomated {
    20  	return &amalgomated{}
    21  }
    22  
    23  type Amalgomated interface {
    24  	Run(cmd string)
    25  	Cmds() []string
    26  }
    27  
    28  type amalgomated struct{}
    29  
    30  func (a *amalgomated) Run(cmd string) {
    31  	if _, ok := programs[cmd]; !ok {
    32  		panic(fmt.Sprintf("Unknown command: \"%v\". Valid values: %v", cmd, a.Cmds()))
    33  	}
    34  	programs[cmd]()
    35  }
    36  
    37  func (a *amalgomated) Cmds() []string {
    38  	var cmds []string
    39  	for key := range programs {
    40  		cmds = append(cmds, key)
    41  	}
    42  	sort.Strings(cmds)
    43  	return cmds
    44  }