{
  "id": "aspell",
  "name": "GNU Aspell",
  "homepage": "http://aspell.net",
  "executables": [
    "aspell"
  ],
  "dotfiles": {
    "paths": [
      "~/.aspell.conf",
      "~/.aspell.*.pws",
      "~/.aspell.*.prepl"
    ],
    "exclude": [],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Check spelling",
    "description": "Interactively spell-check a file with aspell, or list misspelled words from standard input. Dictionary management and pipe mode are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://man.archlinux.org/man/aspell.1.en",
        "revision": "2026-10-27",
        "evidence": "check <file>, -c <file>\n-d <name> or --master=<name>\n-l <string> or --lang=<string>\n--personal=<file>, -p <file>\n--encoding=<string>\n--mode=<string>, -e, -H, -t, -n\n--sug-mode=<mode>\n--ignore-case, --dont-ignore-case\n--backup, --dont-backup, -b, -x\n"
      }
    ],
    "field": [
      {
        "id": "check",
        "label": "Check mode",
        "description": "Interactive check of one file.",
        "fixed": [
          "-c"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "file",
        "label": "File to check",
        "type": "path",
        "path": {
          "kind": "file",
          "role": "input"
        },
        "position": 0,
        "min": 1,
        "sources": [
          "man"
        ]
      },
      {
        "id": "lang",
        "label": "Language",
        "type": "string",
        "option": [
          "--lang",
          "-l"
        ],
        "suggestions": [
          {
            "value": "en_US",
            "label": "English (US)"
          },
          {
            "value": "en_GB",
            "label": "English (UK)"
          },
          {
            "value": "de_DE",
            "label": "German"
          },
          {
            "value": "fr_FR",
            "label": "French"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "personal",
        "label": "Personal word list",
        "type": "path",
        "path": {
          "kind": "file",
          "role": "input"
        },
        "option": [
          "--personal",
          "-p"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "encoding",
        "label": "Encoding",
        "type": "string",
        "option": [
          "--encoding"
        ],
        "suggestions": [
          {
            "value": "utf-8",
            "label": "UTF-8"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "sug_mode",
        "label": "Suggestion mode",
        "type": "enum",
        "option": [
          "--sug-mode"
        ],
        "choices": [
          {
            "value": "ultra",
            "label": "Ultra"
          },
          {
            "value": "fast",
            "label": "Fast"
          },
          {
            "value": "normal",
            "label": "Normal"
          },
          {
            "value": "bad-spellers",
            "label": "Bad spellers"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "html",
        "label": "HTML mode",
        "type": "boolean",
        "option": [
          "-H"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "tex",
        "label": "TeX mode",
        "type": "boolean",
        "option": [
          "-t"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "no_backup",
        "label": "Do not create backup file",
        "type": "boolean",
        "option": [
          "--dont-backup",
          "-x"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "check-file",
        "label": "Check a file",
        "fields": [
          "check",
          "file",
          "lang",
          "personal"
        ],
        "required": [
          "file"
        ]
      },
      {
        "id": "check-html",
        "label": "Check an HTML file",
        "set": {
          "html": [
            true
          ]
        },
        "lock": [
          "html"
        ],
        "fields": [
          "check",
          "file",
          "lang",
          "html",
          "no_backup"
        ],
        "required": [
          "file"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "check",
          "file",
          "lang",
          "personal"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "encoding",
          "sug_mode",
          "html",
          "tex",
          "no_backup"
        ]
      }
    ]
  }
}
