supercollider / scvim

Vim plugin for SuperCollider
GNU General Public License v3.0
121 stars 28 forks source link

SCVim: SCfindArgs() doesn't work on classes with implicit .new-methods #45

Closed madskjeldgaard closed 5 years ago

madskjeldgaard commented 6 years ago

Hello !

Just a tiny bug: When using the SCfindArgs() command it works great on stuff where the method is explicit (SinOsc.ar for example) but it comes back with nothing when it's implcit (Pseq for example). Maybe it's a hard nut to crack but it would be a nice feature to have both work in the future.

Thanks !

capocasa commented 5 years ago

Works for me when there are no paranthesis

Pseq
`:call SCfindArgs()`
-> Pseq *new (list: nil, repeats: 1, offset: 0)

or an explicity new method

Pseq.new
`:call SCfindArgs()`
-> Pseq *new (list: nil, repeats: 1, offset: 0)

But not when there is an open paranthesis

Pseq(
`:call SCfindArgs()`
->

The latter works for SinOsc. You know, I'm tempted to pass the buck on this one.

sc3> Help.methodArgs("PSeq.new")
-> 
sc3> Help.methodArgs("Pseq.new")
-> Pseq *new (list: nil, repeats: 1, offset: 0)
sc3> Help.methodArgs("Pseq")
-> Pseq *new (list: nil, repeats: 1, offset: 0)
sc3> Help.methodArgs("Pseq(")

Same behavior when calling from sclang. Definitely passing the buck on this one. Would you be so kind as to open an issue at sclang regarding Help.methodArgs("Pseq(")? Thanks!!!