{
  "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
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://manpages.debian.org/bookworm/dict/dict.1.en.html",
        "revision": "1.13.0",
        "evidence": "dict [options] [word]\n-h server or --host server    Specifies the hostname for the DICT server.\n-p service or --port service  Specifies the port (e.g., 2628) or service (e.g., dict) for connections.\n-d dbname or --database dbname  Specifies a specific database to search.\n-m or --match   Instead of printing a definition, perform a match using the specified strategy.\n-s strategy or --strategy strategy  Specify a matching strategy.\n-C or --nocorrect  disables the generation of this list.\n-D or --dbs   Query the server and display a list of available databases.\n-S or --strats   Query the server and display a list of available search strategies.\n-f or --formatted   Enables formatted output\n-4   Forces dict to use IPv4 addresses only.\n-6   Forces dict to use IPv6 addresses only.\n-v or --verbose   Be verbose.\n"
      }
    ],
    "field": [
      {
        "id": "word",
        "label": "Word",
        "type": "string",
        "position": 0,
        "sources": [
          "man"
        ]
      },
      {
        "id": "host",
        "label": "Server host",
        "type": "string",
        "option": [
          "--host",
          "-h"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "port",
        "label": "Port or service",
        "description": "Default 2628.",
        "type": "string",
        "option": [
          "--port",
          "-p"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "database",
        "label": "Database",
        "description": "Default searches all databases.",
        "type": "string",
        "option": [
          "--database",
          "-d"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "match",
        "label": "Match instead of define",
        "type": "boolean",
        "option": [
          "--match",
          "-m"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "strategy",
        "label": "Match strategy",
        "type": "string",
        "option": [
          "--strategy",
          "-s"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "nocorrect",
        "label": "No spelling suggestions",
        "type": "boolean",
        "option": [
          "--nocorrect",
          "-C"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "dbs",
        "label": "List databases",
        "type": "boolean",
        "option": [
          "--dbs",
          "-D"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "strats",
        "label": "List strategies",
        "type": "boolean",
        "option": [
          "--strats",
          "-S"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "verbose",
        "label": "Verbose",
        "type": "boolean",
        "option": [
          "--verbose",
          "-v"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "define",
        "label": "Define a word",
        "fields": [
          "word",
          "database",
          "host"
        ],
        "required": [
          "word"
        ]
      },
      {
        "id": "match",
        "label": "Match words",
        "fields": [
          "word",
          "match",
          "strategy",
          "database"
        ],
        "required": [
          "word"
        ],
        "set": {
          "match": [
            true
          ]
        }
      },
      {
        "id": "databases",
        "label": "List databases",
        "fields": [
          "dbs",
          "host"
        ],
        "required": [
          "dbs"
        ],
        "set": {
          "dbs": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "word",
          "database",
          "match",
          "strategy"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "host",
          "port",
          "nocorrect",
          "dbs",
          "strats",
          "verbose"
        ]
      }
    ]
  }
}
