aboutsummaryrefslogtreecommitdiffstats
path: root/TODO.md
blob: 4bc7b19120db38e1e1a9ccad2fa2401bb750fa3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Long term plans

 * 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?

 * 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?

 * 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

   But immediately after that error if I do:

    :echo taglist('easytags#highlight_cmd')
    [{'cmd': '/^function! easytags#highlight_cmd() " {{{1$/', 'static': 0,
    \ '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.

 * Convert `easytags#update_cmd()` to a function that can be executed on a
   list of files and will only execute Exuberant Ctags once to do so, then
   change `:UpdateTags` to accept an optional file glob, e.g. `:UpdateTags
   /usr/include/lua5.1/*.h` and call `easytags#update_cmd()` on the matching
   files.

vim: ai nofen