{
  "name": "@yaegassy/coc-pyrefly",
  "version": "0.1.1",
  "description": "pyrefly language server extension for coc.nvim",
  "author": "yaegassy <yosstools@gmail.com>",
  "license": "MIT",
  "main": "lib/index.js",
  "keywords": [
    "coc.nvim",
    "python",
    "python3",
    "lsp",
    "pyrefly",
    "coc-pyrefly",
    "type",
    "typecheck",
    "typehint",
    "completion",
    "lint",
    "vim",
    "neovim"
  ],
  "engines": {
    "coc": "^0.0.82"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/yaegassy/coc-pyrefly.git"
  },
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "watch": "node esbuild.mjs --watch",
    "build": "node esbuild.mjs",
    "prepare": "node esbuild.mjs",
    "typecheck": "tsc --noEmit",
    "lint": "biome lint src/",
    "lint:fix": "biome lint --write src/",
    "format": "biome format src/",
    "format:fix": "biome format --write src/",
    "check": "biome check src/",
    "check:fix": "biome check --write src/"
  },
  "devDependencies": {
    "@biomejs/biome": "2.2.4",
    "@types/which": "^3.0.4",
    "coc.nvim": "^0.0.83-next.18",
    "esbuild": "^0.25.10",
    "typescript": "^5.3.3",
    "which": "^5.0.0"
  },
  "activationEvents": [
    "onLanguage:python"
  ],
  "contributes": {
    "rootPatterns": [
      {
        "filetype": "python",
        "patterns": [
          "pyrefly.toml",
          "pyproject.toml",
          "pyrightconfig.json",
          "mypy.ini",
          ".mypy.ini",
          "setup.cfg",
          "setup.py",
          "requirements.txt",
          "uv.lock"
        ]
      }
    ],
    "configuration": {
      "type": "object",
      "title": "coc-pyrefly configuration",
      "properties": {
        "pyrefly.enable": {
          "type": "boolean",
          "default": true,
          "description": "Enable coc-pyrefly extension"
        },
        "pyrefly.lspPath": {
          "type": "string",
          "default": "",
          "description": "Custom path for the `pyrefly` binary. If no value is set, the `pyrefly` command will be detected from the runtime environment"
        },
        "pyrefly.lspArguments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [
            "lsp"
          ],
          "description": "Additional arguments that should be passed to the binary at pyrefly.lspPath"
        },
        "python.pyrefly.disableLanguageServices": {
          "type": "boolean",
          "default": false,
          "description": "If true, pyrefly will not provide other IDE services like completions, hover, definition, etc. To control type errors, see `python.pyrefly.displayTypeErrors`"
        },
        "python.pyrefly.displayTypeErrors": {
          "type": "string",
          "description": "If 'default', Pyrefly will only provide type check squiggles in the IDE if your file is covered by a Pyrefly configuration. If 'force-off', Pyrefly will never provide type check squiggles in the IDE. If 'force-on', Pyrefly will always provide type check squiggles in the IDE. If 'error-missing-imports', Pyrefly will only show errors for missing imports and missing sources (missing-import, missing-source, and missing-source-for-stubs).",
          "default": "default",
          "enum": [
            "default",
            "force-on",
            "force-off",
            "error-missing-imports"
          ]
        },
        "python.pyrefly.disabledLanguageServices": {
          "type": "object",
          "default": {},
          "description": "Disable specific language services. Set individual services to true to disable them.",
          "properties": {
            "hover": {
              "type": "boolean",
              "default": false
            },
            "documentSymbol": {
              "type": "boolean",
              "default": false
            },
            "workspaceSymbol": {
              "type": "boolean",
              "default": false
            },
            "inlayHint": {
              "type": "boolean",
              "default": false
            },
            "completion": {
              "type": "boolean",
              "default": false
            },
            "codeAction": {
              "type": "boolean",
              "default": false
            },
            "definition": {
              "type": "boolean",
              "default": false
            },
            "declaration": {
              "type": "boolean",
              "default": false
            },
            "typeDefinition": {
              "type": "boolean",
              "default": false
            },
            "references": {
              "type": "boolean",
              "default": false
            },
            "documentHighlight": {
              "type": "boolean",
              "default": false
            },
            "rename": {
              "type": "boolean",
              "default": false
            },
            "codeLens": {
              "type": "boolean",
              "default": false
            },
            "semanticTokens": {
              "type": "boolean",
              "default": false
            },
            "signatureHelp": {
              "type": "boolean",
              "default": false
            },
            "implementation": {
              "type": "boolean",
              "default": false
            }
          }
        },
        "python.analysis.showHoverGoToLinks": {
          "type": "boolean",
          "default": true,
          "description": "Controls whether hover tooltips include 'Go to definition' and 'Go to type definition' navigation links.",
          "scope": "resource"
        },
        "pyrefly.trace.server": {
          "type": "string",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "default": "off",
          "description": "Traces the communication between coc.nvim and the pyrefly server."
        }
      }
    },
    "commands": [
      {
        "command": "pyrefly.showLogs",
        "title": "Show logs"
      },
      {
        "command": "pyrefly.restartClient",
        "title": "Restart Pyrefly Client"
      }
    ]
  }
}
