On 09/02/09 06:38, Garrett Whelan wrote:
>
>
> On Sun, Feb 8, 2009 at 9:13 PM, Matt Wozniski <[email protected]
> <mailto:[email protected]>> wrote:
>
>
> On Sun, Feb 8, 2009 at 11:40 PM, Garrett Whelan <[email protected]
> <mailto:[email protected]>> wrote:
> > I would like to be able to access all the variables at a given
> time in Vim
> > without necessarily knowing what they are. Basically everything
> you would
> > see if you typed :let and :set. So in increasing order of difficulty
>
> There's no easy way to get all options, afaik. All variables, though,
> isn't too tough: you can treat the scopes as a dictionary keyed by
> names of values in that scope. So, for example:
>
> for [var, val] in items(g:)
> echo "Global variable \"" . var . "\" is \"" . val "\""
> " The type might change, so we unlet it before it's assigned again
> unlet val
> endfor
>
> > Is there a way to redirect the output from :let and :set? It
> would be pretty
> > simple to parse that up, but I can't figure it out.
>
> Yes. :help :redir - but, again, probably not what you want to do.
>
>
> Perfect. Either of those should be able to get me what I want(with a
> little massaging). And I had no idea that each scope was just a
> dictionary, genius.
>
>
> > Is there a way to call functions in the Vim code from VimL? Browsing
> > through the source I see list_hashtable_vars seems to have the
> info I need.
> > Is there a way to access the actual C data structures from VimL?
> If I could
> > read the various hashtables myself I could do what I needed.
>
> No... those would be awfully strange features for a scripting
> language...
>
>
> For a pure scripting language I'd agree, but this is a scripting
> language in an environment. Allowing direct access to core
> functions/variables allows huge flexibility /without having to recompile
> the code/.
>
> When using UnrealScipt you can even extend classes from the Unreal Engine.
Well, in Vim you can define new (vimscript) functions, new ex-commands,
new variables, new keybindings, ...
Best regards,
Tony.
--
ROBIN: (warily) And if you get a question wrong?
ARTHUR: You are cast into the Gorge of Eternal Peril.
ROBIN: Oh ... wacho!
"Monty Python and the Holy Grail" PYTHON (MONTY)
PICTURES LTD
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---