diff --git a/scide_scnvim/Classes/SCNvim.sc b/scide_scnvim/Classes/SCNvim.sc index d0b8ad37..f91f0a4b 100644 --- a/scide_scnvim/Classes/SCNvim.sc +++ b/scide_scnvim/Classes/SCNvim.sc @@ -145,9 +145,15 @@ SCNvim { Class.allClasses.do {arg klass; var className, argList, signature; + var currClass = klass; if (klass.asString.beginsWith("Meta_").not) { + // get methods from superclass for derived classes + // TODO: does this catch all the classes we need? + while ({currClass.class.methods.isNil}, { + currClass = currClass.superclass; + }); // collect all creation methods - klass.class.methods.do {arg meth; + currClass.class.methods.do {arg meth; var index, snippet; var snippetName; // classvars with getter/setters produces an error