[TxMt Plugins] Dialog API improvements
Chris Thomas
chris at cjack.com
Thu Sep 20 16:34:22 UTC 2007
On Sep 20, 2007, at 11:26 AM, Allan Odgaard wrote:
> On 20/09/2007, at 16:45, Allan Odgaard wrote:
>
>> [...]
>> The restructuring I am envisioning is to move to a command based
>> system so that the basic syntax is:
>> tm_dialog «command» [«options»]
>> [...]
>
> I should mention that another candidate is to use an object oriented
> approach, so we would have:
>
> tm_dialog create (window|menu|…)
>
> And later that object could be manipulated with other commands.
>
> Though given how only few of the commands follow the ‘create,
> manipulate, dispose’-cycle, it is probably not a good interface.
Reverse the order and it can be done without forcing other commands to
conform: "tm_dialog (window|menu) create". That's probably the most
flexible solution.
But, it might be better to use the former approach with different
verbs: "show" for synchronous and "create" for asynchronous.
"tm_dialog show menu", for example, makes perfect sense and allows the
"create" verb to be added later if there's ever a reason to manipulate
a menu asynchronously.
The implementation in the Dialog plugin would use the second argument
as a key for the command subclass, and then dispatch the command line
to the subclass. This has the side effect of possibly slightly
simplifying the implementation of "tm_dialog help <noun>".
Chris
More information about the textmate-plugins
mailing list