osyo-manga / vital-over

18 stars 3 forks source link

Add <Over>(buffer-complete-backward) mapping #91

Closed haya14busa closed 9 years ago

haya14busa commented 9 years ago
let s:cmdline = vital#of("vital").import("Over.Commandline")
let s:my = s:cmdline.make_standard("$ ")
call s:my.connect("BufferComplete")
call s:my.cnoremap("\<Tab>", "<Over>(buffer-complete)")
call s:my.cnoremap("\<S-Tab>", "<Over>(buffer-complete-backward)")
call s:my.start()

<Tab>/<S-Tab>とかで対応した補完のマッピングをしたい場合に, 補完用の逆方向に移動するマッピングがなかったので追加しました. BufferCompleteなのでデフォルトには存在しませんが, 補完時の挙動という意味では <S-Tab>と同様の挙動だと思います

osyo-manga commented 9 years ago

んーどうしようかな。この機能(キーマッピング)って Vim のコマンドラインにはないのでしたっけ。 (できれば BufferComplete に侵入しないような対応を考えたい。

osyo-manga commented 9 years ago

あと『逆方向に移動するマッピング』なら backward よりも prev とかの方があってるかなーと思いました(コナミ感。

osyo-manga commented 9 years ago

これ多分、<Over>(buffer-complete-next) (次の候補へ移動するマッピング)みたいなのも提供したよい気がしますね。

osyo-manga commented 9 years ago

んーどうしようかな。この機能(キーマッピング)って Vim のコマンドラインにはないのでしたっけ。

ああ、これが <S-Tab> か。

osyo-manga commented 9 years ago

これ、例えば補完以外で <S-Tab> を使いたい場合にツライ感じがするのですがどうでしょう。 (補完中以外で <S-Tab> を押しても <Over>(buffer-complete-backward) は意味がない。

osyo-manga commented 9 years ago

そこら辺を考えると『補完中のみ』に反応するキーマッピングが必要になってきますね。

osyo-manga commented 9 years ago

あ、あと機能追加などの提案は pull request する前に先に issues 建ててもらえると助かります。 先に方向性を決めてから(意思疎通してから)コード書いたほうがお互いに効率がよいと思うので。

osyo-manga commented 9 years ago

これ、例えば補完以外で を使いたい場合にツライ感じがするのですがどうでしょう。

ここら辺考えるなら <Over>(buffer-complete-backward) を用意するのではなくて直接 a:cmdline.is_input("\<S-Tab>", "Completion") する感じですかねぇ。

osyo-manga commented 9 years ago

あ、勘違いしてた <Over>(buffer-complete-backward) って補完を開始するトリガーにもなってたのか。

osyo-manga commented 9 years ago

まぁそれなら現行の処理でも問題ないかなぁ。

osyo-manga commented 9 years ago

とりあえず、問題なさそうなので doc も追加してもらえると助かります…!

haya14busa commented 9 years ago

あと『逆方向に移動するマッピング』なら backward よりも prev とかの方があってるかなーと思いました(コナミ感。

help的にもそうデスね...修正しますっ

(buffer-complete-next) (次の候補へ移動するマッピング)

<Over>(buffer-complete-next) == <Over>(buffer-complete) デスね

とりあえず、問題なさそうなので doc も追加してもらえると助かります…!

いまから書きます...!

あ、あと機能追加などの提案は pull request する前に先に issues 建ててもらえると助かります。 先に方向性を決めてから(意思疎通してから)コード書いたほうがお互いに効率がよいと思うので。

アー前にも似たようなこと言われた気がするのに申し訳ないです... あまり大きな機能じゃないしサクっとできちゃうやつは, ついつい書いてそのままプルリクしまってアレ

haya14busa commented 9 years ago

『補完中のみ』に反応するキーマッピング

Vimデフォルトにはこんな機能は無いけど, アレば便利という可能性はある...? というより, 後々buffer以外の補完機能が出来た場合, それらは同じキーで前後に移動したいかも まぁ個人的にはそれぞれの補完のトリガーキーと<Left> and <Right> で十分感もある

haya14busa commented 9 years ago

rename & doc 書きましたっ

osyo-manga commented 9 years ago

あまり大きな機能じゃないしサクっとできちゃうやつは, ついつい書いてそのままプルリクしまってアレ

ここら辺難しいんですよね…。 issues いちいち書くのはめんどいけど、大きな機能じゃないと思っても思わぬ方向に話が広がったりとか…。 (今回もわたしが勘違いしてただけで結果だけみれば issues 建てるかどうかは微妙感

rename & doc 書きましたっ

ありがとうございまっ

Vimデフォルトにはこんな機能は無いけど, アレば便利という可能性はある...?

便利そうだけど実装めんどそう…。

osyo-manga commented 9 years ago

マッジしました。ありがとうございます。

haya14busa commented 9 years ago

マッジ, ありがとうございましたっ issueはとりあえずは議論が必要そうだなーと思ったら先にissue開くように気をつけようとおもいます