Author: vrubezhny
Date: 2010-09-22 06:37:35 -0400 (Wed, 22 Sep 2010)
New Revision: 25081
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/FaceletsELCompletionProposalComputer.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java
Log:
JBIDE-7061 : Code completion for EL inserts unnecessary #{}
Issue is fixed
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/FaceletsELCompletionProposalComputer.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/FaceletsELCompletionProposalComputer.java 2010-09-22
08:42:53 UTC (rev 25080)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/FaceletsELCompletionProposalComputer.java 2010-09-22
10:37:35 UTC (rev 25081)
@@ -26,6 +26,7 @@
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest;
+import org.eclipse.wst.xml.ui.internal.contentassist.XMLRelevanceConstants;
import org.jboss.tools.common.el.core.ca.ELTextProposal;
import org.jboss.tools.common.el.core.resolver.ELContext;
import org.jboss.tools.common.text.TextProposal;
@@ -151,11 +152,11 @@
// Need to check if an EL Expression is opened here.
// If it is true we don't need to start any new tag proposals
TextRegion prefix = getELPrefix(contentAssistRequest);
- if (prefix != null && !prefix.isELStarted()) {
- return;
+ if (prefix != null && prefix.isELStarted()) {
+ addTextELProposals(contentAssistRequest, context);
+ } else {
+ addELPredicateProposals(contentAssistRequest, /*TextProposal.R_TAG_INSERTION*/
XMLRelevanceConstants.R_STRICTLY_VALID_TAG_INSERTION, true);
}
-
- addELPredicateProposals(contentAssistRequest, TextProposal.R_TAG_INSERTION, true);
}
@Override
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java 2010-09-22
08:42:53 UTC (rev 25080)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java 2010-09-22
10:37:35 UTC (rev 25081)
@@ -119,10 +119,10 @@
// If it is true we don't need to start any new tag proposals
TextRegion prefix = getELPrefix(contentAssistRequest);
if (prefix != null && prefix.isELStarted()) {
- return;
+ addTextELProposals(contentAssistRequest, context);
+ } else {
+ addELPredicateProposals(contentAssistRequest, TextProposal.R_TAG_INSERTION, true);
}
-
- addELPredicateProposals(contentAssistRequest, TextProposal.R_TAG_INSERTION, true);
}
@Override
@@ -839,8 +839,18 @@
if (matchString == null)
return null;
+ ELParser p = ELParserUtil.getJbossFactory().createParser();
+ ELModel model = p.parse(text);
+
+ ELInstance is = ELUtil.findInstance(model, inValueOffset);// ELInstance
+ ELInvocationExpression ie = ELUtil.findExpression(model, inValueOffset);//
ELExpression
+
+ boolean isELStarted = (model != null && is != null &&
(model.toString().startsWith("#{") || //$NON-NLS-1$
+ model.toString().startsWith("${"))); //$NON-NLS-1$
+ boolean isELClosed = (model != null && is != null &&
model.toString().endsWith("}")); //$NON-NLS-1$
+
TextRegion tr = new TextRegion(startOffset, getOffset() - matchString.length() -
startOffset,
- matchString.length(), matchString, false, false,
+ matchString.length(), matchString, isELStarted, isELClosed,
isAttributeValue, hasOpenQuote, hasCloseQuote, quoteChar);
return tr;
Show replies by date