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

複数の言語を補完

前回erubyを書いているときにrubyしか補完候補に出てこないって書いていましたが,それを何とかしてみました.
syntax/eruby.vim - hijouguchiの日記

普段補完にはneocomplcacheを使ってるので,それを使った方法で解決しました.
以下の内容でafter/ftplugin/eruby.vimにというファイルを作成しました.

if !exists('g:neocomplcache_same_filetype_lists')
  let g:neocomplcache_same_filetype_lists = {}
endif

let ext2 = expand('%:r:e')

if ext2 == 'v'
  let g:neocomplcache_same_filetype_lists.eruby = 'ruby,verilog'
elseif ext2 == 'gp'
  let g:neocomplcache_same_filetype_lists.eruby = 'ruby,gnuplot'
elseif ext2 == 'sp'
  let g:neocomplcache_same_filetype_lists.eruby = 'ruby,spice'
endif

if empty(g:neocomplcache_same_filetype_lists)
  unlet g:neocomplcache_same_filetype_lists
endif

基本的には:help g:neocomplcache_same_filetype_listsの内容を参考にしています.
最後のempty()の部分は,filetypeが見つからなかったら設定を無かったことにしてます.

とりあえずはhoge.v.erbのようなファイルに対しては,verilogrubyにも補完候補が出てくるようになりました.
出来れば%で始まる行や<% %>の内部はrubyだけの,それ以外はverilogだけの補完候補が出てくれば最高なのですが,
これをやるにはプラグイン自体いじらないといけないような気がするのでやらないことにします.