summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--ale_linters/python/mypy.vim17
2 files changed, 18 insertions, 1 deletions
diff --git a/README.md b/README.md
index 4a7e472c..efedd9e3 100644
--- a/README.md
+++ b/README.md
@@ -76,7 +76,7 @@ name. That seems to be the fairest way to arrange this table.
| PHP | [hack](http://hacklang.org/), [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 00000000..8ca3e637
--- /dev/null
+++ b/ale_linters/python/mypy.vim
@@ -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',
+\})