summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTy-Lucas Kelley <tylucaskelley@gmail.com>2018-03-03 19:16:41 -0500
committerTy-Lucas Kelley <tylucaskelley@gmail.com>2018-03-03 19:16:41 -0500
commit2a575ca551929140c59b824c9a4caf120beb225c (patch)
tree7f498564e6f68b006d211ca536bb0bdd5a9af181
parent193a4b9336e8e108b1e936a5aedb252253688616 (diff)
downloadale-2a575ca551929140c59b824c9a4caf120beb225c.zip
add basic support for markdownlint
-rw-r--r--README.md2
-rw-r--r--ale_linters/markdown/markdownlint.vim11
-rw-r--r--autoload/ale/handlers/markdownlint.vim17
-rw-r--r--doc/ale.txt2
4 files changed, 30 insertions, 2 deletions
diff --git a/README.md b/README.md
index d5335e2a..4524936b 100644
--- a/README.md
+++ b/README.md
@@ -121,7 +121,7 @@ formatting.
| Lua | [luac](https://www.lua.org/manual/5.1/luac.html), [luacheck](https://github.com/mpeterv/luacheck) |
| Mail | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [vale](https://github.com/ValeLint/vale) |
| Make | [checkmake](https://github.com/mrtazz/checkmake) |
-| Markdown | [alex](https://github.com/wooorm/alex) !!, [mdl](https://github.com/mivok/markdownlint), [prettier](https://github.com/prettier/prettier), [proselint](http://proselint.com/), [redpen](http://redpen.cc/), [remark-lint](https://github.com/wooorm/remark-lint) !!, [vale](https://github.com/ValeLint/vale), [write-good](https://github.com/btford/write-good) |
+| Markdown | [alex](https://github.com/wooorm/alex) !!, [markdownlint](https://github.com/DavidAnson/markdownlint), [mdl](https://github.com/mivok/markdownlint), [prettier](https://github.com/prettier/prettier), [proselint](http://proselint.com/), [redpen](http://redpen.cc/), [remark-lint](https://github.com/wooorm/remark-lint) !!, [vale](https://github.com/ValeLint/vale), [write-good](https://github.com/btford/write-good) |
| MATLAB | [mlint](https://www.mathworks.com/help/matlab/ref/mlint.html) |
| Nim | [nim check](https://nim-lang.org/docs/nimc.html) !! |
| nix | [nix-instantiate](http://nixos.org/nix/manual/#sec-nix-instantiate) |
diff --git a/ale_linters/markdown/markdownlint.vim b/ale_linters/markdown/markdownlint.vim
new file mode 100644
index 00000000..5c8af650
--- /dev/null
+++ b/ale_linters/markdown/markdownlint.vim
@@ -0,0 +1,11 @@
+" Author: Ty-Lucas Kelley <tylucaskelley@gmail.com>
+" Description: Adds support for markdownlint
+
+call ale#linter#Define('markdown', {
+ \ 'name': 'markdownlint',
+ \ 'executable': 'markdownlint',
+ \ 'lint_file': 1,
+ \ 'output_stream': 'both',
+ \ 'command': 'markdownlint %s',
+ \ 'callback': 'ale#handlers#markdownlint#Handle'
+\ })
diff --git a/autoload/ale/handlers/markdownlint.vim b/autoload/ale/handlers/markdownlint.vim
new file mode 100644
index 00000000..12fc501c
--- /dev/null
+++ b/autoload/ale/handlers/markdownlint.vim
@@ -0,0 +1,17 @@
+" Author: Ty-Lucas Kelley <tylucaskelley@gmail.com>
+" Description: Adds support for markdownlint
+
+function! ale#handlers#markdownlint#Handle(buffer, lines) abort
+ let l:pattern=': \(\d*\): \(MD\d\{3}\)\(\/\)\([A-Za-z0-9-]\+\)\(.*\)$'
+ let l:output=[]
+
+ for l:match in ale#util#GetMatches(a:lines, l:pattern)
+ call add(l:output, {
+ \ 'lnum': l:match[1] + 0,
+ \ 'text': '(' . l:match[2] . l:match[3] . l:match[4] . ')' . l:match[5],
+ \ 'type': 'W',
+ \ })
+ endfor
+
+ return l:output
+endfunction
diff --git a/doc/ale.txt b/doc/ale.txt
index 95c3c0e1..d411bb23 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -344,7 +344,7 @@ Notes:
* Lua: `luac`, `luacheck`
* Mail: `alex`!!, `proselint`, `vale`
* Make: `checkmake`
-* Markdown: `alex`!!, `mdl`, `prettier`, `proselint`, `redpen`, `remark-lint`, `vale`, `write-good`
+* Markdown: `alex`!!, `markdownlint`!!, `mdl`, `prettier`, `proselint`, `redpen`, `remark-lint`, `vale`, `write-good`
* MATLAB: `mlint`
* Nim: `nim check`!!
* nix: `nix-instantiate`