Hello, everyone. I have written a more Xcode like completion extension for tm_dialog. My guess is that this is of interrest to more people than me. The code has not been commited yet, but I have made a screencast to show of some of the functionallity. [ http://mail.mac.se/joachimm/TextMateCodeCompletionEnhancements.mov ] , right now I am looking for suggestions for the programmatic and user interface.
what I have so far
"$DIALOG" -f -p '{suggestions = ({title = "foo";filterOn = "foo";},{title = "bar";filterOn = "bar";snippet = "(${1:hello}, ${2:again})";}); mutablePrefix = "fo"; staticPrefix = "";}
as you can see you need to populate an array called 'suggestions' with dicts with the keys 'title' and 'filterOn', the key 'snippet' is optional.
you also have to give the keys mutablePrefix which is the prefix when you launched the command. plus the optional staticPrefix which is handy when you are completing things that are multipart such as objective-c methods (it is not really necessary since filterOn does not have to have the same prefix as title).
Once the command is running it should work as follows.
* an alphanumeric key press appends to mutablePrefix, there by potentially limiting the list of candidates.
* a tab press inserts the longest common prefix among the candidates, this will ofcourse never limit the list in itself, but can quickly be followed up with a alphanumeric keypress, thereby saving lots of typing.
* a return inserts the current selection in the list, plus its snippet key if there is one.
* delete removes a char, if this moves the caret before the beginning of the search prefix the dialog goes away
* up/down moves in the list
* any other key closes the dialog and hands control back to TextMate.
What are your thought, am I missing something that could be useful for your language?
Thanks in advance.
Joachim MÃ¥rtensson