├── .gitignore ├── .python-version ├── .travis.yml ├── LICENSE ├── README.md ├── linter.py ├── messages.json ├── messages └── install.txt └── setup.cfg /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.8 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - "3.3" 4 | # command to install dependencies 5 | install: 6 | - pip install flake8 7 | # command to run tests 8 | script: 9 | - flake8 . --max-line-length=120 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining a copy 2 | of this software and associated documentation files (the "Software"), to deal 3 | in the Software without restriction, including without limitation the rights 4 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 5 | copies of the Software, and to permit persons to whom the Software is 6 | furnished to do so, subject to the following conditions: 7 | 8 | The above copyright notice and this permission notice shall be included in 9 | all copies or substantial portions of the Software. 10 | 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 17 | THE SOFTWARE. 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | SublimeLinter-pycodestyle 2 | ========================= 3 | 4 | [![Build Status](https://travis-ci.org/SublimeLinter/SublimeLinter-pycodestyle.svg?branch=master)](https://travis-ci.org/SublimeLinter/SublimeLinter-pycodestyle) 5 | 6 | This linter plugin for [SublimeLinter](https://github.com/SublimeLinter/SublimeLinter) provides an interface to [pycodestyle](https://github.com/PyCQA/pycodestyle). 7 | It will be used with files that have the "Python" syntax. 8 | 9 | 10 | ## Installation 11 | 12 | SublimeLinter must be installed in order to use this plugin. 13 | 14 | Please use [Package Control](https://packagecontrol.io) to install the linter plugin. 15 | 16 | Before installing this plugin, ensure that `pycodestyle` (1.4.6 or later) is installed on your system. 17 | To install `pycodestyle`, do the following: 18 | 19 | 1. For best performance, install [Python 3](http://python.org) and [pip](http://www.pip-installer.org/en/latest/installing.html). 20 | 21 | 1. Install `pycodestyle` by typing the following in a terminal, replacing '3.x' with the available version of pip: 22 | ``` 23 | [sudo] pip-3.x install pycodestyle 24 | ``` 25 | 26 | Please make sure that the path to `pycodestyle` is available to SublimeLinter. 27 | The docs cover [troubleshooting PATH configuration](http://sublimelinter.com/en/latest/troubleshooting.html#finding-a-linter-executable). 28 | 29 | 30 | ## Settings 31 | 32 | - SublimeLinter settings: http://sublimelinter.com/en/latest/settings.html 33 | - Linter settings: http://sublimelinter.com/en/latest/linter_settings.html 34 | -------------------------------------------------------------------------------- /linter.py: -------------------------------------------------------------------------------- 1 | from SublimeLinter.lint import PythonLinter 2 | 3 | 4 | class PYCODESTYLE(PythonLinter): 5 | cmd = ('pycodestyle', '${args}', '-') 6 | regex = r'^.+?:(?P\d+):(?P\d+): (?:(?PE\d+)|(?PW\d+)) (?P.+)' 7 | multiline = True 8 | defaults = { 9 | 'selector': 'source.python', 10 | '--select=,': '', 11 | '--ignore=,': '', 12 | '--max-line-length=': None 13 | } 14 | -------------------------------------------------------------------------------- /messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "install": "messages/install.txt" 3 | } 4 | -------------------------------------------------------------------------------- /messages/install.txt: -------------------------------------------------------------------------------- 1 | SublimeLinter-pycodestyle 2 | ------------------------------- 3 | This linter plugin for SublimeLinter provides an interface to pycodestyle. 4 | 5 | Please read the installation instructions at: 6 | 7 | https://github.com/SublimeLinter/SublimeLinter-pycodestyle 8 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [pycodestyle] 2 | max-line-length = 120 3 | [flake8] 4 | max-line-length = 120 5 | --------------------------------------------------------------------------------