{
  "name": "lean4-code-actions",
  "displayName": "Lean 4 Code Actions",
  "description": "Refactorings and snippets for Lean 4",
  "version": "1.1.32",
  "license": "MIT",
  "publisher": "denis-gorbachev",
  "repository": {
    "type": "github",
    "url": "https://github.com/DenisGorbachev/vscode-lean4-code-actions"
  },
  "icon": "img/icon.128x128.png",
  "engines": {
    "vscode": "^1.78.0"
  },
  "categories": [
    "Snippets",
    "Formatters",
    "Other"
  ],
  "keywords": [
    "Refactor",
    "Rename",
    "Move",
    "Snippet"
  ],
  "activationEvents": [
    "onLanguage:lean4"
  ],
  "main": "./out/src/extension.js",
  "contributes": {
    "configuration": {
      "title": "Lean 4 Code Actions",
      "properties": {
        "lean4CodeActions.registerRenameProvider": {
          "markdownDescription": "Use this extension as a rename provider for Lean files **(restart required)**",
          "type": "boolean",
          "default": true
        },
        "lean4CodeActions.updateImportsOnFileRename": {
          "markdownDescription": "Update imports in other files when a file is renamed **(restart required)**",
          "type": "boolean",
          "default": true
        },
        "lean4CodeActions.namespace.prefix": {
          "markdownDescription": "Prefix for top-level namespaces in generated code (added as `${prefix}.${body}`)",
          "type": "string",
          "default": ""
        },
        "lean4CodeActions.createNewFile.imports": {
          "markdownDescription": "Imports that should be added to every new type file",
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": []
        },
        "lean4CodeActions.createNewFile.opens": {
          "markdownDescription": "Opens that should be added to every new type file",
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": []
        },
        "lean4CodeActions.createNewFile.derivings": {
          "markdownDescription": "Derived typeclasses that should be added to every new type file\n\nNote: you can rely on #lean4CodeActions.createNewFile.imports# and #lean4CodeActions.createNewFile.opens#",
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": []
        },
        "lean4CodeActions.defaultLib": {
          "markdownDescription": "Default library to be used when creating a new file",
          "type": "string",
          "default": ""
        }
      }
    },
    "commands": [
      {
        "command": "lean4CodeActions.autoImport",
        "title": "Lean 4: Auto-import the definition under cursor",
        "shortTitle": "Lean 4: Auto-import"
      },
      {
        "command": "lean4CodeActions.extractDefinitionToSeparateFile",
        "title": "Lean 4: Extract definition to a separate file",
        "shortTitle": "Lean 4: Extract definition"
      },
      {
        "command": "lean4CodeActions.createNewFile",
        "title": "Lean 4: Create a new file"
      },
      {
        "command": "lean4CodeActions.createNewFileSet",
        "title": "Lean 4: Create a new file set (data, laws, subtype)"
      },
      {
        "command": "lean4CodeActions.renameDefinition",
        "title": "Lean 4: Rename the main definition in the current file"
      },
      {
        "command": "lean4CodeActions.setArgumentStyle",
        "title": "Lean 4: Set argument style"
      },
      {
        "command": "lean4CodeActions.createFreewriteFile",
        "title": "Lean 4: Create a freewrite file"
      },
      {
        "command": "lean4CodeActions.convertTextToList",
        "title": "Lean 4: Convert a text to list line-by-line"
      }
    ]
  },
  "scripts": {
    "build": "yarn run esbuild --sourcemap",
    "watch": "yarn run esbuild --sourcemap --watch",
    "typecheck": "tsc --noEmit",
    "lint:all": "yarn lint:code:all && yarn lint:markdown:all",
    "lint:code": "eslint --fix --config .eslintrc.ci.cjs --ignore-path .gitignore --max-warnings=0",
    "lint:code:all": "yarn lint:code .",
    "lint:markdown:text": "markdownlint --fix --ignore-path .gitignore",
    "lint:markdown:all": "yarn lint:markdown:text .",
    "esbuild": "esbuild ./src/extension.ts --bundle --outfile=./out/src/extension.js --external:vscode --format=cjs --platform=node",
    "lint": "eslint src --fix --ext ts --ignore-path .gitignore --max-warnings=0",
    "test": "yarn node --require=suppress-experimental-warnings --experimental-vm-modules $(yarn bin jest) --setupFiles dotenv/config --all",
    "test:ci": "yarn test",
    "test:watch": "yarn test --watchAll --bail",
    "vscode:prepublish": "yarn run esbuild --minify",
    "vscode:package": "mkdir -p dist && vsce package --yarn -o dist/extension.vsix",
    "vscode:publish": "mkdir -p dist && vsce publish --yarn",
    "deploy:local": "yarn vscode:package && code --install-extension dist/extension.vsix --force"
  },
  "devDependencies": {
    "@swc/core": "^1.3.74",
    "@swc/jest": "^0.2.28",
    "@types/chai": "^4.3.1",
    "@types/chai-as-promised": "^7.1.4",
    "@types/chai-subset": "^1.3.3",
    "@types/chai-things": "^0.0.35",
    "@types/debug": "^4.1.8",
    "@types/glob": "^8.1.0",
    "@types/jest": "^29.5.3",
    "@types/luxon": "^3.3.1",
    "@types/node": "16.x",
    "@types/papaparse": "^5.3.7",
    "@types/seedrandom": "^3.0.5",
    "@types/voca": "^1.4.2",
    "@types/vscode": "^1.78.0",
    "@typescript-eslint/eslint-plugin": "^6.2.1",
    "@typescript-eslint/parser": "^6.2.1",
    "@vscode/test-electron": "^2.3.0",
    "chai": "^4.3.4",
    "chai-as-promised": "^7.1.1",
    "chai-bignumber": "^3.0.0",
    "chai-subset": "^1.6.0",
    "chai-things": "^0.2.0",
    "esbuild": "^0.18.17",
    "eslint": "^8.39.0",
    "eslint-plugin-import": "^2.28.0",
    "eslint-plugin-node": "^11.1.0",
    "fast-check": "^3.12.0",
    "glob": "^8.1.0",
    "jest": "^29.6.2",
    "jest-config": "^29.6.2",
    "markdownlint-cli": "^0.35.0",
    "suppress-experimental-warnings": "^1.1.17",
    "typescript": "^5.1.6"
  },
  "dependencies": {
    "@vscode/webview-ui-toolkit": "^1.2.2",
    "bignumber.js": "^9.1.1",
    "dotenv": "^16.3.1",
    "lean4": "https://gitpkg.now.sh/leanprover/vscode-lean4/vscode-lean4",
    "luxon": "^3.3.0",
    "papaparse": "^5.4.1",
    "random": "^4.1.0",
    "remeda": "^1.14.0",
    "seedrandom": "^3.0.5",
    "stacktrace-js": "^2.0.2",
    "voca": "^1.4.1",
    "yaml": "^2.3.1",
    "zod": "^3.22.3"
  },
  "extensionDependencies": [
    "leanprover.lean4"
  ]
}
