[SVN] REQUEST: Scope Querying API

Charilaos Skiadas cskiadas at gmail.com
Tue Jan 8 16:13:58 UTC 2008


On Jan 8, 2008, at 10:47 AM, Thomas Aylott - subtleGradient wrote:

> On Jan 7, 2008, at 10:47 PM, Luke Daley wrote:
>> On 08/01/2008, at 10:54 AM, Alain O'Dea wrote:
>>
>>> I would like to be able to query the current file or other  
>>> project files for symbols based on scope. I would also like to be  
>>> able to query for symbols with a common instance of a parent scope.
>>>
>>> For illustrative purposes I will use JavaScript-like syntax and  
>>> JS DOM-like API:
>>>
>>> // get all atoms in the current document
>>> document.getSymbolsByScope("source.erlang meta.function.erlang  
>>> meta.structure.tuple.erlang constant.other.symbol.unquoted.erlang");
>>>
>>> // get all atoms in the current function
>>> currentFunction = currentScope.getAncestorByScope("source.erlang  
>>> meta.function.erlang");
>>> currentFunction.getSymbolsByScope("source.erlang  
>>> meta.function.erlang meta.structure.tuple.erlang  
>>> constant.other.symbol.unquoted.erlang");
>>>
>>> // get all functions in the current module
>>> document.getSymbolsByScope("source.erlang meta.function");
>>
>> +1 on all of that from me.
>>
>> Also, if you could find the closest something from the caret, that  
>> would be very handy.
>>
>> LD.
>
> Sounds wonderful.
> There's already a way to get the scoped out xml of the current file.
> Maybe there's already some kind of xml thing you can use to do it?
> Every language on earth parses xml. I'm sure something exists that  
> can be modified to do what you say.
>
> I would love to have something that was really easy to use though.
>
I had at some point created a "ScopeHandler" ruby class specifically  
for this purpose, it kind of works but is not very satisfactory, and  
pretty slow on even moderately sized documents. But someone might be  
inspired by it:

http://skiadas.dcostanet.net/afterthought/the-scopehandler-class/

It's not exactly what Alain describes above, but perhaps it might be  
used to get ideas. It would indeed be wonderful to have something  
like this out of the box.
>
> —Thomas Aylott – subtleGradient—

Haris Skiadas
Department of Mathematics and Computer Science
Hanover College







More information about the textmate-dev mailing list