Shougo / context_filetype.vim

Context filetype library for Vim script
Other
160 stars 20 forks source link

context_filetype#get() の改善案 #5

Closed osyo-manga closed 11 years ago

osyo-manga commented 11 years ago

現在(branch/precious)、コンテキストのデータを取得する関数として

を使用する事ができます。

で、この2つの関数なのですが場合によってはcontext_filetype#get()context_filetype#get_range()を同時に呼び出すこともあると思います。 しかし、この場合、2つの関数の内部で殆ど同じ処理を行なっているので処理が重複してしまい無駄が発生します。 そこで次のような関数に変更するのはどうでしょうか。

context_filetype#get_range()context_filetype#get_filetype()context_filetype#get()のラッパー関数です。 context_filetype#get()が返す内容は下記のようなフォーマットを考えています。

{
    "filetype" : "vim",
    "range" : [[3, 2], [10, 2]]
}

" もうちょっと細かく分割するのもあり?
" {
"   "filetype" : "vim",
"   "range" : {
"       "start" : [3, 2],
"       "end"   : [10, 2]
"   }
" }

片方のデータが欲しい場合は context_filetype#get_range()context_filetype#get_filetype()を使用し、両方(全て)のデータが欲しい場合はcontext_filetype#get()を使用します。

こんな感じに変更するのはどうでしょうか。 (あとこれを考えて思ったんですが、プラグイン名はcontext_filetypeよりもcontextの方がすっきりするんじゃないかと思いました。context#get_filetype()context#get_range()

Shougo commented 11 years ago

片方のデータが欲しい場合は context_filetype#get_range() や context_filetype#get_filetype()を使用し、両方(全て)のデータが欲しい場合はcontext_filetype#get()を使用します。

context_filetype.vimに依存したプラグインはまだ存在していないので、仕様を変更するのはOKです。

(あとこれを考えて思ったんですが、プラグイン名はcontext_filetypeよりもcontextの方がすっきりするんじゃないかと思いました。context#get_filetype()、context#get_range()

いや、それはやめたほうがよいでしょう。contextだと名前が重複する恐れがありますし、名前を見て何をするプラグインかわかりづらいです。

osyo-manga commented 11 years ago

context_filetype.vimに依存したプラグインはまだ存在していないので、仕様を変更するのはOKです。

逆にいうとここら辺は今のうちに仕様を固めておきたいですね。 ひとまずこの3つの関数に分けて進めて行こうかと思いますが大丈夫でしょうか。 引数とか戻り値とかそこら辺の細かい仕様に関する意見があれば教えて下さい。

いや、それはやめたほうがよいでしょう。contextだと名前が重複する恐れがありますし、名前を見て何をするプラグインかわかりづらいです。

これに関してはそのとおりなのでノーツッコミで(自分の作ったプラグインをみつつ。

Shougo commented 11 years ago

逆にいうとここら辺は今のうちに仕様を固めておきたいですね。 ひとまずこの3つの関数に分けて進めて行こうかと思いますが大丈夫でしょうか。 引数とか戻り値とかそこら辺の細かい仕様に関する意見があれば教えて下さい。

分かりました。

osyo-manga commented 11 years ago

ひとまず、3つの関数に分けるのは問題無さそうなのでこの issues は閉じてしまいます。