Skip to content

Commit

Permalink
Always scan C sources for prototypes
Browse files Browse the repository at this point in the history
Dynamic highlighting supports C/C++ function prototypes to enable
highlighting of library functions based on just the headers, but until
now the easytags.vim plug-in didn't request ctags to include function
prototypes. Now it does so automatically.
  • Loading branch information
xolox committed Aug 11, 2010
1 parent 2f73c57 commit 7b041bd
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 20 deletions.
25 changes: 7 additions & 18 deletions TODO.md
Expand Up @@ -2,20 +2,15 @@

* Automatically index C headers when /usr/include/$name.h exists?

* Integration with my unreleased project plug-in so that when you edit any
file in a project, all related files are automatically scanned for tags?
* It seems that Exuberant Ctags doesn't support Objective-C which makes the file type mapping between C and Objective-C useless. Maybe the plug-in should just treat Objective-C source code as C?

* Use separate tags files for each language stored in ~/.vim/tags/ to increase
performance because a single, global tags file quickly grows to a megabyte?
* Integration with my unreleased project plug-in so that when you edit any file in a project, all related files are automatically scanned for tags?

* On Microsoft Windows (tested on XP) GVim loses focus while `ctags` is
running because Vim opens a command prompt window. Also the CursorHold event
seems to fire repeatedly, contradicting my understanding of the autocmd and
its behavior on UNIX?!
* Use separate tags files for each language stored in ~/.vim/tags/ to increase performance because a single, global tags file quickly grows to a megabyte?

* I might have found a bug in Vim: The tag `easytags#highlight_cmd` was
correctly being highlighted by my plug-in (and was indeed included in my
tags file) even though I couldn't jump to it using `Ctrl-]`, which caused:
* On Microsoft Windows (tested on XP) GVim loses focus while `ctags` is running because Vim opens a command prompt window. Also the CursorHold event seems to fire repeatedly, contradicting my understanding of the autocmd and its behavior on UNIX?!

* I might have found a bug in Vim: The tag `easytags#highlight_cmd` was correctly being highlighted by my plug-in (and was indeed included in my tags file) even though I couldn't jump to it using `Ctrl-]`, which caused:

E426: tag not found: easytags#highlight_cmd

Expand All @@ -26,12 +21,6 @@
\ 'name': 'easytags#highlight_cmd', 'language': 'Vim', 'kind': 'f',
\ 'filename': '/home/peter/Development/Vim/vim-easytags/autoload.vim'}]

It just works?! Some relevant context:
I was editing `~/.vim/plugin/easytags.vim` at the time (a symbolic link to
`~/Development/Vim/vim-easytags/easytags.vim`) and wanted to jump to the
definition of the function `easytags#highlight_cmd` in
`~/.vim/autoload/easytags.vim` (a symbolic link to
`~/Development/Vim/vim-easytags/autoload.vim`). I was already editing
`~/.vim/autoload/easytags.vim` in another Vim buffer.
It just works?! Some relevant context: I was editing `~/.vim/plugin/easytags.vim` at the time (a symbolic link to `~/Development/Vim/vim-easytags/easytags.vim`) and wanted to jump to the definition of the function `easytags#highlight_cmd` in `~/.vim/autoload/easytags.vim` (a symbolic link to `~/Development/Vim/vim-easytags/autoload.vim`). I was already editing `~/.vim/autoload/easytags.vim` in another Vim buffer.

vim: ai nofen
2 changes: 1 addition & 1 deletion autoload.vim
Expand Up @@ -91,7 +91,7 @@ function! s:check_cfile(silent, filter_tags, have_args) " {{{3
endfunction

function! s:prep_cmdline(cfile, tagsfile, firstrun, arguments) " {{{3
let cmdline = [g:easytags_cmd, '--fields=+l']
let cmdline = [g:easytags_cmd, '--fields=+l', '--c-kinds=+p', '--c++-kinds=+p']
if a:firstrun
call add(cmdline, shellescape('-f' . a:tagsfile))
call add(cmdline, '--sort=' . (&ic ? 'foldcase' : 'yes'))
Expand Down
2 changes: 1 addition & 1 deletion easytags.vim
Expand Up @@ -4,7 +4,7 @@
" URL: http://peterodding.com/code/vim/easytags/
" Requires: Exuberant Ctags (http://ctags.sf.net)
" License: MIT
" Version: 2.1.2
" Version: 2.1.3

" Support for automatic update using the GLVS plug-in.
" GetLatestVimScripts: 3114 1 :AutoInstall: easytags.zip
Expand Down

0 comments on commit 7b041bd

Please sign in to comment.