aboutsummaryrefslogtreecommitdiffstats
path: root/autoload/xolox/misc/complete.vim
blob: 763e0b917dd856a841ade2b0888b24a253bb4d84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
" Tab completion for user defined commands.
"
" Author: Peter Odding <peter@peterodding.com>
" Last Change: May 19, 2013
" URL: http://peterodding.com/code/vim/misc/

function! xolox#misc#complete#keywords(arglead, cmdline, cursorpos)
  " This function can be used to perform keyword completion for user defined
  " Vim commands based on the contents of the current buffer. Here's an
  " example of how you would use it:
  "
  "     :command -nargs=* -complete=customlist,xolox#misc#complete#keywords MyCmd call s:MyCmd(<f-args>)
  let words = {}
  for line in getline(1, '$')
    for word in split(line, '\W\+')
      let words[word] = 1
    endfor
  endfor
  return sort(keys(filter(words, 'v:key =~# a:arglead')))
endfunction

" vim: ts=2 sw=2 et