func ExecPrompt()

in cli/prompt.go [41:89]


func ExecPrompt() {
	completer = &autoCompleter{
		Config: cfg,
	}
	shell, err := readline.NewEx(&readline.Config{
		Prompt:            cfg.GetPrompt(),
		HistoryFile:       cfg.HistoryFile,
		AutoComplete:      completer,
		InterruptPrompt:   "^C",
		EOFPrompt:         "exit",
		VimMode:           false,
		HistorySearchFold: true,
		FuncFilterInputRune: func(r rune) (rune, bool) {
			switch r {
			case readline.CharCtrlZ:
				return r, false
			}
			return r, true
		},
	})

	if err != nil {
		panic(err)
	}
	defer shell.Close()

	cfg.HasShell = true
	cfg.PrintHeader()

	for {
		shell.SetPrompt(cfg.GetPrompt())
		line, err := shell.Readline()
		if err == readline.ErrInterrupt {
			continue
		} else if err == io.EOF {
			break
		}

		line = strings.TrimSpace(line)
		if len(line) < 1 {
			continue
		}

		if err = ExecLine(line); err != nil {
			fmt.Println("🙈 Error:", err)
		}
	}

}