scriptencoding UTF-8

" ============================================================================
" EasyClip ring
" Requires vim-easyclip installed
" Press <Leader>cr to get a pop-up menu to select a yank
" ============================================================================

function! YanksToArray()
  let yanks_array = []

  for yank in EasyClip#Yank#EasyClipGetAllYanks()
      let line = yank.text
      let line = substitute(line, '\V\n', '^M', 'g')

      if len(line) > 40
          let line = line[: 40] . '…'
      endif

      call add(yanks_array, line)
  endfor

  return yanks_array
endfunction

function! EasyClipYankPum()
  call complete(col('.'), YanksToArray())
  return ''
endfunc

" key binding
inoremap <Leader>cr <C-R>=EasyClipYankPum()<CR>