id = "vitetris"
name = "vitetris"
homepage = "https://www.victornils.net/tetris/"
description = "Terminal-based Tetris clone."
executables = ["vitetris", "tetris"]
[dotfiles]
paths = ["~/.vitetris"]
secret = []
[commands]
format = 1
label = "Play vitetris"
description = "Start the game with a few common startup options. Network play takes either a port to listen on or a host:port to connect to. Game and terminal options (see -help game, -help term) are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.source]]
id = "manpage"
kind = "manual"
url = "https://manpages.debian.org/unstable/vitetris/vitetris.6.en.html"
revision = "0.59.1"
evidence = """
-nomenu
Skip menus.
-hiscores
Print highscore list and exit.
-hiscores FILE
Read and add highscore entries from FILE.
-js0 DEVNAME
Joystick device name (e.g. /dev/js0).
-listen PORT
Listen for connections on port PORT.
-connect HOSTNAME:PORT
Connect to HOSTNAME on PORT.
-name NAME
Identify yourself as NAME when connecting to other players.
Options may also be given as option=ARG, --option=ARG etc.
"""
[[commands.field]]
id = "nomenu"
label = "Skip menus"
type = "boolean"
option = ["-nomenu"]
sources = ["manpage"]
[[commands.field]]
id = "hiscores"
label = "Print high scores and exit"
type = "boolean"
option = ["-hiscores"]
sources = ["manpage"]
[[commands.field]]
id = "listen"
label = "Listen on port"
description = "Host a network game on this port."
type = "integer"
option = ["-listen"]
sources = ["manpage"]
[[commands.field]]
id = "connect"
label = "Connect to host:port"
description = "HOSTNAME:PORT, or just a PORT to connect to localhost."
type = "string"
option = ["-connect"]
sources = ["manpage"]
[[commands.field]]
id = "name"
label = "Player name"
type = "string"
option = ["-name"]
sources = ["manpage"]
[[commands.field]]
id = "joystick"
label = "Joystick device"
type = "path"
path = { kind = "file", role = "input" }
option = ["-js0"]
sources = ["manpage"]
[[commands.task]]
id = "quick"
label = "Start playing"
fields = ["nomenu"]
[[commands.task]]
id = "host"
label = "Host a network game"
fields = ["listen", "name"]
required = ["listen"]
[[commands.task]]
id = "join"
label = "Join a network game"
fields = ["connect", "name"]
required = ["connect"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["nomenu", "hiscores", "name"]
[[commands.group]]
id = "advanced"
label = "Network and input"
fields = ["listen", "connect", "joystick"]