On Tue, 9 Dec 2008 05:14:08 +0100 (CET) ioguix@free.fr wrote:
In a first step, when opening a brace (ie. ( { [ ), we could check if no closing brace already match it before auto-closing it. That what I tried to do in the attached patch.
BTW, you could use sci_find_matching_brace() instead of SSM().
In a second step, I think we could try to detect if we are already in a string before auto-closing quotes. Moreover, if we are indeed in a string we could auto-secape any quotes putted in. However, I think this should be configurable.
About these second step, I hadn't too much time to investigate the code, but:
- is it possible to actually know what is the current applied style ?
Yes, sci_get_style_at().
- can we really test if we are actually in a in string whatever the
current language style ?
Yes, but maybe not all filetypes are completely supported. See is_string_style() in editor.c.
- about the auto-escaping quotes, it would need some mechanism to
exactly know how the current language style is actually escaping them (obviously C or SQL doesn't escape string in the same way)
Not sure about this, could be awkward to maintain. But I suppose full filetypes support is not necessary.
Personally I think good bracket completion could be fairly involved, maybe it would be better as a plugin, not sure.
Regards, Nick