Skip to content

heavenshell/vim-textlint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vim-textlint

Build Status

Wrapper for textlint.

Asynchronous textlint

Motivations

I want to load textlint config file dynamically.

Syntastic can use textlint but not support config file.

watchdocs.vim also has textlint settings but not supporting config file.

Configure

Add textlint config file name to your .vimrc.

" textlint.vim {{{
let g:textlint_configs = [
  \ '@azu/textlint-config-readme',
  \ '@example/textlint-config-example',
  \ ]
" }}}

Usage

:Textlint
:cwindow

If you did not set any args, vim-textlint would use g:textlint_configs's first value or textlintrc.

:Textlint -c @example/textlint-config-example
:cwindow

You can select textlint config file via command line.

Autofix

If rules are fixable, you can autofix with TextlintFix.

Helpful plugins

QuickFixstatus shows error message at the bottom of the screen.

Hier will highlight quickfix errors and location list entries in buffer.

Sample settings

After run :Textlint textlint.vim would show errors if error exists.

  • Show QuickFix error in statusline, and highlight QuickFix errors run quickfixstatus.vim and vim-hier.
  function! s:textlint_after(...)
    execute ':QuickfixStatusEnable'
    execute ':HierUpdate'
  endfunction

  let g:textlint_callbacks = {
    \ 'after_run': function('s:textlint_after')
    \ }
  autocmd BufWritePost *.md call textlint#run()
  autocmd InsertLeave *.md call textlint#run()
  " TextChanged triggered very often, turn off if Vim is slow.
  autocmd TextChanged,TextChangedI *.md call textlint#run()