On 2013-03-25 19:00, Peter Geil wrote:
What do you mean exactly? Offering an API so that Dialog2 can be used from other applications, too?
No, I mean that currently TextMate uses its own lexer and parser to do syntax highlight, autocompletion and similar features. For example, the autocompletion is very simple, it just cycles through all symbols in the current file matching what the user has already typed.
Instead we could create an API which allows TextMate to call external libraries, think libclang, to get autocompletion and the syntax highlight. This would allow for a accurate autocompletion based on the current symbol. This would be implemented as a plugin for TextMate using a common API making it possible to add this for any language.
Example:
struct FooBar { int bar char* foo; };
FooBar f; int i = f.|
"|" would be the position of the cursor. When performing autocompletion here TextMate would call libclang, via some API, to the get autocompletion. The result would not contain all symbols in the file, instead it would only contain symbols that would be legal according to the current language and context. In this case "bar" and "foo". Or possibly only "bar" since "i" is declared as "int".
Other features that could take advantage of this is:
* Go to definition * Outline "view" * Show generate documentation