:QuickRun 時に cmdopt を追加する hook
quickrun では config に cmdopt でコマンドオプションを設定することができます。
しかし、それとは別に :QuickRun 時にコマンドオプションを追加したい場合があります。
既存の機能では
:QuickRun -cmdopt {オプション}
のように :QuickRun 時にコマンドオプションを設定することができます。
ですが、この場合 g:quickrun_config に設定されている cmdopt が上書きされてしまい、オプションを追加したい場合には適切ではなありません。
と、いうことで cmdopt にオプションを追加する hook を書いてみました。
[ソース]
let s:hook = { \ "name" : "add_cmdopt", \ "kind" : "hook", \ "config" : { \ "enable" : 1, \ "option" : "", \ } \} function! s:hook.on_hook_loaded(session, context) if self.config.enable && has_key(a:session.config, "cmdopt") let a:session.config.cmdopt .= " ".self.config.option endif endfunction call quickrun#module#register(s:hook, 1) unlet s:hook " QuickRun cpp/g++ -hook/add_cmdopt/option "-std=gnu++0x -Wall"
cmdopt じゃなくて各 config に追加する hook を書いたほうが汎用性がありそうな気がする。