{
  "id": "fish",
  "name": "fish",
  "homepage": "https://fishshell.com",
  "description": "A command line shell that favours discoverability: autosuggestions and highlighting out of the box.",
  "icon": "SimpleIcons:fishshell",
  "executables": [
    "fish"
  ],
  "platforms": [
    "macos",
    "linux"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/fish/config.fish",
      "[configHome]/fish/conf.d/",
      "[configHome]/fish/functions/",
      "[configHome]/fish/completions/",
      "[configHome]/fish/fish_plugins",
      "[configHome]/fish/themes/"
    ],
    "exclude": [
      "[configHome]/fish/fish_variables",
      "[configHome]/fish/fish_history",
      "[xdgData]/fish/"
    ],
    "secret": [],
    "machine_lines": [
      {
        "file": "[configHome]/fish/config.fish",
        "match": {
          "prefix": [
            "set -gx PATH",
            "fish_add_path"
          ]
        },
        "scope": "backup"
      },
      {
        "file": "[configHome]/fish/config.fish",
        "match": {
          "prefix": [
            "set -gx JAVA_HOME"
          ]
        },
        "scope": "platform"
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Start fish",
    "description": "Start fish interactively, run a command or script, or syntax-check a script. Debug and feature flags are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": true
    },
    "source": [
      {
        "id": "help",
        "kind": "manual",
        "url": "https://fishshell.com/docs/current/cmds/fish.html",
        "revision": "4.6.0",
        "evidence": "     -c or --command=COMMAND\n            Evaluate the specified commands instead of reading from the commandline.\n     -C or --init-command=COMMANDS\n            Evaluate specified commands after reading the configuration\n     -i or --interactive\n            The shell is interactive.\n     -l or --login\n            Act as if invoked as a login shell.\n     -N or --no-config\n            Do not read configuration files.\n     -n or --no-execute\n            Do not execute any commands, only perform syntax checking.\n     -P or --private\n            Enables private mode: fish will not access old or store new history.\n     fish [OPTIONS] [FILE [ARG ...]]\n"
      }
    ],
    "field": [
      {
        "id": "command",
        "label": "Command to run",
        "type": "string",
        "option": [
          "--command",
          "-c"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "init_command",
        "label": "Init command",
        "type": "string",
        "option": [
          "--init-command",
          "-C"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "interactive",
        "label": "Interactive",
        "type": "boolean",
        "option": [
          "--interactive",
          "-i"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "login",
        "label": "Login shell",
        "type": "boolean",
        "option": [
          "--login",
          "-l"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "no_config",
        "label": "Skip config files",
        "type": "boolean",
        "option": [
          "--no-config",
          "-N"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "no_execute",
        "label": "Syntax check only",
        "type": "boolean",
        "option": [
          "--no-execute",
          "-n"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "private",
        "label": "Private mode (no history)",
        "type": "boolean",
        "option": [
          "--private",
          "-P"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "script",
        "label": "Script file",
        "type": "path",
        "position": 0,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "run_script",
        "label": "Run a script",
        "fields": [
          "script"
        ],
        "required": [
          "script"
        ]
      },
      {
        "id": "check",
        "label": "Syntax-check a script",
        "fields": [
          "script"
        ],
        "required": [
          "script"
        ],
        "set": {
          "no_execute": [
            true
          ]
        }
      },
      {
        "id": "private",
        "label": "Private session",
        "fields": [],
        "set": {
          "private": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "script",
          "command",
          "no_execute",
          "private"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "init_command",
          "interactive",
          "login",
          "no_config"
        ]
      }
    ]
  }
}
