initial commit
This commit is contained in:
commit
e2381e4986
2 changed files with 47 additions and 0 deletions
13
README.md
Normal file
13
README.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# vim-ficdown
|
||||||
|
|
||||||
|
A linter definition for [ALE](https://github.com/w0rp/ale) that provides error checking for Ficdown stories as you write them.
|
||||||
|
|
||||||
|
## Pre-requisites
|
||||||
|
|
||||||
|
You need to have [Mono](https://www.mono-project.com/) installed an on your path, and you need to have [Ficdown](https://github.com/rudism/ficdown) installed somewhere.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
```vimscript
|
||||||
|
let g:ficdown_exe_path='/path/to/ficdown.exe'
|
||||||
|
```
|
34
ale_linters/markdown/ficdown.vim
Normal file
34
ale_linters/markdown/ficdown.vim
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
function! ale_linters#markdown#ficdown#ProcessOutput(buffer, lines) abort
|
||||||
|
let l:pattern = '^\(\w\)\w\+ L\(\d\+\),\(\d\+\): \("[^"]\+": \)\?\(.\+\)$'
|
||||||
|
let l:output = []
|
||||||
|
|
||||||
|
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||||
|
call add(l:output, {
|
||||||
|
\ 'type': l:match[1],
|
||||||
|
\ 'lnum': l:match[2] + 0,
|
||||||
|
\ 'col': l:match[3] + 0,
|
||||||
|
\ 'text': l:match[5]
|
||||||
|
\})
|
||||||
|
endfor
|
||||||
|
|
||||||
|
return l:output
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ale_linters#markdown#ficdown#GetCommand(buffer) abort
|
||||||
|
let s:exe_path = ''
|
||||||
|
if !exists('g:ficdown_exe_path')
|
||||||
|
let s:exe_path = 'ficdown.exe'
|
||||||
|
else
|
||||||
|
let s:exe_path = g:ficdown_exe_path
|
||||||
|
endif
|
||||||
|
|
||||||
|
return '%e ' . s:exe_path . ' --format lint'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
call ale#linter#Define('markdown', {
|
||||||
|
\ 'name': 'ficdown',
|
||||||
|
\ 'aliases': ['Ficdown', 'FicDown'],
|
||||||
|
\ 'executable': 'mono',
|
||||||
|
\ 'command_callback': 'ale_linters#markdown#ficdown#GetCommand',
|
||||||
|
\ 'callback': 'ale_linters#markdown#ficdown#ProcessOutput'
|
||||||
|
\})
|
Reference in a new issue