usually what happens is that i end up feeling like i dont have a perfect grasp on the "right" way to add it in terms of user interface, and so end up putting off implementing it.
Yes, FARR mainly work with free form text and the difficult part came from that. Quicksilver UI is breaking the request in parts this make the comprehension easier for the software. I did like how FARR work anyways. Plain text is easier to copy and paste.
I read about half of the post from the two threads, I think that my idea is a bit different. I did use > as a separator, but I would give up the decision of that to the plugins.
The idea is use the plugin to emit alias that the user can use for autocompleting the request. Suppose I would like to make a plugin that would zip a list of files. The complete request would look something like : file1, file2, file3 > zipto > file.zip.
Here is how it could work :
I type 'fil', FARR propose me file1, file2, file3.
Hit TAB, FARR propose me file1(current result ), group and zip(more on zip later ). group can't be selected but can be autocomplete.
Hit TAB on group, FARR complete to "file,".
The plugin can decide that "file," is a pattern requiring to select more files and run a dosearch command to enable selecting some kind of file.
If its not enough discrimining, the group plugin could decide to autocomplete to [file], or %%file%%. There might be several kind of group available like group_with_comma, or group_with_comma_and_parenthesis. The issue here is that plugins may or may not recognize some kind of group pattern but I think a simple one with comma and a more complex but more discriminating should be enough for all uses. The simpler is better for deleting last selection with ctrl-tab ihmo.
Ok now you have file1, file2, file3 on your command line. group and zip option are available.
TAB on zip: now you have file1, file2, file3 > zip >
This pattern start a dosearch for the target file.
It could seem like a lot of work but the dosearch could actually handle most of the work. A group plugin will handle the first part, a zip plugin will use the group of file and a target search is a normal dosearch with modifier for selecting file only.
Everything could work only by notation convention. FARR need to start dosearch when asked and a way to complete that does not clear the command line. Does it make sense ? Could that work ?
Manu