Eric Ludlam <address@hidden> writes:
In CEDET, the function / command `semantic-analyze-current-context' provides
an output that has lots of details about the buffer near point. Not just
what the cursor is on, but if it is a chain of symbols such as dereferencing
struct pointers, and in many cases, it figures out the data type of the
symbol the cursor is on. It also handles in-buffer caching, etc and plenty
of performance tweaking is available.
My preference is for each core feature to have an extremely simple and light
interface (taking indentation as an ideal), so that it can also be used for
non-IDE tasks we haven't imagined yet. From what I know about CEDET to date,
it is much more complex than this objective.
When I squint, I see ctags, imenu, pcomplete, helm, company, hippie-expand,
flycheck, and more, all starting to look somewhat alike: They each act upon
information relevant to the buffer in some way. Where they differ is in how
they derive this information, and how the user interacts with it. Can we
provide a common, low-level interface for this style of functionality? A
common API against which we can implement both data-gathering backends, and
display front-ends? And with an emphasis on efficiency and low-latency!