1 package net.mograsim.plugin.asm.editor;
3 import org.eclipse.core.resources.IProjectNatureDescriptor;
4 import org.eclipse.core.resources.IWorkspace;
5 import org.eclipse.core.resources.ResourcesPlugin;
6 import org.eclipse.jface.text.IRegion;
7 import org.eclipse.jface.text.ITextHover;
8 import org.eclipse.jface.text.ITextViewer;
9 import org.eclipse.jface.text.Region;
11 public class AsmHoverProvider implements ITextHover
15 public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion)
17 // TODO this is logic for .project file to show nature description on hover.
18 // Replace with your language logic!
19 String contents = textViewer.getDocument().get();
20 int offset = hoverRegion.getOffset();
21 int endIndex = contents.indexOf("</nature>", offset);
24 int startIndex = contents.substring(0, offset).lastIndexOf("<nature>");
27 String selection = contents.substring(startIndex + "<nature>".length(), endIndex);
29 IWorkspace workspace = ResourcesPlugin.getWorkspace();
30 IProjectNatureDescriptor[] natureDescriptors = workspace.getNatureDescriptors();
31 for (int i = 0; i < natureDescriptors.length; i++)
33 if (natureDescriptors[i].getNatureId().equals(selection))
34 return natureDescriptors[i].getLabel();
40 public IRegion getHoverRegion(ITextViewer textViewer, int offset)
42 return new Region(offset, 0);