Le 06/09/2012 20:58, Colomban Wendling a écrit :
> Hi guys,
> 
> I saw that the ruby parser don't properly generate tags declarations like:
> 
>       class Foo::Bar
>       end
> 
> which should generate a tag "Bar" with the scope "Foo";  but it
> generates a tag "Foo" and simply ignores "Bar".  This seems to apply to
> modules, classes and methods at least -- almost everything.
> 
> So I wanted to fix that.  Unfortunately the scoping code in CTags don't
> really support to easily put several scopes at the same "level", e.g. if
> you want to push several scope you gotta handle the popping yourself.
> And since there is one single block end, it's tricky to do.
> 
> Since I was way too lazy (and didn't even found a good implementation)
> to fix that, I just did it the dirty way: reading the whole "Foo::Bar"
> as a single tag name ("Foo.Bar") and tuning the code registering the tag
> to split this on the last ".", putting the left part (if any) in the
> scope.  Patch attached.

Ah, I forgot to mention that it'd be awesome if some true Ruby users
could test the patch and check whether it breaks anything I didn't see :)
_______________________________________________
Geany mailing list
Geany@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany

Reply via email to