]> Sergey Matveev's repositories - dotfiles.git/blobdiff - vim/.vim/plugin/ctags.vim
Vim scripts refactoring
[dotfiles.git] / vim / .vim / plugin / ctags.vim
index 268b27e4ea67e55ba7c6275a7492b3dca51d3c24..644e50a7618fd4f6691213016f8e07039bfaf9de 100644 (file)
@@ -1,41 +1,4 @@
-" Universal 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.
-
-if exists('*<SID>Ctags') | finish | endif
-
-function! s:Ctags(lang, onlyCmd, verbose)
-    let dst = tagfiles()
-    if len(dst) == 0
-        echohl WarningMsg | echomsg "No tagfiles" | echohl None
-        return
-    endif
-    let dst = sort(dst, {a, b -> len(a) > len(b) ? 1 : len(a) == len(b) ? 0 : -1})[0]
-    let src = "/" . join(split(dst, "/")[:-3], "/")
-    if dst[0] != "/"
-        let dst = getcwd() . "/.tags/tags"
-        let src = getcwd()
-    endif
-    let cmdline = [
-        \"uctags",
-        \"--languages=" . a:lang,
-        \"--python-kinds=-i",
-        \"--c++-kinds=+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)