Add python mypy support

This adds support for the official optional python typechecker.
This commit is contained in:
Keith Smiley 2016-12-30 16:06:49 -08:00
parent 3e1486fc92
commit 4566bd65c9
No known key found for this signature in database
GPG Key ID: 33BA60D44C7167F8
2 changed files with 18 additions and 1 deletions

View File

@ -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) | | PHP | [php -l](https://secure.php.net/), [phpcs](https://github.com/squizlabs/PHP_CodeSniffer) |
| Pug | [pug-lint](https://github.com/pugjs/pug-lint) | | Pug | [pug-lint](https://github.com/pugjs/pug-lint) |
| Puppet | [puppet](https://puppet.com), [puppet-lint](https://puppet-lint.com) | | 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) | | Ruby | [rubocop](https://github.com/bbatsov/rubocop) |
| SASS | [sass-lint](https://www.npmjs.com/package/sass-lint), [stylelint](https://github.com/stylelint/stylelint) | | 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) | | SCSS | [sass-lint](https://www.npmjs.com/package/sass-lint), [scss-lint](https://github.com/brigade/scss-lint), [stylelint](https://github.com/stylelint/stylelint) |

View File

@ -0,0 +1,17 @@
" Author: Keith Smiley <k@keith.so>
" 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',
\})