+++ /dev/null
-" 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.
-
-function! ctags#do(lang, onlyCmd, verbose) abort
- 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