howdy,
a while ago someone helped me setup the ctag stuff to work with the js syntax i use:
On 11/30/05, Charilaos Skiadas <
cskiadas@uchicago.edu> wrote:
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