David Fishburn wrote:
[...]
When variables are identified we strip off the scope:
let s:ignoreNextCursorMovedI = 0 ==> ignoreNextCursorMovedI Should the scope be left on ==> s:ignoreNextCursorMovedI

How are scopes handled in other languages?

Notice that varname (in a function) is the same as l:varname while varname (in a script, but outside of all functions) is the same as g:varname. Similarly, s:funcname is the same as <SID>funcname

If you identify scopes, should or shouldn't ctags qualify the non-global variables by their script (if script-local) or script and function (if function-local)? (I see you mention this in a further paragraph. If it's not too hard to program, it might be useful as an option.)

 And how to treat buffer- and window-local variables?



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?
[...]

When a script has

        :let var1 = var2

there is nothing there (maybe nothing in the script) which says whether the variable in question is a "simple" variable (Number/String), a List, or a Dictionary. Wouldn't it be a headbreaker to try to label all cases correctly?


Best regards,
Tony.

Reply via email to