lean4-code-actions
Version:
Refactorings and snippets for Lean 4
192 lines (191 loc) • 6.58 kB
JSON
{
"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"
]
}