diff --git a/README.md b/README.md index ff9a1513..d923115c 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Python language support for [Atom-IDE](https://ide.atom.io/), powered by the [Py ## Requirements -[`ide-python`](https://atom.io/packages/ide-python) requires [Atom `1.21+`](https://atom.io/), [Python language server `0.19+`](https://github.com/palantir/python-language-server) and the [`atom-ide-ui`](https://atom.io/packages/atom-ide-ui) package to expose the functionality within Atom. +[`ide-python`](https://atom.io/packages/ide-python) requires [Atom `1.21+`](https://atom.io/), [Python language server `0.29+`](https://github.com/palantir/python-language-server) and the [`atom-ide-ui`](https://atom.io/packages/atom-ide-ui) package to expose the functionality within Atom. ## Feature Providers @@ -18,6 +18,7 @@ Python language support for [Atom-IDE](https://ide.atom.io/), powered by the [Py - [McCabe](https://github.com/PyCQA/mccabe) linter for complexity checking - [pycodestyle](https://github.com/PyCQA/pycodestyle) linter for style checking - [Pylint](https://www.pylint.org/) linter to detect various errors +- [Flake8](http://flake8.pycqa.org/en/latest/) linter to detect various errors - [pydocstyle](https://github.com/PyCQA/pydocstyle) linter for docstring style checking - [autopep8](https://github.com/hhatto/autopep8) for code formatting (preferred over YAPF) - [YAPF](https://github.com/google/yapf) for code formatting @@ -26,7 +27,7 @@ Python language support for [Atom-IDE](https://ide.atom.io/), powered by the [Py ### Language Server -Install the language server (0.25.0 or newer) with: +Install the language server (0.29.0 or newer) with: ```bash python -m pip install 'python-language-server[all]' diff --git a/package.json b/package.json index ddbdfdfe..bee0b239 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "rope", "pyflakes", "pylint", + "flake8", "pycodestyle", "pydocstyle", "autopep8", @@ -396,6 +397,93 @@ } } }, + "flake8": { + "title": "Flake8", + "type": "object", + "properties": { + "enabled": { + "title": "Enabled", + "order": 1, + "type": "boolean", + "default": false, + "description": "Enable or disable Flake8." + }, + "exclude": { + "title": "Exclude", + "type": "array", + "default": [ + ".svn", + "CVS", + ".bzr", + ".hg", + ".git", + "__pycache__", + ".tox", + ".eggs", + "*.egg" + ], + "items": { + "type": "string" + }, + "description": "Comma-separated list of files or directories to exclude." + }, + "filename": { + "title": "Filename", + "type": "array", + "default": [ + "*.py" + ], + "items": { + "type": "string" + }, + "description": "Only check for filenames matching the patterns in this comma-separated list." + }, + "hangClosing": { + "title": "Hang Closing", + "type": "boolean", + "default": false, + "description": "Hang closing bracket instead of matching indentation of opening bracket's line." + }, + "ignore": { + "title": "Ignore", + "type": "array", + "default": [ + "E121", + "E123", + "E126", + "E226", + "E24", + "E704", + "W503", + "W504" + ], + "items": { + "type": "string" + }, + "description": "Comma-separated list of errors and warnings to ignore (or skip)." + }, + "maxLineLength": { + "title": "Max Line Length", + "type": "number", + "default": 79, + "description": "Maximum allowed line length for the entirety of this run." + }, + "select": { + "title": "Select", + "type": "array", + "default": [ + "E", + "F", + "W", + "C90" + ], + "items": { + "type": "string" + }, + "description": "Comma-separated list of errors and warnings to enable." + } + } + }, "pylint": { "title": "Pylint", "type": "object",