{
  "id": "vscode",
  "name": "Visual Studio Code",
  "homepage": "https://code.visualstudio.com",
  "description": "Code editing. Redefined.",
  "icon": "theSVG:visual-studio-code",
  "executables": [
    "code",
    "code-insiders"
  ],
  "dotfiles": {
    "paths": [
      "[appData]/Code/User/settings.json",
      "[appData]/Code/User/keybindings.json",
      "[appData]/Code/User/snippets/",
      "[appData]/Code - Insiders/User/settings.json",
      "[appData]/Code - Insiders/User/keybindings.json",
      "[appData]/Code - Insiders/User/snippets/"
    ],
    "secret": [],
    "self_sync": true
  },
  "commands": {
    "format": 1,
    "label": "Open in VS Code",
    "description": "Open files and folders, jump to a line, and manage extensions. Diff/merge, debugging and profiling flags are left out.",
    "quality": "ai-draft",
    "base": "fig:code",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "fig",
        "kind": "completion",
        "url": "https://github.com/withfig/autocomplete/blob/master/src/code.ts",
        "license": "MIT"
      }
    ],
    "field": [
      {
        "id": "paths",
        "label": "Files or folders",
        "description": "Files or folders to open; leave empty to open the app only.",
        "type": "path",
        "position": 0,
        "multiple": true,
        "path": {
          "kind": "any",
          "role": "input"
        },
        "sources": [
          "fig"
        ]
      },
      {
        "id": "new_window",
        "label": "New window",
        "type": "boolean",
        "option": [
          "--new-window",
          "-n"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "reuse_window",
        "label": "Reuse window",
        "type": "boolean",
        "option": [
          "--reuse-window",
          "-r"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "wait",
        "label": "Wait until closed",
        "description": "Do not return until the opened files are closed.",
        "type": "boolean",
        "option": [
          "--wait",
          "-w"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "goto",
        "label": "Go to file:line:column",
        "description": "Open a file at a position, written as file:line[:character].",
        "type": "string",
        "option": [
          "--goto",
          "-g"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "add",
        "label": "Add folder to window",
        "type": "path",
        "option": [
          "--add",
          "-a"
        ],
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "sources": [
          "fig"
        ]
      },
      {
        "id": "profile",
        "label": "Settings profile",
        "type": "string",
        "option": [
          "--profile"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "disable_extensions",
        "label": "Disable all extensions",
        "type": "boolean",
        "option": [
          "--disable-extensions"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "list_extensions",
        "label": "List installed extensions",
        "type": "boolean",
        "option": [
          "--list-extensions"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "show_versions",
        "label": "Show extension versions",
        "description": "Only meaningful together with --list-extensions.",
        "type": "boolean",
        "option": [
          "--show-versions"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "install_extension",
        "label": "Install extension",
        "description": "Extension id (publisher.name[@version]) or path to a VSIX.",
        "type": "string",
        "option": [
          "--install-extension"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "uninstall_extension",
        "label": "Uninstall extension",
        "description": "Extension id (publisher.name).",
        "type": "string",
        "option": [
          "--uninstall-extension"
        ],
        "effect": "delete",
        "sources": [
          "fig"
        ]
      }
    ],
    "task": [
      {
        "id": "open",
        "label": "Open files or folders",
        "fields": [
          "paths",
          "new_window",
          "reuse_window",
          "wait"
        ],
        "required": [
          "paths"
        ]
      },
      {
        "id": "goto",
        "label": "Open at a line",
        "fields": [
          "goto",
          "reuse_window"
        ],
        "required": [
          "goto"
        ]
      },
      {
        "id": "list_ext",
        "label": "List extensions",
        "fields": [
          "list_extensions",
          "show_versions"
        ],
        "set": {
          "list_extensions": [
            true
          ]
        }
      },
      {
        "id": "install_ext",
        "label": "Install an extension",
        "fields": [
          "install_extension"
        ],
        "required": [
          "install_extension"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "paths",
          "new_window",
          "reuse_window",
          "wait",
          "goto"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "profile",
          "disable_extensions",
          "add",
          "list_extensions",
          "show_versions",
          "install_extension",
          "uninstall_extension"
        ]
      }
    ]
  }
}
