views:

346

answers:

5

I am writing eclipse plugin to add better support for properties files. One of the missing piece is content-assist ... I'd like to show matching properties keys when user starts typing some string and presses content assist key.

For example, when I have property hello = world in one of my properties files, and I start typing format("hel and hit CTRL+SPACE now, I'd like to see available hello property.

My problem is that I cannot find correct extension point to provide custom content assist processor. How can I provide my own content assist processor for text files? I'd like to make it work mainly in Java, JSP and XML files.

+1  A: 

If properties files can follow an EBNF grammar, then you could give Eclipse Xtext a shot

Xtext is a framework for development of textual domain specific languages (DSLs).
Just describe your very own DSL using Xtext's simple EBNF grammar language and the generator will create a parser, an AST-meta model (implemented in EMF) as well as a full-featured Eclipse text editor from that.

alt text

The Framework integrates with technology from Eclipse Modeling such as EMF, GMF, M2T and parts of EMFT.
Development with Xtext is optimized for short turn-arounds, so that adding new features to an existing DSL is a matter of minutes. Still sophisticated programming languages can be implemented.


Otherwise, you can find some example of content assist in this thread, or this one (JSDT -- JavaScript)

VonC
Thank you for answer. My question may not be clear, since this is not what I am looking for. Properties files are not described by grammar, but specified in javadoc for Properties.load() method (http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html#load%28java.io.InputStream%29). Two threads you reference are specific for WTP/DLTK. I am looking for generic content-assist extension point which would work with most text-editors. Those referenced threads may indicate that content-assist processors are always specific for given editor type, which would not be good :-(
Peter Štibraný
A: 

Looks like IContentProposalProvider may be what I am looking for, but still no extension point.

Peter Štibraný
+1  A: 

I've looked for such an extension point before with no success. As far as I know it's not possible to add new types of content assist to editors in Eclipse in this way.

David Green
Thank you very much David. You confirm my own failure to find such extension point. As far as I understand, I can only add content-assist helpers for specific editors, which have own extension points (some of them ... it seems that e.g. Java editor has such ability). Fortunately for me, Java editor and JSP editor are what I am mostly interested.
Peter Štibraný
A: 

See this: http://www.vogella.de/articles/RichClientPlatform/article.html#fieldassist

This is not extension based solution, but may still benefit you.

nanda
Thanks, but this is only useful when adding content-assist to your own editors. I want to contribute content assist to existing editors created by other plugins.
Peter Štibraný
A: 

Have a look at

http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.wst.doc.isv/html/plugin_descriptions_WST/wst.html

for ideas for the wst xml editor and potentially other types of editors

Dayo Adetoye