{
  "id": "vifm",
  "name": "Vifm",
  "homepage": "https://vifm.info/",
  "description": "File manager with a curses interface and Vim-like keybindings.",
  "executables": [
    "vifm"
  ],
  "platforms": [
    "macos",
    "linux"
  ],
  "dotfiles": {
    "paths": [
      "~/.config/vifm/vifmrc",
      "~/.vifm/vifmrc"
    ],
    "exclude": [],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Open file manager",
    "description": "Start vifm in one or two directories, or use it as a file chooser. Remote-server and logging 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/vifm/vifm.1.en.html",
        "revision": "Debian bookworm",
        "evidence": "<path>  Starts Vifm in the specified path.\n<path> <path>  Starts Vifm in the specified paths.\n--select <path>  Open parent directory of the given path and select specified file in it.\n--choose-files <path>|-  Sets output file to write selection into on exit instead of opening files. \"-\" means standard output.\n--choose-dir <path>|-  Sets output file to write last visited directory into on exit. \"-\" means standard output.\n--on-choose <command>  Sets command to be executed on selected files instead of opening them.\n-c <command> or +<command>  Run command-line mode <command> on startup.\n--no-configs  Skip reading vifmrc and vifminfo."
      }
    ],
    "field": [
      {
        "id": "paths",
        "label": "Directories",
        "description": "One path for a single pane, two for a split view.",
        "type": "path",
        "position": 0,
        "multiple": true,
        "path": {
          "kind": "any",
          "role": "input",
          "must_exist": true
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "select",
        "label": "Select file",
        "description": "Open the parent directory of this path with the file selected.",
        "type": "path",
        "option": [
          "--select"
        ],
        "path": {
          "kind": "any",
          "role": "input",
          "must_exist": true
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "choose_files",
        "label": "Write chosen files to",
        "description": "File to write the selection into on exit instead of opening files; - means standard output.",
        "type": "path",
        "option": [
          "--choose-files"
        ],
        "path": {
          "kind": "file",
          "role": "output",
          "must_exist": false
        },
        "effect": "overwrite",
        "sources": [
          "man"
        ]
      },
      {
        "id": "choose_dir",
        "label": "Write last directory to",
        "description": "File to write the last visited directory into on exit; - means standard output.",
        "type": "path",
        "option": [
          "--choose-dir"
        ],
        "path": {
          "kind": "file",
          "role": "output",
          "must_exist": false
        },
        "effect": "overwrite",
        "sources": [
          "man"
        ]
      },
      {
        "id": "on_choose",
        "label": "Command on selection",
        "description": "Run this command on the selected files instead of opening them.",
        "type": "string",
        "option": [
          "--on-choose"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "startup_command",
        "label": "Startup command",
        "description": "Command-line mode command to run on startup.",
        "type": "string",
        "option": [
          "-c"
        ],
        "multiple": true,
        "sources": [
          "man"
        ]
      },
      {
        "id": "no_configs",
        "label": "Skip vifmrc and vifminfo",
        "type": "boolean",
        "option": [
          "--no-configs"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "open",
        "label": "Open directories",
        "fields": [
          "paths"
        ]
      },
      {
        "id": "chooser",
        "label": "Pick a file (write to file)",
        "fields": [
          "paths",
          "choose_files"
        ],
        "required": [
          "choose_files"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "paths",
          "select",
          "choose_files",
          "choose_dir"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "on_choose",
          "startup_command",
          "no_configs"
        ]
      }
    ]
  }
}
