Skip to content

heavenshell/vim-frontier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vim-frontier

My frontend(JavaScript) Vim plugin packs.

Execute Eslint realtime

Features

  • Run eslint realtime
    • It detect source code change immediately and upddate results(no need to save buffer).
  • Support eslint --fix
    • Experimental feature

Settings

Lint at save buffer

Run eslint, flow and open QuickFix if error exists.

augroup js_enable_quickfix
  autocmd!
  function! s:js_quickfix()
    " Clear QuickFix.
    call setqflist([], 'r')
    call frontier#eslint#run('a')
    " Run realtime check.
    call flood#check_contents#run('a')
  endfunction

  function! s:frontier_after(...)
    if len(getqflist()) > 0
      cwindow
    endif
  endfunction

  autocmd BufWritePost *.js,*.jsx silent! call s:js_quickfix()
augroup END

Realtime check

Run eslint, flow, update QuickFixStatus and Vim-Hier.

augroup js_enable_quickfix
  autocmd!
  function! s:js_quickfix()
    " Clear QuickFix.
    call setqflist([], 'r')
    call frontier#eslint#run('a')
    " Run realtime check.
    call flood#check_contents#run('a')
  endfunction

  function! s:frontier_after(...)
    execute ':QuickfixStatusEnable'
    execute ':HierUpdate'
  endfunction

  let g:frontier_callbacks = {}
  let g:frontier_callbacks['eslint'] = {
    \ 'after_run': function('s:frontier_after')
    \ }
  let g:flood_callbacks = {}
  let g:flood_callbacks['check_contents'] = {
    \ 'after_run': function('s:frontier_after')
    \ }

  autocmd BufWritePost *.js,*.jsx silent! call s:js_quickfix()
  autocmd InsertLeave *.js,*.jsx silent! call s:js_quickfix()
  autocmd TextChanged,TextChangedI *.js,*.jsx silent! call s:js_quickfix()
augroup END

Auto fix

Run eslint --fix at save buffer.

augroup js_enable_quickfix
  autocmd!
  function! s:js_quickfix()
    " Clear QuickFix.
    call setqflist([], 'r')
    " Auto fix.
    call frontier#eslint#fix()

    " Run realtime check.
    call flood#check_contents#run('a')
  endfunction

  autocmd BufWritePost *.js,*.jsx silent! call s:js_quickfix()
augroup END

Note

frontier#eslint#fix() only support BufWritePost.

eslint --fix overwrite file. frontier#eslint#fix() reload file silently after executed.

License

New BSD License

About

My frontend(JavaScript) Vim plugin packs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published