> -----Original Message-----
> From: David Fishburn [mailto:[EMAIL PROTECTED] 
> Sent: 13 October 2006 02:16
> To: vim@vim.org
> Subject: VimL and Exuberant tags - Suggestions please
> 
> 
> I have taken over maintenance of the VimL exuberant tags component.
> 

That's excellent news, thanks for doing it, new features are
needed.

...
> function autoloadFunc#subdirname#Funcname()
> endfunction
> 
> Support for this has been added to the next version of ctags 
> (possibly 5.7).
> 

Though I definitely do not like the autoload feature as implemented
(which is besides the point for ctags discussion) I think
this support is needed.

...
> These are the items ctags currently flags:
> "augroup",  "autocommand groups"
> "function", "function definitions"
> "variable", "variable definitions"
> 
> Does it make sense to also identify autocommands?
> Or possibly only autocommands if they are outside of an augroup?
> 

I think so. The good way could be to make it toggable
(is this english :-)?), choose what one wants to get out.

> 
> When variables are identified we strip off the scope:
>       let s:ignoreNextCursorMovedI = 0 ==> ignoreNextCursorMovedI 
> Should the scope be left on ==> s:ignoreNextCursorMovedI 
> 

This is hard, don't know. Both have their advantages and
disadvantages, maybe that depends what one needs at the
moment. I'd go for keeping the scope, though the prefix
itself isn't a guarantee (variable inside a function is local,
outside is global , that's without l: and g:, just as examples).

> 
> Instead of simply grouping everything under variables, should 
> we distinguish
> between different types?
> let forms#form = {
>       \ 'title': 'Address Entry Form',
>       \ 'fields': [],
>       \ 'defaultbutton': 'ok',
>       \ 'fieldMap': {},
>       \ 'hotkeyMap': {},
>       \ }
> 
> Right now this is identified as a variable, should we identify it as a
> Dictionary by adding another kind of tag?
> 

I vote yes.

> 
> What about identifying commands:
> command! -nargs=+ Select         :call s:DB_execSql("select " 
> . <q-args>)
> 

Most certainly.
> 
> What about [ion]maps (though we cannot give them a name 
> really, but at least
> identifying where they are in the source?
> 

Yes yes, I was already looking at the ctags code with this
idea in mind, I think this would be very useful.

> 
> We could also pick up local variables (have this off by 
> default) and produce
> something like this:
> function! s:DB_runCmd(cmd, sql)
>     let l:display_cmd_line = 'blah'
>     let display_shell = 'blah'
> endf
> 
> Local variables
> s:DB_runCmd.display_cmd_line
> s:DB_runCmd.display_shell
> 

If you can distinguish scopes, that's excellent!

...
> 
> At this point the sky is the limit, we can hash out details as we move
> forward.  Somethings might not be worth the effort.  

Clearly, your call.

---Zdenek

Reply via email to