# rdstdin

Dark Mode

- Manual
- Standard library
- Index

Search:
Group by:

This module contains code for reading from stdin. On UNIX the linenoise library is wrapped and set up to provide default key bindings (e.g. you can navigate with the arrow keys). On Windows `system.readLine` is used. This suffices because Windows' console already provides the wanted functionality.

Examples:

    echo readLineFromStdin("Is Nim awesome? (Y/n):")
    var userResponse: string
    doAssert readLineFromStdin("How are you?:", line = userResponse)
    echo userResponse

# Procs

    proc readLineFromStdin(prompt: string): TaintedString {...}{.
        tags: [ReadIOEffect, WriteIOEffect], raises: [IOError, EOFError].}

  Reads a line from stdin. Source Edit

    proc readLineFromStdin(prompt: string; line: var TaintedString): bool {...}{.
        tags: [ReadIOEffect, WriteIOEffect], raises: [IOError].}

  Reads a `line` from stdin. `line` must not be `nil`! May throw an IO exception. A line of text may be delimited by `CR`, `LF` or `CRLF`. The newline character(s) are not part of the returned string. Returns `false` if the end of the file has been reached, `true` otherwise. If `false` is returned `line` contains no new data. Source Edit