diff options
author | rhysd <lin90162@yahoo.co.jp> | 2017-11-17 15:21:18 +0900 |
---|---|---|
committer | rhysd <lin90162@yahoo.co.jp> | 2017-11-17 15:34:07 +0900 |
commit | 44cd07d39c860c32016d85b4d4f0c8aec901064d (patch) | |
tree | 92f8c934ed4dd0f5eb792295e939396ec680ef52 /autoload | |
parent | 1f4f19cbd422e30ae95e63df6fae26d99651dc03 (diff) | |
download | ale-44cd07d39c860c32016d85b4d4f0c8aec901064d.zip |
redpen support for asciidoc, reST, LaTeX and Re:VIEW
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/ale/handlers/redpen.vim | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/autoload/ale/handlers/redpen.vim b/autoload/ale/handlers/redpen.vim new file mode 100644 index 00000000..89ad5fc7 --- /dev/null +++ b/autoload/ale/handlers/redpen.vim @@ -0,0 +1,29 @@ +" Author: rhysd https://rhysd.github.io +" Description: Redpen, a proofreading tool (http://redpen.cc) + +function! ale#handlers#redpen#HandleRedpenOutput(buffer, lines) abort + " Only one file was passed to redpen. So response array has only one + " element. + let l:res = json_decode(join(a:lines))[0] + let l:output = [] + for l:err in l:res.errors + let l:item = { + \ 'text': l:err.message . ' (' . l:err.validator . ')', + \ 'type': 'W', + \} + if has_key(l:err, 'startPosition') + let l:item.lnum = l:err.startPosition.lineNum + let l:item.col = l:err.startPosition.offset + if has_key(l:err, 'endPosition') + let l:item.end_lnum = l:err.endPosition.lineNum + let l:item.end_col = l:err.endPosition.offset + endif + else + let l:item.lnum = l:err.lineNum + let l:item.col = l:err.sentenceStartColumnNum + 1 + endif + call add(l:output, l:item) + endfor + return l:output +endfunction + |