読者です 読者をやめる 読者になる 読者になる

neosnippet#expandable() の仕様が変わってた

vim

最近 neosnippet.vim で展開したあとうまくジャンプできなくて、あれーと思って調べたら neosnippet#expandable() の仕様が変わってた。
以前はジャンプできるかのチェックも内部で行われて、数値で状態のチェックができたのだけど、純粋に展開可能かどうかだけしか見なくなった。
なので、今まで以下のように書いていた部分は

neosnippet#expandable()

のようにすると良い。

" map に直接書く場合
neosnippet#expandable() <Bar><Bar> neosnippet#jumpable()
" map で関数を呼んでその中で判定する場合
neosnippet#expandable() || neosnippet#jumpable()

help に書いてあるのを転載すると以下のような感じ。

imap <expr><C-l>
\ neosnippet#expandable() || neosnippet#jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)" : "\<C-n>"

ちょっと長くなっちゃうけど、関数名を考えると機能は妥当になった感じ。ただ、突然だったので知らないと焦るね。



追記:
help に書いてあるサンプルコードですが、このままだと動かないです。以下のようにすると動く。

imap <expr><C-l>
\ neosnippet#expandable() <Bar><Bar> neosnippet#jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)" : "\<C-n>"

help の方はそのうち修正されるはず。