{
  "name": "nvim",
  "description": "Hyperextensible Vim-based text editor",
  "options": [
    {
      "names": [
        "+"
      ],
      "description": "Start at end of file"
    },
    {
      "names": [
        "--cmd"
      ],
      "description": "Execute <cmd> before any config",
      "takes_arg": true,
      "arg": {
        "name": "cmd"
      }
    },
    {
      "names": [
        "-c"
      ],
      "description": "Execute <cmd> after config and first file",
      "takes_arg": true,
      "arg": {
        "name": "cmd"
      }
    },
    {
      "names": [
        "-b"
      ],
      "description": "Binary mode"
    },
    {
      "names": [
        "-d"
      ],
      "description": "Diff mode"
    },
    {
      "names": [
        "-e",
        "-E"
      ],
      "description": "Ex mode"
    },
    {
      "names": [
        "-es",
        "-Es"
      ],
      "description": "Silent (batch) mode"
    },
    {
      "names": [
        "-h",
        "--help"
      ],
      "description": "Print this help message"
    },
    {
      "names": [
        "-i"
      ],
      "description": "Use this shada file",
      "takes_arg": true,
      "arg": {
        "name": "shada",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "-m"
      ],
      "description": "Modifications (writing files) not allowed"
    },
    {
      "names": [
        "-M"
      ],
      "description": "Modifications in text not allowed"
    },
    {
      "names": [
        "-n"
      ],
      "description": "No swap file, use memory only"
    },
    {
      "names": [
        "-o"
      ],
      "description": "Open N windows (default: one per file)",
      "takes_arg": true,
      "arg": {
        "name": "N"
      }
    },
    {
      "names": [
        "-O"
      ],
      "description": "Open N vertical windows (default: one per file)",
      "takes_arg": true,
      "arg": {
        "name": "N"
      }
    },
    {
      "names": [
        "-p"
      ],
      "description": "Open N tab pages (default: one per file)",
      "takes_arg": true,
      "arg": {
        "name": "N"
      }
    },
    {
      "names": [
        "-L"
      ],
      "description": "List swap files"
    },
    {
      "names": [
        "-r"
      ],
      "description": "Recover edit state for this file",
      "takes_arg": true,
      "arg": {
        "name": "file",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "-R"
      ],
      "description": "Read-only mode"
    },
    {
      "names": [
        "-S"
      ],
      "description": "Source <session> after loading the first file",
      "takes_arg": true,
      "arg": {
        "name": "session",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "-s"
      ],
      "description": "Read Normal mode commands from <scriptin>",
      "takes_arg": true,
      "arg": {
        "name": "scriptin",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "-u"
      ],
      "description": "Use this config file",
      "takes_arg": true,
      "arg": {
        "name": "config",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "-v",
        "--version"
      ],
      "description": "Print version information"
    },
    {
      "names": [
        "--api-info"
      ],
      "description": "Write msgpack-encoded API metadata to stdout"
    },
    {
      "names": [
        "--embed"
      ],
      "description": "Use stdin/stdout as a msgpack-rpc channel"
    },
    {
      "names": [
        "--headless"
      ],
      "description": "Don't start a user interface"
    },
    {
      "names": [
        "--listen"
      ],
      "description": "Serve RPC API from this address",
      "takes_arg": true,
      "arg": {
        "name": "address"
      }
    },
    {
      "names": [
        "--noplugin"
      ],
      "description": "Don't load plugins"
    },
    {
      "names": [
        "--remote",
        "--remote-subcommand"
      ],
      "description": "Execute commands remotely on a server"
    },
    {
      "names": [
        "--server"
      ],
      "description": "Specify RPC server to send commands to",
      "takes_arg": true,
      "arg": {
        "name": "address"
      }
    },
    {
      "names": [
        "--startuptime"
      ],
      "description": "Write startup timing messages to <file>",
      "takes_arg": true,
      "arg": {
        "name": "file",
        "template": "filepaths"
      }
    }
  ],
  "args": [
    {
      "template": "filepaths"
    }
  ]
}
