{
  "name": "coc-solargraph",
  "version": "1.3.0",
  "description": "Ruby languageserver extension for coc.nvim, using solargraph",
  "main": "lib/index.js",
  "publisher": "chemzqm",
  "engines": {
    "coc": "^0.0.80"
  },
  "keywords": [
    "coc.nvim",
    "solargraph",
    "ruby"
  ],
  "scripts": {
    "prepare": "node esbuild.js",
    "lint": "tsc -p tsconfig.json --noEmit",
    "test": "coc-test --nvim \"test/**/*.test.ts\"",
    "test:integration:nvim": "coc-test --nvim \"test/**/*.test.ts\"",
    "test:integration:vim": "coc-test --vim \"test/**/*.test.ts\""
  },
  "activationEvents": [
    "onLanguage:ruby",
    "onCommand:solargraph.search",
    "onCommand:solargraph.restart",
    "onCommand:solargraph.config",
    "onCommand:solargraph.downloadCore"
  ],
  "contributes": {
    "rootPatterns": [
      {
        "filetype": "ruby",
        "patterns": [
          ".solargraph.yml",
          "Gemfile"
        ]
      }
    ],
    "configuration": {
      "title": "Solargraph settings for Ruby",
      "properties": {
        "solargraph.trace.server": {
          "type": "string",
          "default": "off",
          "enum": [
            "off",
            "messages",
            "verbose"
          ]
        },
        "solargraph.shell": {
          "type": [
            "null",
            "string"
          ],
          "default": null,
          "description": "Shell used to launch solargraph server"
        },
        "solargraph.transport": {
          "type": "string",
          "default": "socket",
          "enum": [
            "socket",
            "stdio",
            "external"
          ],
          "description": "The type of transport to use."
        },
        "solargraph.promptDownload": {
          "type": "boolean",
          "description": "Prompt for download solargraph gem when not found.",
          "default": true
        },
        "solargraph.externalServer": {
          "type": "object",
          "description": "The host and port to use for external transports. (Ignored for stdio and socket transports.)",
          "properties": {
            "host": {
              "type": "string",
              "default": "localhost"
            },
            "port": {
              "type": "integer",
              "default": 7658
            }
          },
          "default": {
            "host": "localhost",
            "port": 7658
          }
        },
        "solargraph.commandPath": {
          "type": "string",
          "default": "solargraph",
          "description": "Path to the solargraph command.  Set this to an absolute path to select from multiple installed Ruby versions.",
          "scope": "resource"
        },
        "solargraph.useBundler": {
          "type": "boolean",
          "description": "Use `bundle exec` to run solargraph. (If this is true, the solargraph.commandPath setting is ignored.)",
          "default": false
        },
        "solargraph.bundlerPath": {
          "type": "string",
          "description": "Path to the bundle executable, defaults to 'bundle'",
          "default": "bundle",
          "scope": "resource"
        },
        "solargraph.checkGemVersion": {
          "type": "boolean",
          "description": "Automatically check if a new version of the Solargraph gem is available.",
          "default": true
        },
        "solargraph.completion": {
          "type": [
            "boolean"
          ],
          "description": "Enable completion",
          "default": true
        },
        "solargraph.hover": {
          "type": [
            "boolean"
          ],
          "description": "Enable hover",
          "default": true
        },
        "solargraph.diagnostics": {
          "type": [
            "boolean"
          ],
          "description": "Enable diagnostics",
          "default": false
        },
        "solargraph.autoformat": {
          "type": [
            "boolean"
          ],
          "description": "Enable automatic formatting while typing (WARNING: experimental)",
          "default": false
        },
        "solargraph.formatting": {
          "type": [
            "boolean"
          ],
          "description": "Enable document formatting",
          "default": false
        },
        "solargraph.symbols": {
          "type": [
            "boolean"
          ],
          "description": "Enable symbols",
          "default": true
        },
        "solargraph.definitions": {
          "type": [
            "boolean"
          ],
          "description": "Enable definitions (go to, etc.)",
          "default": true
        },
        "solargraph.rename": {
          "type": [
            "boolean"
          ],
          "description": "Enable symbol renaming",
          "default": true
        },
        "solargraph.references": {
          "type": [
            "boolean"
          ],
          "description": "Enable finding references",
          "default": true
        },
        "solargraph.folding": {
          "type": "boolean",
          "description": "Enable folding ranges",
          "default": true
        },
        "solargraph.logLevel": {
          "type": "string",
          "description": "Level of debug info to log. `warn` is least and `debug` is most.",
          "enum": [
            "warn",
            "info",
            "debug"
          ],
          "default": "warn"
        }
      }
    },
    "commands": [
      {
        "command": "solargraph.search",
        "title": "Search Ruby Documentation",
        "category": "Solargraph"
      },
      {
        "command": "solargraph.restart",
        "title": "Restart Solargraph",
        "category": "Solargraph"
      },
      {
        "command": "solargraph.config",
        "title": "Create a Solargraph config file",
        "category": "Solargraph"
      },
      {
        "command": "solargraph.checkGemVersion",
        "title": "Check Solargraph gem version",
        "category": "Solargraph"
      },
      {
        "command": "solargraph.downloadCore",
        "title": "Download current Ruby documentation",
        "category": "Solargraph"
      },
      {
        "command": "solargraph.buildGemDocs",
        "title": "Build new gem documentation",
        "category": "Solargraph"
      },
      {
        "command": "solargraph.rebuildAllGemDocs",
        "title": "Rebuild all gem documentation",
        "category": "Solargraph"
      },
      {
        "command": "solargraph.environment",
        "title": "Get environment info",
        "category": "Solargraph"
      }
    ]
  },
  "coc-test": {
    "entryFile": "src/index.ts",
    "user-settings": {
      "solargraph.commandPath": "solargraph",
      "solargraph.transport": "stdio",
      "solargraph.checkGemVersion": false,
      "solargraph.completion": true,
      "solargraph.hover": true,
      "solargraph.diagnostics": false,
      "solargraph.autoformat": false,
      "solargraph.formatting": false,
      "solargraph.symbols": true,
      "solargraph.definitions": true,
      "solargraph.rename": true,
      "solargraph.references": true,
      "solargraph.folding": true,
      "solargraph.logLevel": "warn"
    }
  },
  "author": "chemzqm@gmail.com",
  "license": "MIT",
  "devDependencies": {
    "@types/node": "^22.19.0",
    "coc-test": "^0.1.8",
    "coc.nvim": "0.0.83-next.26",
    "esbuild": "^0.28.2",
    "solargraph-utils": "^1.3.0",
    "tslib": "^1.10.0",
    "turndown": "^7.0.0",
    "typescript": "^6.0.3",
    "which": "^7.0.0"
  },
  "allowScripts": {
    "esbuild@0.28.2": true
  }
}
