From 4566bd65c91d63056bb7801a1a6f5f3d39e11e3f Mon Sep 17 00:00:00 2001 From: Keith Smiley Date: Fri, 30 Dec 2016 16:06:49 -0800 Subject: [PATCH] Add python mypy support This adds support for the official optional python typechecker. --- README.md | 2 +- ale_linters/python/mypy.vim | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 ale_linters/python/mypy.vim diff --git a/README.md b/README.md index be07bdf..c787fd0 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ name. That seems to be the fairest way to arrange this table. | PHP | [php -l](https://secure.php.net/), [phpcs](https://github.com/squizlabs/PHP_CodeSniffer) | | Pug | [pug-lint](https://github.com/pugjs/pug-lint) | | Puppet | [puppet](https://puppet.com), [puppet-lint](https://puppet-lint.com) | -| Python | [flake8](http://flake8.pycqa.org/en/latest/), [pylint](https://www.pylint.org/) | +| Python | [flake8](http://flake8.pycqa.org/en/latest/), [pylint](https://www.pylint.org/), [mypy](http://mypy-lang.org/) | | Ruby | [rubocop](https://github.com/bbatsov/rubocop) | | SASS | [sass-lint](https://www.npmjs.com/package/sass-lint), [stylelint](https://github.com/stylelint/stylelint) | | SCSS | [sass-lint](https://www.npmjs.com/package/sass-lint), [scss-lint](https://github.com/brigade/scss-lint), [stylelint](https://github.com/stylelint/stylelint) | diff --git a/ale_linters/python/mypy.vim b/ale_linters/python/mypy.vim new file mode 100644 index 0000000..8ca3e63 --- /dev/null +++ b/ale_linters/python/mypy.vim @@ -0,0 +1,17 @@ +" Author: Keith Smiley +" Description: mypy support for optional python typechecking + +let g:ale_python_mypy_args = get(g:, 'ale_python_mypy_args', '') + +function! g:ale_linters#python#mypy#GetCommand(buffer) abort + return g:ale#util#stdin_wrapper + \ . ' .py mypy --show-column-numbers ' + \ . g:ale_python_mypy_args +endfunction + +call g:ale#linter#Define('python', { +\ 'name': 'mypy', +\ 'executable': 'mypy', +\ 'command_callback': 'ale_linters#python#mypy#GetCommand', +\ 'callback': 'ale#handlers#HandleGCCFormat', +\})