More v.2 ideas (they seem to be getting longer but this is the last one, I promise :/):
I've wanted for a while to be able to write QS actions in Ruby or straight shell scripting. I understand it's a little tricky to handle files/other types correctly, but it'd be okay with me if QS made you jump through hoops. Here's a skeleton API idea:
So that's for shell. Totally just a skeleton, feel free to change. For AppleScript it's a lot easier—I'd like to see two things:
on get argument count
tell application "Quicksilver"
tell application "Quicksilver" to run action "Name" with object <obj> [indirect object <obj>]
qs (filename) --action (action name) [--indirect (text-or-file)]
For either shell or AS actions, it's up to the developer to know what the type prefixes are and what kind of hierarchy they're in (i.e. if I ask for QSText, I may get QSEmailAddress or QSURL, named as such). This would need to be documented somewhere but I don't think there's all that much. I could probably write a Ruby gem to handle the parsing automatically, that'd be a neat project.
Again, sorry for the feature-request spam—I totally understand if none of this gets implemented anytime soon. One of these days I may get around to learning Objective-C and helping out myself, too...
What's the issue with running these scripts from an AppleScript?
If you can get all the arguments you need into the AppleScript, (and define the types the action runs on, which will be added soon) is that not enough?
I'm going to close this for now as a "won't fix", since with #1048, AppleScript actions are now much more mature, and it'd be hard/unrealistic for us to implement another method.
For the 2nd half of your issue (relating to AS), most of those things have now been added.
The limitations still present are:
tell application Quicksilver to do action "action"
Feel free to comment/reopen. I'm just stating that the AS API is much improved (please test out #1048 if know how to build QS) and it's unlikely any of the current developers will implement this.
That's the beauty of Open Source... ;-)
Is what you can "tell" QuickSIlver documented somewhere? I'm assuming there is at least a way to tell it to open a file/string/URL (and then prompt the user for the action). That would be useful in general, but also for cascading AppleScripts (like the Move action opens the moved object for further action).
You can see the what 'handlers' exist in the wiki.
I'll add a section on 'returning' items to Quicksilver. At the moment you can only return strings (which Quicksilver will then inspect and potentially turn into a file/URL/string/email address etc).
The only issue with running shell scripts through AppleScript is speed—when run from the command line, at least, AppleScripts take far longer to start up than a shell/Ruby/Python interpreter. This may not be an issue if they're run through Scripting Bridge in an already-running app. In any case, since I wrote the above I have a shiny new computer and haven't noticed any issues with AS actions, so yes, it's fine to close the first half.
As for the AS improvements: THANK YOU THANK YOU THANK YOU, they look amazing.
Regarding "do action", I'm okay with having the action IDs exposed to the "user"—the users in this case are basically developers, and IMO it's better to have the feature even if it's a little ugly. Just link to that file from a page on the wiki so people can find the appropriate keys and I'm happy :). But if it's a lot of trouble to implement, it can certainly wait for a later release.