1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/readline
Thomas Mangin 580d9cedc7
termios: new termios module (#17792)
* termio: new termio module

move the tcgetattr and tcsetattr functions in a new termio module.
The code needed refactoring as different OS have different fields
size, position and number for the C.termios structure, which
could not be correctly expressed consitently otherwise.

It has the positive side effect to reduce the number of unsafe calls.
New testing code was also added for the readline module as it is
relying of the feature.

* apply 2023 copyright to the new files too
2023-03-30 08:58:52 +03:00
..
readline_default.c.v all: 2023 copyright 2023-03-28 22:55:57 +02:00
readline_js.js.v all: change optional to result in most of the libraries (#16123) 2022-10-20 22:14:33 +03:00
readline_nix.c.v termios: new termios module (#17792) 2023-03-30 08:58:52 +03:00
readline_test.v fmt: fix import with symbols (fix #12065) (#12069) 2021-10-05 11:44:48 +03:00
readline_windows.c.v all: 2023 copyright 2023-03-28 22:55:57 +02:00
readline.v termios: new termios module (#17792) 2023-03-30 08:58:52 +03:00
README.md vfmt: change all '$expr' to '${expr}' (#16428) 2022-11-15 16:53:13 +03:00

Description

The readline module lets you await and read user input from a terminal in an easy and structured manner.

The module provides an easy way to prompt the user for questions or even make a REPL or an embedded console.

Usage:

import readline

mut r := readline.Readline{}
answer := r.read_line('hello: ')?
println(answer)

or just:

import readline { read_line }

input := read_line('What is your name: ')?
println('Your name is: ${input}')