{
  "name": "coc-esbonio",
  "version": "0.14.4",
  "esbonioLsVersion": "0.16.4",
  "description": "esbonio ([Sphinx] Python Documentation Generator) language server extension for coc.nvim",
  "author": "yaegassy <yosstools@gmail.com>",
  "license": "MIT",
  "main": "lib/index.js",
  "keywords": [
    "coc.nvim",
    "vim",
    "neovim",
    "python",
    "sphinx",
    "documentation",
    "lsp",
    "linter",
    "restructuredtext"
  ],
  "engines": {
    "coc": "^0.0.80"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/yaegassy/coc-esbonio"
  },
  "scripts": {
    "lint": "eslint src --ext ts",
    "clean": "rimraf lib",
    "watch": "node esbuild.js --watch",
    "build": "node esbuild.js",
    "prepare": "node esbuild.js"
  },
  "prettier": {
    "singleQuote": true,
    "printWidth": 120,
    "semi": true
  },
  "devDependencies": {
    "@types/node": "^20.11.0",
    "@types/semver": "^7.3.10",
    "@types/which": "^2.0.1",
    "@typescript-eslint/eslint-plugin": "^6.18.1",
    "@typescript-eslint/parser": "^6.18.1",
    "coc.nvim": "^0.0.82",
    "esbuild": "^0.16.17",
    "eslint": "^8.56.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-prettier": "^5.1.3",
    "prettier": "^3.1.1",
    "rimraf": "^5.0.1",
    "semver": "^7.3.7",
    "typescript": "^5.3.3",
    "which": "^2.0.2"
  },
  "activationEvents": [
    "onLanguage:rst"
  ],
  "contributes": {
    "configuration": {
      "type": "object",
      "title": "coc-esbonio configuration",
      "properties": {
        "esbonio.enable": {
          "type": "boolean",
          "default": true,
          "description": "Enable coc-esbonio extension"
        },
        "esbonio.enableFixDirectiveCompletion": {
          "type": "boolean",
          "default": true,
          "description": "Enable fix patch for `Directive` completion issue"
        },
        "esbonio.client.sectionCharacterLevel1": {
          "type": "string",
          "default": "=",
          "enum": [
            "=",
            "-",
            ":",
            "~",
            ".",
            "^",
            "_",
            "*",
            "+",
            "#",
            "\"",
            "'",
            "`"
          ],
          "description": "Character to be used in the Section builder (level1) of the code action"
        },
        "esbonio.client.sectionCharacterLevel2": {
          "type": "string",
          "default": "-",
          "enum": [
            "=",
            "-",
            ":",
            "~",
            ".",
            "^",
            "_",
            "*",
            "+",
            "#",
            "\"",
            "'",
            "`"
          ],
          "description": "Character to be used in the Section builder (level2) of the code action"
        },
        "esbonio.client.sectionCharacterLevel3": {
          "type": "string",
          "default": "~",
          "enum": [
            "=",
            "-",
            ":",
            "~",
            ".",
            "^",
            "_",
            "*",
            "+",
            "#",
            "\"",
            "'",
            "`"
          ],
          "description": "Character to be used in the Section builder (level3) of the code action"
        },
        "esbonio.server.enabled": {
          "scope": "window",
          "type": "boolean",
          "default": true,
          "description": "Enable/Disable the language server"
        },
        "esbonio.server.enabledInPyFiles": {
          "scope": "window",
          "type": "boolean",
          "default": true,
          "description": "Enable/Disable the language server in Python files."
        },
        "esbonio.server.startupModule": {
          "scope": "window",
          "type": "string",
          "default": "esbonio",
          "description": "The module (or script) to use to launch the server."
        },
        "esbonio.server.excludedModules": {
          "scope": "window",
          "type": "array",
          "default": [],
          "items": {
            "type": "string"
          },
          "description": "A list of modules to exclude from the server's configuration"
        },
        "esbonio.server.includedModules": {
          "scope": "window",
          "type": "array",
          "default": [],
          "items": {
            "type": "string"
          },
          "description": "A list of additional modules to include in the server's configuration"
        },
        "esbonio.server.logLevel": {
          "scope": "application",
          "type": "string",
          "default": "error",
          "enum": [
            "debug",
            "info",
            "error"
          ],
          "description": "The level of log message to show in the log"
        },
        "esbonio.server.logFilter": {
          "scope": "application",
          "type": "array",
          "default": null,
          "items": {
            "type": "string"
          },
          "description": "A list of logger names to limit output from"
        },
        "esbonio.server.pythonPath": {
          "scope": "window",
          "type": "string",
          "default": "",
          "description": "The path to the Python interpreter to use when running the Langague Server.\n\nBy default this extension will try to use the interpreter configured via the Python Extension. If you do not use the Python Extension or you wish to use a different environment, then this option can be used to override the default behavior."
        },
        "esbonio.server.showDeprecationWarnings": {
          "scope": "window",
          "type": "boolean",
          "default": false,
          "description": "Developer flag to enable deprecation warnings."
        },
        "esbonio.server.hideSphinxOutput": {
          "scope": "application",
          "type": "boolean",
          "default": false,
          "description": "Hide Sphinx build output from the Language Server log.",
          "deprecationMessage": "This option will be removed when the language server reaches v1.0. The esbonio.sphinx.quiet and esbonio.sphinx.silent options should be used instead."
        },
        "esbonio.server.completion.preferredInsertBehavior": {
          "scope": "window",
          "type": "string",
          "enum": [
            "insert",
            "replace"
          ],
          "enumDescriptions": [
            "Completions will only append to existing text. Server will only provide suggestions compatible with existing text.",
            "Completions will replace existing text, allowing for complete rewrites of existing items. Server will respond with all valid options."
          ],
          "default": "replace",
          "description": "Indicate to the server how you would prefer completions to behave when accepted."
        },
        "esbonio.sphinx.buildDir": {
          "scope": "window",
          "type": "string",
          "default": null,
          "description": "The directory in which to store Sphinx's build output.\n\nBy default the Language Server will store any build files in a storage area provided by coc.nvim, this option allows you to override this to be a directory of your choosing e.g. your local _build/ directory.",
          "markdownDescription": "The directory in which to store Sphinx's build output.\n\nBy default the Language Server will store any build files in a storage area provided by coc.nvim, this option allows you to override this to be a directory of your choosing e.g. your local `_build/` directory."
        },
        "esbonio.sphinx.builderName": {
          "scope": "window",
          "type": "string",
          "default": "html",
          "description": "The builder to use when building the documentation.",
          "markdownDescription": "The builder to use when building the documentation. **Note:** While many builders will work fine, many features (such as previews) will only work with the `html` builder."
        },
        "esbonio.sphinx.confDir": {
          "scope": "window",
          "type": "string",
          "default": "",
          "description": "The Language Server should be able to automatically find the folder containing your project's 'conf.py' file. However this setting can be used to force the Language Server to use a particular directory if required."
        },
        "esbonio.sphinx.configOverrides": {
          "scope": "window",
          "type": "object",
          "default": {},
          "description": "Any conf.py options to override."
        },
        "esbonio.sphinx.doctreeDir": {
          "scope": "window",
          "type": "string",
          "default": null,
          "description": "The directory in which to store Sphinx's doctree cache."
        },
        "esbonio.sphinx.forceFullBuild": {
          "scope": "window",
          "type": "boolean",
          "default": false,
          "description": "Force a full build of the documentation project on server startup."
        },
        "esbonio.sphinx.keepGoing": {
          "scope": "window",
          "type": "boolean",
          "default": false,
          "description": "Continue building when errors generated from warnings are encountered"
        },
        "esbonio.sphinx.makeMode": {
          "scope": "window",
          "type": "boolean",
          "default": true,
          "description": "Flag indicating if the language server should be have like a sphinx-build -M ... command"
        },
        "esbonio.sphinx.numJobs": {
          "scope": "window",
          "type": "integer",
          "default": 1,
          "markdownDescription": "The number of parallel jobs to use during a Sphinx build.\n\n- A value of `0` is equivalent to passing `-j auto` to a `sphinx-build` command.\n- A value of `1` will disable parallel processing."
        },
        "esbonio.sphinx.quiet": {
          "scope": "window",
          "type": "boolean",
          "default": false,
          "description": "Hide standard Sphinx output messages"
        },
        "esbonio.sphinx.silent": {
          "scope": "window",
          "type": "boolean",
          "default": false,
          "description": "Hide all Sphinx output"
        },
        "esbonio.sphinx.srcDir": {
          "scope": "window",
          "type": "string",
          "default": "",
          "description": "The directory containing your rst source files. By default the Language Server will assume this is the same as `esbonio.sphinx.confDir` but this opton can override this if necessary.",
          "markdownDescription": "The directory containing your rst source files. By default the Language Server will assume this is the same as `#esbonio.sphinx.confDir#` but this opton can override this if necessary."
        },
        "esbonio.sphinx.tags": {
          "scope": "window",
          "type": "array",
          "default": [],
          "description": "Tags to enable during a build."
        },
        "esbonio.sphinx.verbosity": {
          "scope": "window",
          "type": "integer",
          "default": 0,
          "description": "The verbosity of Sphinx's output"
        },
        "esbonio.sphinx.warningIsError": {
          "scope": "window",
          "type": "boolean",
          "default": false,
          "description": "Treat any warnings as errors."
        },
        "esbonio.trace.server": {
          "type": "string",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "default": "off",
          "description": "Traces the communication between coc.nvim and the esbonio language server."
        }
      }
    },
    "commands": [
      {
        "command": "esbonio.languageServer.install",
        "title": "Install/Upgrade Language Server",
        "category": "Esbonio"
      },
      {
        "command": "esbonio.languageServer.restart",
        "title": "Restart Language Server",
        "category": "Esbonio"
      }
    ]
  }
}
