Commit 8cff871a authored by Boris Mühmer's avatar Boris Mühmer
Browse files

added cli ... sort of

parent 310560db
Loading
Loading
Loading
Loading
+40 −0
Original line number Diff line number Diff line
@@ -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
}
@@ -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)
}