Hunter, Your main.go file is 171 lines of dense code. If you reduced your issue to a small, working piece of code, people would be more likely help you.
You say "bufio.Scan() doesn't return io.EOF." Why? $ go doc bufio.scanner type Scanner struct { } Scanning stops unrecoverably at EOF, the first I/O error, or a token too large to fit in the buffer. $ go doc bufio.scanner.scan func (s *Scanner) Scan() bool Scan advances the Scanner to the next token, which will then be available through the Bytes or Text method. It returns false when the scan stops, either by reaching the end of the input or an error. After Scan returns false, the Err method will return any error that occurred during scanning, except that if it was io.EOF, Err will return nil. For example, package main import ( "bufio" "fmt" "io" "os" ) func main() { var input = bufio.NewScanner(os.Stdin) for input.Scan() { text := input.Text() fmt.Println(len(text), text) } if err := input.Err(); err != nil { fmt.Fprintln(os.Stderr, err) return } // input.Scan() == false && input.Err() == nil fmt.Println(io.EOF) } Output: # On Linux, Ctrl-D for eof $ go run eof.go asd 3 asd EOF $ Peter On Monday, September 3, 2018 at 12:49:12 PM UTC-4, Hunter Breathat wrote: > > Hey, so I'm currently trying to create a custom shell. > > I am currently trying to implement the EOF exit (^D). Currently, I am able > to use exit as input and a variety of other > commands, platform-specific; anything, not windows related (WIP), but I am > having an issue with the EOF causing > an infinite loop. If you could help that would be splendid. > > bufio.Scan() doesn't return io.EOF (So that's a bust even though that's > the current implementation) > > GoShell Repo <https://github.com/NexisHunter/GoShell> > > The section you are looking for is in the file: main.go. > > Thanks in advanced > Hunter > > PS. > If you are able to even possible walk me through it would help a bit. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.