Skip to content

Instantly share code, notes, and snippets.

@rohinomiya
Created October 9, 2011 10:22
Show Gist options
  • Save rohinomiya/1273529 to your computer and use it in GitHub Desktop.
Save rohinomiya/1273529 to your computer and use it in GitHub Desktop.
"""
""" quickrun.vim
"""
" コンフィグを全クリア
let g:quickrun_config = {}
" 横分割をするようにする
let g:quickrun_config['*'] = {'split': ''}
" RSpec 対応
let g:quickrun_config['ruby.rspec'] = {'command': 'rspec'}
augroup RSpec
autocmd!
autocmd BufWinEnter,BufNewFile *_spec.rb set filetype=ruby.rspec
augroup END
" :QuickRun -outputter my_outputter
" プロセスの実行中は、buffer に出力し、
" プロセスが終了したら、quickfix へ出力を行う
" http://d.hatena.ne.jp/osyo-manga/20110729/1311934261
" http://d.hatena.ne.jp/osyo-manga/20110921/1316605254
" 既存の outputter をコピーして拡張
let my_outputter = quickrun#outputter#multi#new()
let my_outputter.config.targets = ["buffer", "quickfix"]
function! my_outputter.init(session)
" quickfix を閉じる
:cclose
" 元の処理を呼び出す
call call(quickrun#outputter#multi#new().init, [a:session], self)
endfunction
function! my_outputter.finish(session)
call call(quickrun#outputter#multi#new().finish, [a:session], self)
" 出力バッファの削除
bwipeout [quickrun
" vim-hier を使用している場合は、ハイライトを更新
:HierUpdate
" quickfix への出力後に quickfixstatus を有効に
:QuickfixStatusEnable
endfunction
" quickrun に outputter を登録
call quickrun#register_outputter("my_outputter", my_outputter)
" <leader>r を再定義
nmap <silent> <leader>r :QuickRun -outputter my_outputter<CR>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment