[TxMt] symbol selector definition

Charilaos Skiadas cskiadas at uchicago.edu
Thu Dec 1 00:33:16 UTC 2005


On Nov 30, 2005, at 3:54 PM, Jamal Johnson wrote:

> i've taken a look and to be honest i'm terrible with regexp's and  
> could use some help. i'm trying to define a way to see objects in a  
> certain format in my JS files:
>
> var CustomObject = Class.create();
> CustomObject.prototype = Object.extend( (new ViewObject()), {
>     member1 : true,
>     member2 : "someString",
>     member3 : "anotherString",
>
>     someFunction : function(){
>         //doSomething
>     },
>
>    someOtherFunction : function(){
>
>    }
> };
>
> so then in the tmCodeBrowser i'd see something like:
>    Objects
>       - CustomObject
>          - member1
>          - member2
>          - member3
>          - someFunction
>          - someOtherFunction etc....
>
> something along those lines anyway. can one of you point me in a  
> starting direction for howto setup the .ctags.tmcodebrowser file to  
> do this for javascript files?
>
>

Try adding this to .ctags.tmcodebrowser

--langdef=javascript
--langmap=javascript:.js
--regex-javascript=/^(.*).prototype *= *(.*)/-\1/o,object/
--regex-javascript=/^[ \t]*(.*) *: (([^f]*)|(f[^u]*)|(fu[^n]*))[\t]* 
$/---var: \1/o,object/
--regex-javascript=/^[ \t]*(.*) *: *function/---fun: \1/o,object/

This might do something close to what you want. Just make sure to not  
ask TmCodeBrowser to sort things. With the simple regexp additions,  
you cannot recognize things in multiple lines, so there is no way of  
grouping the variable and function definitions with a particular  
object, this way at least visually they will be close to what you want.

I believe that if one really wants to, one can write a parser and add  
it to the ctags source code and recompile, that is provided that Gerd  
Knops provides you the source code, or is willing to add the parser  
ofr you. I am guessing someone out there has already written a parser  
for javascript that maybe does what you want it to better, but I  
wouldn't know anything about it.

I was under the impression that tmcodebrowser supported actionscript,  
which might be close to what you want, but I couldn't find it in  
the .ctags.tmcodebrowser format.

Haris



More information about the textmate mailing list