summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <w0rp@users.noreply.github.com>2017-01-15 13:05:37 +0000
committerGitHub <noreply@github.com>2017-01-15 13:05:37 +0000
commit35bdd6f478493b3fcad6a21b19884cdfb7fff3ac (patch)
treeb6c69703656b822d88b21d540c2e6328a34e6717
parentf1ac7c9f737b43c7de0715923b10c2be76cbc9ed (diff)
parent4566bd65c91d63056bb7801a1a6f5f3d39e11e3f (diff)
downloadale-35bdd6f478493b3fcad6a21b19884cdfb7fff3ac.zip
Merge pull request #237 from keith/ks/mypy-linter
Add python mypy support
-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',
+\})