-" Exuberant Ctags creator
-" Maintainer: Sergey Matveev <stargrave@stargrave.org>
-" License: GNU General Public License version 3 of the License or later
-"
-" Create "tags" file in your project's root first.
-" Then :Ctags LANG to fill it.
-
-function! s:ctags(lang, onlyCmd, verbose)
- let dst = tagfiles()[0]
- let src = "/" . join(split(dst, "/")[:-2], "/")
- if dst[0] != "/"
- let dst = getcwd() . "/tags"
- let src = getcwd()
- endif
- let cmdline = [
- \'uctags',
- \'--languages=' . a:lang,
- \'--kind-python=-i',
- \'--kind-c++=+p',
- \'--recurse',
- \]
- if a:verbose == v:true | let cmdline += ['--verbose'] | endif
- let cmdline += ['-f', dst, src]
- if a:onlyCmd == v:true
- echo join(cmdline, " ")
- return
- endif
- execute "!" . join(cmdline, " ")
- if a:verbose != v:true | redraw! | endif
-endfunction
-
-command! -nargs=1 Ctags silent call s:ctags(<f-args>, v:false, v:false)
-command! -nargs=1 Ctagsv silent call s:ctags(<f-args>, v:true, v:false)
-command! -nargs=1 Ctagscmd call s:ctags(<f-args>, v:true, v:true)
+if exists("*ctags#do") | finish | endif
+command! -nargs=1 Ctags silent call ctags#do(<f-args>, v:false, v:false)
+command! -nargs=1 Ctagsv silent call ctags#do(<f-args>, v:true, v:false)
+command! -nargs=1 Ctagscmd call ctags#do(<f-args>, v:true, v:true)