Loading pkg/wizards/server/server.go +40 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,10 @@ func New(in io.Reader, out io.Writer) (*Server, error) { // Run starts the server instance. func (s *Server) Run() error { s.header() err := s.cli() if err != nil { // } s.footer() return nil } Loading @@ -46,3 +50,39 @@ func (s *Server) footer() { fmt.Fprintln(s.out, "* Wizards Server is terminating... *") fmt.Fprintln(s.out, "**********************************************************************") } func (s *Server) cli() error { for { fmt.Fprintf(s.out, "%s: ", "Command") line := s.read() result, err := s.eval(line) if err != nil { return err } output, err := s.eval(result) if err != nil { return err } s.print(output) } } func (s *Server) read() string { var line string n, err := fmt.Fscanln(s.in, &line) if n == 0 { // no command entered } if err != nil { // something bad happened } return line } func (s *Server) eval(line string) (string, error) { return "", nil } func (s *Server) print(output string) { fmt.Fprintln(s.out, output) } Loading
pkg/wizards/server/server.go +40 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,10 @@ func New(in io.Reader, out io.Writer) (*Server, error) { // Run starts the server instance. func (s *Server) Run() error { s.header() err := s.cli() if err != nil { // } s.footer() return nil } Loading @@ -46,3 +50,39 @@ func (s *Server) footer() { fmt.Fprintln(s.out, "* Wizards Server is terminating... *") fmt.Fprintln(s.out, "**********************************************************************") } func (s *Server) cli() error { for { fmt.Fprintf(s.out, "%s: ", "Command") line := s.read() result, err := s.eval(line) if err != nil { return err } output, err := s.eval(result) if err != nil { return err } s.print(output) } } func (s *Server) read() string { var line string n, err := fmt.Fscanln(s.in, &line) if n == 0 { // no command entered } if err != nil { // something bad happened } return line } func (s *Server) eval(line string) (string, error) { return "", nil } func (s *Server) print(output string) { fmt.Fprintln(s.out, output) }