{
  "name": "@statiolake/coc-format-on-save",
  "version": "0.6.1",
  "description": "Format on save in coc",
  "author": "statiolake <20490597+statiolake@users.noreply.github.com>",
  "license": "MIT",
  "main": "lib/index.js",
  "keywords": [
    "coc.nvim"
  ],
  "engines": {
    "coc": "^0.0.80"
  },
  "scripts": {
    "lint": "eslint src --ext ts",
    "clean": "rimraf lib",
    "watch": "node esbuild.mjs --watch",
    "build": "node esbuild.mjs",
    "prepare": "node esbuild.mjs"
  },
  "prettier": {
    "singleQuote": true,
    "printWidth": 120,
    "semi": true
  },
  "devDependencies": {
    "@types/node": "^16.18.0",
    "@typescript-eslint/eslint-plugin": "^5.59.1",
    "@typescript-eslint/parser": "^5.59.1",
    "coc.nvim": "^0.0.83-next.24",
    "esbuild": "^0.17.18",
    "eslint": "^8.39.0",
    "eslint-config-prettier": "^8.8.0",
    "eslint-plugin-prettier": "^4.2.1",
    "prettier": "^2.8.8",
    "rimraf": "^5.0.0",
    "typescript": "^5.3.3",
    "zod": "^3.22.4"
  },
  "activationEvents": [
    "*"
  ],
  "contributes": {
    "configuration": {
      "type": "object",
      "title": "Format on save",
      "properties": {
        "format-on-save.enabled": {
          "type": "boolean",
          "default": true,
          "description": "Enable format-on-save extension"
        },
        "format-on-save.sortCocSettingsJson": {
          "type": "boolean",
          "default": true,
          "scope": "language-overridable",
          "description": "Sort coc-settings.json"
        },
        "format-on-save.trimTrailingWhitespace": {
          "type": "boolean",
          "default": true,
          "scope": "language-overridable",
          "description": "Remove trailing spaces and tabs before formatting"
        },
        "format-on-save.organizeImportWithFormat": {
          "type": "boolean",
          "default": true,
          "scope": "language-overridable",
          "description": "Organize import on save too"
        },
        "format-on-save.formatterTimeout": {
          "type": "number",
          "default": 5000,
          "scope": "application",
          "description": "Timeout for LSP formatter"
        },
        "format-on-save.actionTimeout": {
          "type": "number",
          "default": 5000,
          "scope": "application",
          "description": "Timeout for actions"
        },
        "format-on-save.waitAfterAction": {
          "type": "number",
          "default": 500,
          "scope": "application",
          "description": "Wait after executing action to ensure change occurs"
        },
        "format-on-save.actions": {
          "type": "object",
          "scope": "language-overridable",
          "items": {
            "type": "object",
            "properties": {
              "command": {
                "type": "string",
                "description": "coc command or Vim command to run"
              },
              "args": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arguments to pass to the command"
              },
              "commandType": {
                "type": "enum",
                "enum": [
                  "coc",
                  "vim"
                ],
                "default": "coc",
                "description": "Command type"
              }
            }
          }
        }
      }
    },
    "commands": [
      {
        "command": "format-on-save.formatOnDemand",
        "title": "Format current document if formatting is enabled"
      },
      {
        "command": "format-on-save.format",
        "title": "Format current document"
      }
    ]
  },
  "files": [
    "lib",
    "lua"
  ],
  "publishConfig": {
    "access": "public"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/statiolake/coc-format-on-save.git"
  },
  "bugs": {
    "url": "https://github.com/statiolake/coc-format-on-save/issues"
  },
  "homepage": "https://github.com/statiolake/coc-format-on-save#readme"
}
