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
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui