|
2 weeks ago | |
---|---|---|
.github/workflows | 2 months ago | |
geometry | 2 years ago | |
.editorconfig | 2 years ago | |
.gitattributes | 2 years ago | |
.gitignore | 5 months ago | |
CITATION.cff | 2 weeks ago | |
LICENSE | 2 years ago | |
README.md | 5 months ago | |
geo.v | 5 months ago | |
help_text_test.v | 2 weeks ago | |
multi_option_test.v | 2 weeks ago | |
v.mod | 2 weeks ago |
README.md
Geo
A sample CLI tool made in V that prints geometric shapes to the screen.
Motivation
👉 Accompanying blog posts:
This project is meant to be a demonstration showcasing how easy it is to make a good CLI application with V. There is also an example to how to effectively structure a V project with modules and conduct unit tests.
Prerequisites
Instructions for installing the V language can be found here. For a brief introduction to V, refer the article: Getting Started with V.
Make sure to do v up
to download and update to the latest version of V.
Usage
You can use v run . [OPTIONS]
to run the tool while
developing it. If you want a production build, you can use v -prod .
, which will generate a binary file geo
(or geo.exe
on Windows) at the root of the repository.
To get started, try ./geo --help
. It will print the
following usage guide:
geo 0.2.x
-----------------------------------------------
Usage: geo [options] [ARGS]
Description: A sample CLI app for printing geometric shapes to the terminal.
Options:
-p, --shape <string> The shape to use for the geometry.
Allowed shapes are: left-triangle, right-triangle, pyramid, square, diamond
-z, --size <int> The size parameter for the shapes.
-m, --symbol <string> The symbol to use for the geometry.
-h, --help display this help and exit
--version output version information and exit
Run Unit Tests
To run units tests, run this command at the root of this repository:
v test .
License
This work is licensed under the MIT license, see LICENSE for more details.
Mirrors
This project is hosted on GitHub: hungrybluedev/geo
As a backup, this repository is also available on Codeberg: hungrybluedev/geo
Contributors
- @SheatNoisette - Idea, documentation, unit tests, and code improvement.
- @hungrybluedev - Initial implementation, maintenance, and other chores.