{
    "name": "solargraph",
    "publisher": "castwide",
    "displayName": "Ruby Solargraph",
    "description": "A Ruby language server featuring code completion, intellisense, and inline documentation",
    "icon": "solargraph.png",
    "version": "0.25.0",
    "categories": [
        "Programming Languages",
        "Linters",
        "Formatters"
    ],
    "keywords": [
        "Ruby",
        "autocomplete",
        "intellisense",
        "YARD",
        "language server"
    ],
    "repository": {
        "type": "git",
        "url": "https://github.com/castwide/vscode-solargraph"
    },
    "license": "MIT",
    "engines": {
        "vscode": "^1.64.0"
    },
    "extensionKind": [
        "workspace"
    ],
    "activationEvents": [
        "onLanguage:ruby",
        "onCommand:solargraph.search",
        "onCommand:solargraph.restart",
        "onCommand:solargraph.config",
        "onCommand:solargraph.downloadCore",
        "onCommand:solargraph.buildGemDocs",
        "onCommand:solargraph.rebuildAllGemDocs"
    ],
    "main": "./out/extension.js",
    "files": [
        "views"
    ],
    "contributes": {
        "configuration": {
            "title": "Solargraph settings for Ruby",
            "properties": {
                "solargraph.transport": {
                    "type": "string",
                    "default": "socket",
                    "enum": [
                        "socket",
                        "stdio",
                        "external"
                    ],
                    "description": "The type of transport to use."
                },
                "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'. Needs to be an absolute path for the 'bundle' exec/shim",
                    "default": "bundle",
                    "scope": "resource"
                },
                "solargraph.checkGemVersion": {
                    "type": "boolean",
                    "description": "Automatically check if a new version of the Solargraph gem is available.",
                    "default": true,
                    "enum": [
                        true,
                        false
                    ]
                },
                "solargraph.completion": {
                    "type": [
                        "boolean"
                    ],
                    "description": "Enable completion",
                    "default": true,
                    "enum": [
                        true,
                        false
                    ]
                },
                "solargraph.hover": {
                    "type": [
                        "boolean"
                    ],
                    "description": "Enable hover",
                    "default": true,
                    "enum": [
                        true,
                        false
                    ]
                },
                "solargraph.diagnostics": {
                    "type": [
                        "boolean"
                    ],
                    "description": "Enable diagnostics",
                    "default": false,
                    "enum": [
                        true,
                        false
                    ]
                },
                "solargraph.autoformat": {
                    "type": [
                        "boolean"
                    ],
                    "description": "Enable automatic formatting while typing (WARNING: experimental)",
                    "default": false,
                    "enum": [
                        true,
                        false
                    ]
                },
                "solargraph.formatting": {
                    "type": [
                        "boolean"
                    ],
                    "description": "Enable document formatting",
                    "enum": [
                        true,
                        false
                    ],
                    "default": false
                },
                "solargraph.symbols": {
                    "type": [
                        "boolean"
                    ],
                    "description": "Enable symbols",
                    "enum": [
                        true,
                        false
                    ],
                    "default": true
                },
                "solargraph.definitions": {
                    "type": [
                        "boolean"
                    ],
                    "description": "Enable definitions (go to, etc.)",
                    "enum": [
                        true,
                        false
                    ],
                    "default": true
                },
                "solargraph.rename": {
                    "type": [
                        "boolean"
                    ],
                    "description": "Enable symbol renaming",
                    "enum": [
                        true,
                        false
                    ],
                    "default": true
                },
                "solargraph.references": {
                    "type": [
                        "boolean"
                    ],
                    "description": "Enable finding references",
                    "enum": [
                        true,
                        false
                    ],
                    "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"
            }
        ],
        "keybindings": [
            {
                "command": "solargraph.search",
                "key": "ctrl+shift+r",
                "mac": "cmd+shift+r"
            }
        ]
    },
    "scripts": {
        "vscode:prepublish": "npm run compile",
        "compile": "tsc -p ./",
        "watch": "tsc -watch -p ./",
        "pretest": "npm run compile && npm run lint",
        "lint": "eslint src --ext ts",
        "lint:fix": "eslint src --ext ts --fix",
        "test": "node ./out/test/runTest.js"
    },
    "devDependencies": {
        "@types/glob": "^7.2.0",
        "@types/mocha": "^10.0.10",
        "@types/node": "14.x",
        "@types/vscode": "^1.64.0",
        "@typescript-eslint/eslint-plugin": "^5.11.0",
        "@typescript-eslint/parser": "^5.11.0",
        "@vscode/test-electron": "^2.0.3",
        "eslint": "^8.9.0",
        "glob": "^7.2.0",
        "mocha": "^11.1.0",
        "typescript": "^4.5.4"
    },
    "dependencies": {
        "is-relative": "^1.0.0",
        "solargraph-utils": "^1.3.0",
        "vscode-languageclient": "^7.0.0"
    }
}
