{
  "id": "gmsh",
  "name": "Gmsh",
  "homepage": "https://gmsh.info/",
  "executables": [
    "gmsh"
  ],
  "dotfiles": {
    "paths": [
      "~/.gmsh-options",
      "%APPDATA%/.gmsh-options"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Generate mesh",
    "description": "Mesh a geometry file in batch mode and write the result. Post-processing, display and scripting options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://manpages.debian.org/bookworm/gmsh/gmsh.1.en.html",
        "revision": "bookworm",
        "evidence": "-1, -2, -3\nperform 1D, 2D or 3D mesh generation, then exit.\n-o file\nspecify output file name.\n-format\nstring\nset output mesh format (auto, msh, msh1, msh2, msh4, unv, vrml, stl, mesh, bdf, med, ...).\n-bin\nuse binary format when available.\n-algo string\n-order int\nset mesh order.\n-clscale\nfloat\nset global mesh element size scaling factor.\n-clmin float\n-clmax float\n-nopopup\n"
      }
    ],
    "field": [
      {
        "id": "input",
        "label": "Geometry file",
        "type": "path",
        "position": 0,
        "path": {
          "kind": "file",
          "role": "input",
          "must_exist": true
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "mesh_1d",
        "label": "1D mesh",
        "type": "boolean",
        "option": [
          "-1"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "mesh_2d",
        "label": "2D mesh",
        "type": "boolean",
        "option": [
          "-2"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "mesh_3d",
        "label": "3D mesh",
        "type": "boolean",
        "option": [
          "-3"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "output",
        "label": "Output file",
        "type": "path",
        "option": [
          "-o"
        ],
        "path": {
          "kind": "file",
          "role": "output",
          "must_exist": false
        },
        "effect": "overwrite",
        "sources": [
          "man"
        ]
      },
      {
        "id": "format",
        "label": "Output format",
        "type": "string",
        "option": [
          "-format"
        ],
        "suggestions": [
          {
            "value": "msh",
            "label": "msh"
          },
          {
            "value": "msh2",
            "label": "msh2"
          },
          {
            "value": "stl",
            "label": "STL"
          },
          {
            "value": "unv",
            "label": "UNV"
          },
          {
            "value": "vrml",
            "label": "VRML"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "bin",
        "label": "Binary output",
        "type": "boolean",
        "option": [
          "-bin"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "order",
        "label": "Mesh order",
        "type": "integer",
        "option": [
          "-order"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "clscale",
        "label": "Element size factor",
        "type": "number",
        "option": [
          "-clscale"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "clmin",
        "label": "Minimum element size",
        "type": "number",
        "option": [
          "-clmin"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "clmax",
        "label": "Maximum element size",
        "type": "number",
        "option": [
          "-clmax"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "nopopup",
        "label": "No popup dialogs",
        "type": "boolean",
        "option": [
          "-nopopup"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "mesh",
        "label": "Mesh and save",
        "set": {
          "mesh_3d": [
            true
          ]
        },
        "fields": [
          "input",
          "mesh_1d",
          "mesh_2d",
          "mesh_3d",
          "output",
          "format",
          "order"
        ],
        "required": [
          "input",
          "output"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "input",
          "mesh_1d",
          "mesh_2d",
          "mesh_3d",
          "output",
          "format",
          "order"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "bin",
          "clscale",
          "clmin",
          "clmax",
          "nopopup"
        ]
      }
    ]
  }
}
