summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Smiley <keithbsmiley@gmail.com>2016-12-30 16:06:49 -0800
committerKeith Smiley <keithbsmiley@gmail.com>2016-12-30 16:12:30 -0800
commit4566bd65c91d63056bb7801a1a6f5f3d39e11e3f (patch)
tree02870b17c4bc1275ca8a59080d5fbcb2da8b3921
parent3e1486fc927d6641ea8d21cc31c5870cb7c75ce7 (diff)
downloadale-4566bd65c91d63056bb7801a1a6f5f3d39e11e3f.zip
Add python mypy support
This adds support for the official optional python typechecker.
-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 be07bdf7..c787fd0d 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 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',
+\})