{
  "name": "linthis",
  "displayName": "linthis",
  "description": "Multi-language linter and formatter for VS Code",
  "version": "0.3.0",
  "publisher": "linthis",
  "license": "MIT",
  "icon": "icon.png",
  "repository": {
    "type": "git",
    "url": "https://github.com/zhlinh/linthis"
  },
  "engines": {
    "vscode": "^1.75.0"
  },
  "categories": [
    "Linters",
    "Formatters",
    "Programming Languages"
  ],
  "keywords": [
    "linter",
    "formatter",
    "rust",
    "python",
    "typescript",
    "javascript",
    "go",
    "java",
    "cpp",
    "swift",
    "kotlin",
    "multi-language"
  ],
  "activationEvents": [
    "onStartupFinished"
  ],
  "main": "./dist/extension.js",
  "contributes": {
    "commands": [
      {
        "command": "linthis.lint",
        "title": "Linthis: Lint Document"
      },
      {
        "command": "linthis.format",
        "title": "Linthis: Format Document"
      },
      {
        "command": "linthis.restart",
        "title": "Linthis: Restart Language Server"
      }
    ],
    "configuration": {
      "title": "Linthis",
      "properties": {
        "linthis.enable": {
          "type": "boolean",
          "default": true,
          "description": "Enable/disable linthis extension"
        },
        "linthis.lintOnSave": {
          "type": "boolean",
          "default": true,
          "description": "Lint document on save"
        },
        "linthis.lintOnOpen": {
          "type": "boolean",
          "default": true,
          "description": "Lint document when opening a file"
        },
        "linthis.formatOnSave": {
          "type": "boolean",
          "default": false,
          "description": "Format document on save"
        },
        "linthis.executable.path": {
          "type": "string",
          "default": "",
          "description": "Path to linthis executable (leave empty for auto-detect)"
        },
        "linthis.executable.additionalArguments": {
          "type": "string",
          "default": "",
          "description": "Additional arguments to pass to linthis (space-separated)"
        },
        "linthis.usePlugin": {
          "type": "string",
          "default": "",
          "markdownDescription": "Specify plugin(s) to use directly, bypassing config files. Useful for team-shared lint configurations.\n\n**Supported formats:**\n- Git URL: `https://github.com/org/plugin.git`\n- Git URL with version: `https://github.com/org/plugin.git@v1.0`\n- Local path: `./my-plugin` or `/absolute/path`\n- Multiple plugins: `plugin1,plugin2` (comma-separated)\n\n**Example:** `https://github.com/zhlinh/linthis-plugin-template`"
        },
        "linthis.trace.server": {
          "type": "string",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "default": "off",
          "description": "Trace communication between VS Code and the linthis language server"
        }
      }
    }
  },
  "scripts": {
    "vscode:prepublish": "npm run build",
    "build": "webpack --mode production",
    "watch": "webpack --mode development --watch",
    "lint": "eslint src --ext ts",
    "pretest": "npm run compile-tests",
    "compile-tests": "tsc -p . --outDir out",
    "test": "node ./out/test/runTest.js",
    "test-compile": "tsc -p ./"
  },
  "devDependencies": {
    "@types/glob": "^8.1.0",
    "@types/mocha": "^10.0.0",
    "@types/node": "^20.0.0",
    "@types/vscode": "^1.75.0",
    "@typescript-eslint/eslint-plugin": "^7.0.0",
    "@typescript-eslint/parser": "^7.0.0",
    "@vscode/test-electron": "^2.3.0",
    "eslint": "^8.57.0",
    "glob": "^10.3.0",
    "mocha": "^10.2.0",
    "ts-loader": "^9.5.0",
    "typescript": "^5.4.0",
    "webpack": "^5.90.0",
    "webpack-cli": "^5.1.0"
  },
  "dependencies": {
    "vscode-languageclient": "^9.0.1"
  }
}
