vim-sencha-util アップデート()

前回の最後に追加したい機能をメモっていましたが、とりあえず実装したのでメモです。

追加した機能

カレント行に定義されているクラス名を引っこ抜いて、クラス名とクラスファイルパスのマッピングをして新しいタブでそのクラスファイルを開く

ということで、実際に動いてるのを見てみる

動作例

一応それっぽく動いてるように見えますけど色々残念です。

追加メソッド

下記メソッドが追加されてるので適当にキーMapに登録しておいてください

:SenchaMapping

挙動

上記サンプルまんまですが、カレント行に定義されているクラス名を引っこ抜いて、該当クラスファイルを検索してファイルがあれば新しいタブで開きます

  • :SenchaMapping実行
  • カレントファイルを起点に .sencha ディレクトリが見つかるまで、親ディレクトリを再帰検索
  • .sencha ディレクトリが見つかった場所をプロジェクトルートに設定
    • 見つからない場合はココで終了
  • SenchaMappingを実行した行にあるクラス名を取得
  • プロジェクトルートを起点にクラス名をファイルパスに変換
    • Extext/src
    • それ以外は ./app
  • 変換したファイルパスにファイルが存在すればファイルを開く

制約事項

本来ならプロジェクトルートを見つけた時点で、設定ファイルからもっとちゃんとしたマッピング情報を取得しようとしたんですけど、vimの正規表現がよく分からずすっ飛ばした。

そのおかげで、各クラスファイルのパス変換もマッピングディレクトリ固定値になっているので、色々とお気をつけください。

多分近いうちに直します(多分)