id = "dict"
name = "dict"
homepage = "https://github.com/cheusov/dictd"
description = "DICT Protocol Client"
executables = ["dict"]
[dotfiles]
paths = ["~/.dictrc"]
exclude = []
secret = []
side_effect = false
[commands]
format = 1
label = "Look up a word"
description = "Query a DICT server for definitions or matches. Authentication, MIME, debug and URL forms are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = true }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/bookworm/dict/dict.1.en.html"
revision = "1.13.0"
evidence = """
dict [options] [word]
-h server or --host server Specifies the hostname for the DICT server.
-p service or --port service Specifies the port (e.g., 2628) or service (e.g., dict) for connections.
-d dbname or --database dbname Specifies a specific database to search.
-m or --match Instead of printing a definition, perform a match using the specified strategy.
-s strategy or --strategy strategy Specify a matching strategy.
-C or --nocorrect disables the generation of this list.
-D or --dbs Query the server and display a list of available databases.
-S or --strats Query the server and display a list of available search strategies.
-f or --formatted Enables formatted output
-4 Forces dict to use IPv4 addresses only.
-6 Forces dict to use IPv6 addresses only.
-v or --verbose Be verbose.
"""
[[commands.field]]
id = "word"
label = "Word"
type = "string"
position = 0
sources = ["man"]
[[commands.field]]
id = "host"
label = "Server host"
type = "string"
option = ["--host", "-h"]
sources = ["man"]
[[commands.field]]
id = "port"
label = "Port or service"
description = "Default 2628."
type = "string"
option = ["--port", "-p"]
sources = ["man"]
[[commands.field]]
id = "database"
label = "Database"
description = "Default searches all databases."
type = "string"
option = ["--database", "-d"]
sources = ["man"]
[[commands.field]]
id = "match"
label = "Match instead of define"
type = "boolean"
option = ["--match", "-m"]
sources = ["man"]
[[commands.field]]
id = "strategy"
label = "Match strategy"
type = "string"
option = ["--strategy", "-s"]
sources = ["man"]
[[commands.field]]
id = "nocorrect"
label = "No spelling suggestions"
type = "boolean"
option = ["--nocorrect", "-C"]
sources = ["man"]
[[commands.field]]
id = "dbs"
label = "List databases"
type = "boolean"
option = ["--dbs", "-D"]
sources = ["man"]
[[commands.field]]
id = "strats"
label = "List strategies"
type = "boolean"
option = ["--strats", "-S"]
sources = ["man"]
[[commands.field]]
id = "verbose"
label = "Verbose"
type = "boolean"
option = ["--verbose", "-v"]
sources = ["man"]
[[commands.task]]
id = "define"
label = "Define a word"
fields = ["word", "database", "host"]
required = ["word"]
[[commands.task]]
id = "match"
label = "Match words"
fields = ["word", "match", "strategy", "database"]
required = ["word"]
set = { match = [true] }
[[commands.task]]
id = "databases"
label = "List databases"
fields = ["dbs", "host"]
required = ["dbs"]
set = { dbs = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["word", "database", "match", "strategy"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["host", "port", "nocorrect", "dbs", "strats", "verbose"]