unite-zf.vim と unite-sf2.vim

GitHub - heavenshell/unite-zf: A unite.vim plugin for Zend Framework
GitHub - heavenshell/unite-sf2: A unite.vim plugin for Symfony2
(unite-railsunite-cakeパク参考にしました)


unite.vimプラグインZend Framework と Symfony2 関連のファイルを表示する。
rails と cake があるのなら、Zend Framework も出来そうだったので作ってみた。
# Zend Framework が出来たらついでに Smyfony2 も作った
# 基本動作は同じ


アプリケーションのディレクトリに行き以下のコマンドを実行する。

:Unite zf/
:Unite zf/application
:Unite zf/configs
:Unite zf/controllers
:Unite zf/filters
:Unite zf/forms
:Unite zf/helpers
:Unite zf/layouts
:Unite zf/models
:Unite zf/modules
:Unite zf/plugins
:Unite zf/services
:Unite zf/tests
:Unite zf/views

application は app でも使えるようにした。
また locales と resources というディレクトリがある場合は追加で表示する。
# /path/to/app/resources でもいいし、/path/to/resouces (app と同階層)でも表示する。


Symfon2

:Unite sf2/
:Unite sf2/app
:Unite sf2/app/config
:Unite sf2/bundles
:Unite sf2/app/views
:Unite sf2/web

src の下に Bundle 単位であるけど、これが動的に変わるので実装がめんどかったので、現状 Bundle 名しか表示しない。


え?コマンド?使えません…。


追記(2010/05/28 22:40)
Bundle の中のも設定できるようにした。
.vimrc にこんな感じで書くと、Bundle の中の Controller やら Entity も使える。

let g:unite_source_sf2_bundles = {
      \ 'FooBundle': 'FooBundle',
      \ 'BarBundle': 'BarBundle',
      \ 'AcmeDemoBundle': 'Acme/DemoBundle'.
    \ }

この場合 :Unite sf2/{FooBundle, BarBundle, AcmeDemoBundle}/Controller みたいな感じになる。

nnoremap <silent> [unite]c :<C-u>Unite -buffer-name=sf2 sf2/DemoBundle/Controller<CR>

モディファイアキーと "c" で立ち上がる。
って書いておいて思ったけど .vimrc に一々キーマップ書かないといかんな。
どないしたもんか…。
Vim script 力が弱すぎて良い対処方法が思いつかない。