summaryrefslogtreecommitdiff
path: root/.vim/pack/plugins/start/vim-autotag/plugin/autotag.vim
diff options
context:
space:
mode:
Diffstat (limited to '.vim/pack/plugins/start/vim-autotag/plugin/autotag.vim')
-rwxr-xr-x.vim/pack/plugins/start/vim-autotag/plugin/autotag.vim39
1 files changed, 39 insertions, 0 deletions
diff --git a/.vim/pack/plugins/start/vim-autotag/plugin/autotag.vim b/.vim/pack/plugins/start/vim-autotag/plugin/autotag.vim
new file mode 100755
index 0000000..d09fff7
--- /dev/null
+++ b/.vim/pack/plugins/start/vim-autotag/plugin/autotag.vim
@@ -0,0 +1,39 @@
+"
+" (c) Craig Emery 2017-2022
+"
+" Increment the number below for a dynamic #include guard
+let s:autotag_vim_version=1
+
+if exists("g:autotag_vim_version_sourced")
+ if s:autotag_vim_version == g:autotag_vim_version_sourced
+ finish
+ endif
+endif
+
+let g:autotag_vim_version_sourced=s:autotag_vim_version
+
+" This file supplies automatic tag regeneration when saving files
+" There's a problem with ctags when run with -a (append)
+" ctags doesn't remove entries for the supplied source file that no longer exist
+" so this script (implemented in Python) finds a tags file for the file vim has
+" just saved, removes all entries for that source file and *then* runs ctags -a
+
+if !has("python3")
+ finish
+endif " !has("python3")
+
+function! AutoTagDebug()
+ new
+ file autotag_debug
+ setlocal buftype=nowrite
+ setlocal bufhidden=delete
+ setlocal noswapfile
+ normal 
+endfunction
+
+augroup autotag
+ au!
+ autocmd BufWritePost,FileWritePost * call autotag#Run ()
+augroup END
+
+" vim:shiftwidth=3:ts=3