@yaegassy/coc-pylsp
Version:
pylsp (python-lsp-server) extension for coc.nvim
877 lines (876 loc) • 28.6 kB
JSON
{
"name": "@yaegassy/coc-pylsp",
"version": "0.11.1",
"description": "pylsp (python-lsp-server) extension for coc.nvim",
"author": "yaegassy <yosstools@gmail.com>",
"license": "MIT",
"main": "lib/index.js",
"keywords": [
"coc.nvim",
"python",
"pylsp",
"vim",
"neovim"
],
"engines": {
"coc": "^0.0.80"
},
"repository": {
"type": "git",
"url": "https://github.com/yaegassy/coc-pylsp"
},
"publishConfig": {
"access": "public"
},
"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": "^18.18.3",
"@types/which": "^2.0.1",
"@typescript-eslint/eslint-plugin": "^6.7.4",
"@typescript-eslint/parser": "^6.7.4",
"coc.nvim": "^0.0.82",
"esbuild": "^0.16.17",
"eslint": "^8.50.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.0",
"prettier": "^3.0.3",
"rimraf": "^5.0.1",
"typescript": "^5.2.2",
"which": "^2.0.2"
},
"activationEvents": [
"onLanguage:python"
],
"contributes": {
"rootPatterns": [
{
"filetype": "python",
"patterns": [
"setup.py",
"setup.cfg",
"Pipfile",
"pyproject.toml"
]
}
],
"configuration": {
"type": "object",
"title": "coc-pylsp configuration",
"properties": {
"pylsp.enable": {
"type": "boolean",
"default": true,
"description": "Enable coc-pylsp extension."
},
"pylsp.trace.server": {
"type": "string",
"enum": [
"off",
"messages",
"verbose"
],
"default": "off",
"description": "Traces the communication between coc.nvim and the Python LSP Server."
},
"pylsp.commandPath": {
"type": "string",
"default": "",
"description": "Custom path to the pylsp command. ~ and $HOME, etc. can also be used. If not set, pylsp detected by the current python environment or extension venv's pylsp used will be used"
},
"pylsp.connectionMode": {
"scope": "resource",
"type": "string",
"default": "stdio",
"markdownDescription": "Controls the communication method to pylsp.",
"enum": [
"stdio",
"tcp"
],
"enumDescriptions": [
"Use stdio to communicate with pylsp.",
"Use tcp to connect pylsp. You need to launch pylsp."
]
},
"pylsp.tcpHost": {
"scope": "resource",
"type": "string",
"default": "127.0.0.1",
"description": "Specifies the host name to connect pylsp. This setting only works with connectionMode is 'tcp'."
},
"pylsp.tcpPort": {
"scope": "resource",
"type": "number",
"default": "2087",
"markdownDescription": "Specifies the port to connect pylsp. This setting only works with connectionMode is 'tcp'."
},
"pylsp.disableProgressNotifications": {
"type": "boolean",
"default": true,
"description": "Disable the initialization and workdone progress notifications"
},
"pylsp.builtin.pythonPath": {
"type": "string",
"default": "",
"description": "Python 3.x path (Absolute path) to be used for built-in install"
},
"pylsp.builtin.installExtrasArgs": {
"type": "array",
"default": [
"all"
],
"description": "Setting extras_require for built-in installation"
},
"pylsp.builtin.enableInstallPylspMypy": {
"type": "boolean",
"default": false,
"description": "Enable/Disable built-in install of pylsp-mypy"
},
"pylsp.builtin.enableInstallPylsIsort": {
"type": "boolean",
"default": false,
"description": "Enable/Disable built-in install of pyls-isort"
},
"pylsp.builtin.enableInstallPythonLspBlack": {
"type": "boolean",
"default": false,
"description": "Enable/Disable built-in install of python-lsp-black"
},
"pylsp.builtin.enableInstallPylspRope": {
"type": "boolean",
"default": false,
"description": "Enable/Disable built-in install of pylsp-rope"
},
"pylsp.builtin.enableInstallPythonLspRuff": {
"type": "boolean",
"default": false,
"description": "Enable/Disable built-in install of pylsp-lsp-ruff"
},
"pylsp.builtin.pylspMypyVersion": {
"type": "string",
"default": "",
"description": "Version of pylsp-mypy for built-in install"
},
"pylsp.builtin.pylsIsortVersion": {
"type": "string",
"default": "",
"description": "Version of pyls-isort for built-in install"
},
"pylsp.builtin.pythonLspBlackVersion": {
"type": "string",
"default": "",
"description": "Version of python-lsp-black for built-in install"
},
"pylsp.builtin.pylspRopeVersion": {
"type": "string",
"default": "",
"description": "Version of pylsp-rope for built-in install"
},
"pylsp.builtin.pythonLspRuffVersion": {
"type": "string",
"default": "",
"description": "Version of python-lsp-ruff for built-in install"
},
"pylsp.configurationSources": {
"type": "array",
"default": [
"pycodestyle"
],
"description": "List of configuration sources to use.",
"items": {
"type": "string",
"enum": [
"pycodestyle",
"flake8"
]
},
"uniqueItems": true
},
"pylsp.plugins.autopep8.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin (disabling required to use `yapf`)."
},
"pylsp.plugins.flake8.config": {
"type": [
"string",
"null"
],
"default": null,
"description": "Path to the config file that will be the authoritative config source."
},
"pylsp.plugins.flake8.enabled": {
"type": "boolean",
"default": false,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.flake8.exclude": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"description": "List of files or directories to exclude."
},
"pylsp.plugins.flake8.extendIgnore": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"description": "List of errors and warnings to append to ignore list."
},
"pylsp.plugins.flake8.extendSelect": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"description": "List of errors and warnings to append to select list."
},
"pylsp.plugins.flake8.executable": {
"type": "string",
"default": "flake8",
"description": "Path to the flake8 executable."
},
"pylsp.plugins.flake8.filename": {
"type": [
"string",
"null"
],
"default": null,
"description": "Only check for filenames matching the patterns in this list."
},
"pylsp.plugins.flake8.hangClosing": {
"type": [
"boolean",
"null"
],
"default": null,
"description": "Hang closing bracket instead of matching indentation of opening bracket's line."
},
"pylsp.plugins.flake8.ignore": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"description": "List of errors and warnings to ignore (or skip)."
},
"pylsp.plugins.flake8.maxComplexity": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Maximum allowed complexity threshold."
},
"pylsp.plugins.flake8.maxLineLength": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Maximum allowed line length for the entirety of this run."
},
"pylsp.plugins.flake8.indentSize": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Set indentation spaces."
},
"pylsp.plugins.flake8.perFileIgnores": {
"type": [
"array"
],
"default": [],
"items": {
"type": "string"
},
"description": "A pairing of filenames and violation codes that defines which violations to ignore in a particular file, for example: `[\"file_path.py:W305,W304\"]`)."
},
"pylsp.plugins.flake8.select": {
"type": [
"array",
"null"
],
"default": null,
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "List of errors and warnings to enable."
},
"pylsp.plugins.jedi.auto_import_modules": {
"type": "array",
"default": [
"numpy"
],
"items": {
"type": "string"
},
"description": "List of module names for jedi.settings.auto_import_modules."
},
"pylsp.plugins.jedi.extra_paths": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"description": "Define extra paths for jedi.Script."
},
"pylsp.plugins.jedi.prioritize_extra_paths": {
"type": "boolean",
"default": false,
"description": "Whether to place extra_paths at the beginning (true) or end (false) of `sys.path`"
},
"pylsp.plugins.jedi.env_vars": {
"type": [
"object",
"null"
],
"default": null,
"description": "Define environment variables for jedi.Script and Jedi.names."
},
"pylsp.plugins.jedi.environment": {
"type": [
"string",
"null"
],
"default": null,
"description": "Define environment for jedi.Script and Jedi.names."
},
"pylsp.plugins.jedi_completion.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.jedi_completion.include_params": {
"type": "boolean",
"default": true,
"description": "Auto-completes methods and classes with tabstops for each parameter."
},
"pylsp.plugins.jedi_completion.include_class_objects": {
"type": "boolean",
"default": false,
"description": "Adds class objects as a separate completion item."
},
"pylsp.plugins.jedi_completion.include_function_objects": {
"type": "boolean",
"default": false,
"description": "Adds function objects as a separate completion item."
},
"pylsp.plugins.jedi_completion.fuzzy": {
"type": "boolean",
"default": false,
"description": "Enable fuzzy when requesting autocomplete."
},
"pylsp.plugins.jedi_completion.eager": {
"type": "boolean",
"default": false,
"description": "Resolve documentation and detail eagerly."
},
"pylsp.plugins.jedi_completion.resolve_at_most": {
"type": "integer",
"default": 25,
"description": "How many labels and snippets (at most) should be resolved?"
},
"pylsp.plugins.jedi_completion.cache_for": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"pandas",
"numpy",
"tensorflow",
"matplotlib"
],
"description": "Modules for which labels and snippets should be cached."
},
"pylsp.plugins.jedi_definition.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.jedi_definition.follow_imports": {
"type": "boolean",
"default": true,
"description": "The goto call will follow imports."
},
"pylsp.plugins.jedi_definition.follow_builtin_imports": {
"type": "boolean",
"default": true,
"description": "If follow_imports is True will decide if it follow builtin imports."
},
"pylsp.plugins.jedi_definition.follow_builtin_definitions": {
"type": "boolean",
"default": true,
"description": "Follow builtin and extension definitions to stubs."
},
"pylsp.plugins.jedi_hover.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.jedi_references.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.jedi_signature_help.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.jedi_symbols.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.jedi_symbols.all_scopes": {
"type": "boolean",
"default": true,
"description": "If True lists the names of all scopes instead of only the module namespace."
},
"pylsp.plugins.jedi_symbols.include_import_symbols": {
"type": "boolean",
"default": true,
"description": "If True includes symbols imported from other libraries."
},
"pylsp.plugins.mccabe.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.mccabe.threshold": {
"type": "integer",
"default": 15,
"description": "The minimum threshold that triggers warnings about cyclomatic complexity."
},
"pylsp.plugins.preload.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.preload.modules": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "List of modules to import on startup"
},
"pylsp.plugins.pycodestyle.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.pycodestyle.exclude": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "Exclude files or directories which match these patterns."
},
"pylsp.plugins.pycodestyle.filename": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "When parsing directories, only check filenames matching these patterns."
},
"pylsp.plugins.pycodestyle.select": {
"type": [
"array",
null
],
"default": null,
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "Select errors and warnings"
},
"pylsp.plugins.pycodestyle.ignore": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "Ignore errors and warnings"
},
"pylsp.plugins.pycodestyle.hangClosing": {
"type": [
"boolean",
"null"
],
"default": null,
"description": "Hang closing bracket instead of matching indentation of opening bracket's line."
},
"pylsp.plugins.pycodestyle.maxLineLength": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Set maximum allowed line length."
},
"pylsp.plugins.pycodestyle.indentSize": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Set indentation spaces."
},
"pylsp.plugins.pydocstyle.enabled": {
"type": "boolean",
"default": false,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.pydocstyle.convention": {
"type": [
"string",
"null"
],
"default": null,
"enum": [
"pep257",
"numpy",
"google",
null
],
"description": "Choose the basic list of checked errors by specifying an existing convention."
},
"pylsp.plugins.pydocstyle.addIgnore": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "Ignore errors and warnings in addition to the specified convention."
},
"pylsp.plugins.pydocstyle.addSelect": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "Select errors and warnings in addition to the specified convention."
},
"pylsp.plugins.pydocstyle.ignore": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "Ignore errors and warnings"
},
"pylsp.plugins.pydocstyle.select": {
"type": [
"array",
null
],
"default": null,
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "Select errors and warnings"
},
"pylsp.plugins.pydocstyle.match": {
"type": "string",
"default": "(?!test_).*\\.py",
"description": "Check only files that exactly match the given regular expression; default is to match files that don't start with 'test_' but end with '.py'."
},
"pylsp.plugins.pydocstyle.matchDir": {
"type": "string",
"default": "[^\\.].*",
"description": "Search only dirs that exactly match the given regular expression; default is to match dirs which do not begin with a dot."
},
"pylsp.plugins.pyflakes.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.pylint.enabled": {
"type": "boolean",
"default": false,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.pylint.args": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"uniqueItems": false,
"description": "Arguments to pass to pylint."
},
"pylsp.plugins.pylint.executable": {
"type": [
"string",
"null"
],
"default": null,
"description": "Executable to run pylint with. Enabling this will run pylint on unsaved files via stdin. Can slow down workflow. Only works with python3."
},
"pylsp.plugins.rope_autoimport.enabled": {
"type": "boolean",
"default": false,
"description": "Enable or disable autoimport. If false, neither completions nor code actions are enabled. If true, the respective features can be enabled or disabled individually."
},
"pylsp.plugins.rope_autoimport.completions.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable autoimport completions."
},
"pylsp.plugins.rope_autoimport.code_actions.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable autoimport code actions (e.g. for quick fixes)."
},
"pylsp.plugins.rope_autoimport.memory": {
"type": "boolean",
"default": false,
"description": "Make the autoimport database memory only. Drastically increases startup time."
},
"pylsp.plugins.rope_completion.enabled": {
"type": "boolean",
"default": false,
"description": "Enable or disable the plugin."
},
"pylsp.plugins.rope_completion.eager": {
"type": "boolean",
"default": false,
"description": "Resolve documentation and detail eagerly."
},
"pylsp.plugins.yapf.enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the plugin."
},
"pylsp.rope.extensionModules": {
"type": [
"string",
null
],
"default": null,
"description": "Builtin and c-extension modules that are allowed to be imported and inspected by rope."
},
"pylsp.rope.ropeFolder": {
"type": [
"array",
null
],
"default": null,
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "The name of the folder in which rope stores project configurations and data. Pass `null` for not using such a folder at all."
},
"pylsp.plugins.black.enabled": {
"type": "boolean",
"default": true,
"description": "Boolean to enable/disable the plugin."
},
"pylsp.plugins.black.cache_config": {
"type": "boolean",
"default": false,
"description": "A boolean to enable black configuration caching."
},
"pylsp.plugins.black.line_length": {
"type": "number",
"default": 88,
"description": "An integer that maps to black's max-line-length setting. Defaults to 88 (same as black's default). This can also be set through black's configuration files, which should be preferred for multi-user projects."
},
"pylsp.plugins.black.preview": {
"type": "boolean",
"default": false,
"description": "A boolean to enable or disable black's --preview setting."
},
"pylsp.plugins.black.skip_string_normalization": {
"type": "boolean",
"default": false,
"description": "A boolean to enable or disable black's --skip-string-normalization setting."
},
"pylsp.plugins.black.skip_magic_trailing_comma": {
"type": "boolean",
"default": false,
"description": "A boolean to enable or disable black's skip-magic-trailing-comma setting."
},
"pylsp.plugins.ruff.enabled": {
"type": "boolean",
"default": true,
"description": "Boolean to enable/disable the plugin."
},
"pylsp.plugins.ruff.formatEnabled": {
"type": "boolean",
"default": true,
"description": "Boolean to enable/disable the ruff formatter."
},
"pylsp.plugins.ruff.config": {
"type": [
"string",
null
],
"default": null,
"description": "Path to optional `pyproject.toml` file."
},
"pylsp.plugins.ruff.exclude": {
"type": [
"array",
null
],
"default": null,
"items": {
"type": "string"
},
"description": "Exclude files from being checked by `ruff`."
},
"pylsp.plugins.ruff.executable": {
"type": [
"string",
null
],
"default": null,
"description": "Path to the ruff executable. Uses `os.executable -m \"ruff\"` by default."
},
"pylsp.plugins.ruff.ignore": {
"type": [
"array",
null
],
"default": null,
"items": {
"type": "string"
},
"description": "Error codes to ignore."
},
"pylsp.plugins.ruff.extendIgnore": {
"type": [
"array",
null
],
"default": null,
"items": {
"type": "string"
},
"description": "Same as ignore, but append to existing ignores."
},
"pylsp.plugins.ruff.lineLength": {
"type": [
"integer",
null
],
"default": null,
"description": "Set the line-length for length checks."
},
"pylsp.plugins.ruff.perFileIgnore": {
"type": [
"object",
null
],
"default": null,
"description": "File-specific error codes to be ignored."
},
"pylsp.plugins.ruff.select": {
"type": [
"array",
null
],
"default": null,
"items": {
"type": "string"
},
"description": "List of error codes to enable."
},
"pylsp.plugins.ruff.extendSelect": {
"type": [
"array",
null
],
"default": null,
"items": {
"type": "string"
},
"description": "Same as select, but append to existing error codes."
},
"pylsp.plugins.ruff.format": {
"type": [
"array",
null
],
"default": null,
"items": {
"type": "string"
},
"description": "List of error codes to fix during formatting. Empty by default, use `[\"I\"]` here to get import sorting as part of formatting."
},
"pylsp.plugins.ruff.unsafeFixes": {
"type": "boolean",
"default": false,
"description": "Boolean that enables/disables fixes that are marked \"unsafe\" by `ruff`."
},
"pylsp.plugins.ruff.preview": {
"type": "boolean",
"default": false,
"description": "Boolean that enables/disables rules & fixes that are marked \"preview\" by `ruff`."
},
"pylsp.plugins.ruff.severities": {
"type": [
"object",
"null"
],
"default": null,
"description": "Dictionary of custom severity levels for specific codes."
},
"pylsp.plugins.ruff.targetVersion": {
"type": [
"string",
null
],
"default": null,
"description": "The minimum Python version to target."
}
}
},
"commands": [
{
"command": "pylsp.builtin.install",
"title": "Install python lsp server and related tools"
},
{
"command": "pylsp.installServer",
"title": "(old command) Install python lsp server and related tools"
}
]
},
"dependencies": {
"toml": "^3.0.0"
},
"packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447"
}