aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/term/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/vlib/term/README.md')
-rw-r--r--v_windows/v/vlib/term/README.md85
1 files changed, 85 insertions, 0 deletions
diff --git a/v_windows/v/vlib/term/README.md b/v_windows/v/vlib/term/README.md
new file mode 100644
index 0000000..f9fcb9e
--- /dev/null
+++ b/v_windows/v/vlib/term/README.md
@@ -0,0 +1,85 @@
+# Quickstart
+
+The V `term` module is a module designed to provide the building blocks
+for building very simple TUI apps.
+For more complex apps, you should really look at the `term.input` module,
+as it includes terminal events, is easier to use and is much more performant for large draws.
+
+# Use
+
+You can use the `term` module to either color the output on a terminal
+or to decide on where to put the output in your terminal.
+
+For example let's make a simple program which prints colored text in the middle of the terminal.
+
+```v
+import term
+import os
+
+fn main() {
+ term.clear() // clears the content in the terminal
+ width, height := term.get_terminal_size() // get the size of the terminal
+ term.set_cursor_position(x: width / 2, y: height / 2) // now we point the cursor to the middle of the terminal
+ println(term.strikethrough(term.bright_green('hello world'))) // Print green text
+ term.set_cursor_position(x: 0, y: height) // Sets the position of the cursor to the bottom of the terminal
+ // Keep prompting until the user presses the q key
+ for {
+ if var := os.input_opt('press q to quit: ') {
+ if var != 'q' {
+ continue
+ }
+ break
+ }
+ println('')
+ break
+ }
+ println('Goodbye.')
+}
+```
+
+This simple program covers many of the principal aspects of the `term ` module.
+
+# API
+
+Here are some functions you should be aware of in the `term `module:
+
+```v oksyntax
+import term
+
+// returns the height and the width of the terminal
+width, height := term.get_terminal_size()
+// returns the string as green text to be printed on stdout
+term.ok_message('cool')
+// returns the string as red text to be printed on stdout
+term.fail_message('oh, no')
+// returns the string as yellow text to be printed on stdout
+term.warning_message('be warned')
+// clears the entire terminal and leaves a blank one
+term.clear()
+// colors the output of the output, the available colors are:
+// black,blue,yellow,green,cyan,gray,bright_blue,bright_green,bright_red,bright_black,bright_cyan
+term.yellow('submarine')
+// transforms the given string into bold text
+term.bold('and beautiful')
+// puts a strikethrough into the given string
+term.strikethrough('the core of the problem')
+// underlines the given string
+term.underline('important')
+// colors the background of the output following the given color
+// the available colors are: black, blue, yellow, green, cyan, gray
+term.bg_green('field')
+// sets the position of the cursor at a given place in the terminal
+term.set_cursor_position(x: 5, y: 10)
+// moves the cursor up
+term.cursor_up()
+// moves the cursor down
+term.cursor_down()
+// moves the cursor to the right
+term.cursor_forward()
+// moves the cursor to the left
+term.cursor_back()
+// shows the cursor
+term.show_cursor()
+// hides the cursor
+term.hide_cursor()
+```