X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPTextHover.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPTextHover.java index 071cb9f..4851296 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPTextHover.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPTextHover.java @@ -11,19 +11,26 @@ Contributors: **********************************************************************/ package net.sourceforge.phpeclipse.phpeditor; +import java.util.HashMap; +import java.util.Vector; + import net.sourceforge.phpeclipse.phpeditor.php.PHPWordExtractor; -import org.eclipse.jface.text.BadLocationException; + import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.ITextHover; import org.eclipse.jface.text.ITextViewer; import org.eclipse.jface.text.Region; import org.eclipse.swt.graphics.Point; +import net.sourceforge.phpeclipse.phpeditor.php.PHPElement; + /** * Example implementation for an ITextHover * which hovers over PHP code. */ public class PHPTextHover implements ITextHover { + public static HashMap functionDescriptions = null; + private static PHPWordExtractor phpWordDetector = new PHPWordExtractor(); /* (non-Javadoc) * Method declared on ITextHover @@ -32,9 +39,30 @@ public class PHPTextHover implements ITextHover { if (hoverRegion != null) { try { if (hoverRegion.getLength() > -1) { - return textViewer.getDocument().get(hoverRegion.getOffset(), hoverRegion.getLength()); + String word = textViewer.getDocument().get(hoverRegion.getOffset(), hoverRegion.getLength()); + if (functionDescriptions == null) { + functionDescriptions = new HashMap(); + // PHPSyntaxRdr syntaxRdr = new PHPSyntaxRdr(); + // syntaxRdr.readInSyntax(); + + // Vector syntaxbuffer = syntaxRdr.getsyntaxdata(); + Vector syntaxbuffer = PHPSyntaxRdr.getsyntaxdata(); + String strbuffer = null; + PHPElement elbuffer = null; + while ((syntaxbuffer != null) + && (!syntaxbuffer.isEmpty() && ((elbuffer = (PHPElement) syntaxbuffer.remove(0)) != null))) { + functionDescriptions.put(elbuffer.getName(), elbuffer.getDescription()); + } + + // functionDescriptions = new HashMap(997); + // for (int i=0; i